Skip to content

Instantly share code, notes, and snippets.

@mergwyn
Created February 4, 2024 08:44
Show Gist options
  • Save mergwyn/67f4955a1d68b85fbca8d26db94da5cf to your computer and use it in GitHub Desktop.
Save mergwyn/67f4955a1d68b85fbca8d26db94da5cf to your computer and use it in GitHub Desktop.
pvopt logfile 1
Collecting numpy==1.25
Downloading numpy-1.25.0-cp310-cp310-musllinux_1_1_x86_64.whl (17.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.4/17.4 MB 4.5 MB/s eta 0:00:00
Collecting pandas
Downloading pandas-2.2.0-cp310-cp310-musllinux_1_1_x86_64.whl (13.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.9/13.9 MB 17.5 MB/s eta 0:00:00
Collecting pvpy
Downloading pvpy-1.4.1a0-py3-none-any.whl (64 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.0/64.0 kB 18.2 MB/s eta 0:00:00
Collecting solis
Downloading solis-0.1.1-py3-none-any.whl (6.1 kB)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/site-packages (from pandas->-r /conf/requirements.txt (line 2)) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/site-packages (from pandas->-r /conf/requirements.txt (line 2)) (2023.3)
Collecting tzdata>=2022.7
Downloading tzdata-2023.4-py2.py3-none-any.whl (346 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 346.6/346.6 kB 17.8 MB/s eta 0:00:00
Collecting scipy
Downloading scipy-1.12.0-cp310-cp310-musllinux_1_1_x86_64.whl (38.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.6/38.6 MB 14.8 MB/s eta 0:00:00
Collecting asyncclick<9.0.0.0,>=8.1.3.4
Downloading asyncclick-8.1.7.1-py3-none-any.whl (99 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.2/99.2 kB 16.9 MB/s eta 0:00:00
Collecting click<9.0.0,>=8.1.3
Downloading click-8.1.7-py3-none-any.whl (97 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 18.3 MB/s eta 0:00:00
Collecting zem-pysolarmanv5<3.0.0,>=2.5.0rc2
Downloading zem_pysolarmanv5-2.5.0rc2-py3-none-any.whl (13 kB)
Collecting anyio
Downloading anyio-4.2.0-py3-none-any.whl (85 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.5/85.5 kB 17.2 MB/s eta 0:00:00
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas->-r /conf/requirements.txt (line 2)) (1.16.0)
Collecting umodbus
Downloading uModbus-1.0.4-py2.py3-none-any.whl (31 kB)
Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/site-packages (from anyio->asyncclick<9.0.0.0,>=8.1.3.4->solis->-r /conf/requirements.txt (line 4)) (3.4)
Collecting exceptiongroup>=1.0.2
Downloading exceptiongroup-1.2.0-py3-none-any.whl (16 kB)
Collecting sniffio>=1.1
Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting typing-extensions>=4.1
Downloading typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Collecting pyserial~=3.4
Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 17.1 MB/s eta 0:00:00
Installing collected packages: pyserial, umodbus, tzdata, typing-extensions, sniffio, numpy, exceptiongroup, click, zem-pysolarmanv5, scipy, pandas, anyio, pvpy, asyncclick, solis
Successfully installed anyio-4.2.0 asyncclick-8.1.7.1 click-8.1.7 exceptiongroup-1.2.0 numpy-1.25.0 pandas-2.2.0 pvpy-1.4.1a0 pyserial-3.5 scipy-1.12.0 sniffio-1.3.0 solis-0.1.1 typing-extensions-4.9.0 tzdata-2023.4 umodbus-1.0.4 zem-pysolarmanv5-2.5.0rc2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[notice] A new release of pip is available: 23.0.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
2024-02-04 08:04:09.827279 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2024-02-04 08:04:09.827379 INFO AppDaemon: Python version is 3.10.11
2024-02-04 08:04:09.827437 INFO AppDaemon: Configuration read from: /conf/appdaemon.yaml
2024-02-04 08:04:09.827504 INFO AppDaemon: Added log: AppDaemon
2024-02-04 08:04:09.827579 INFO AppDaemon: Added log: Error
2024-02-04 08:04:09.827648 INFO AppDaemon: Added log: Access
2024-02-04 08:04:09.827731 INFO AppDaemon: Added log: Diag
2024-02-04 08:04:09.845803 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2024-02-04 08:04:09.979549 INFO HASS: HASS Plugin Initializing
2024-02-04 08:04:09.980785 INFO HASS: HASS Plugin initialization complete
2024-02-04 08:04:09.981823 INFO AppDaemon: Loading Plugin MQTT using class MqttPlugin from module mqttplugin
2024-02-04 08:04:09.988531 INFO MQTT: MQTT Plugin Initializing
2024-02-04 08:04:09.989876 INFO MQTT: Using 'localad/status' as Will Topic
2024-02-04 08:04:09.990741 INFO MQTT: Using 'localad/status' as Birth Topic
2024-02-04 08:04:09.992177 INFO AppDaemon: Initializing HTTP
2024-02-04 08:04:09.992534 INFO AppDaemon: Using 'ws' for event stream
2024-02-04 08:04:09.994873 INFO AppDaemon: Starting API
2024-02-04 08:04:09.996553 INFO AppDaemon: Starting Admin Interface
2024-02-04 08:04:09.996775 INFO AppDaemon: Starting Dashboards
2024-02-04 08:04:10.002800 INFO HASS: Connected to Home Assistant 2024.1.6
2024-02-04 08:04:10.007127 INFO MQTT: Connected to Broker at URL mosquitto:1883
2024-02-04 08:04:10.025952 INFO HASS: Evaluating startup conditions
2024-02-04 08:04:10.035269 INFO AppDaemon: Got initial state from namespace mqtt
2024-02-04 08:04:10.035441 INFO MQTT: MQTT Plugin initialization complete
2024-02-04 08:04:10.036082 INFO HASS: Startup condition met: hass state=RUNNING
2024-02-04 08:04:10.036254 INFO HASS: All startup conditions met
2024-02-04 08:04:10.037477 INFO AppDaemon: App 'pv_opt' added
2024-02-04 08:04:10.037950 INFO AppDaemon: Found 1 active apps
2024-02-04 08:04:10.038123 INFO AppDaemon: Found 0 inactive apps
2024-02-04 08:04:10.038242 INFO AppDaemon: Found 2 global libraries
2024-02-04 08:04:10.038408 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
2024-02-04 08:04:10.038883 INFO AppDaemon: Running on port 5050
2024-02-04 08:04:10.050296 INFO AppDaemon: Got initial state from namespace default
2024-02-04 08:04:12.045145 INFO AppDaemon: Scheduler running in realtime
2024-02-04 08:04:12.051467 INFO AppDaemon: Adding /home-assistant/appdaemon/apps to module import path
2024-02-04 08:04:12.052878 INFO AppDaemon: Adding /home-assistant/appdaemon/apps/pv_opt to module import path
2024-02-04 08:04:12.054521 INFO AppDaemon: Adding /home-assistant/appdaemon/apps/pv_opt/config to module import path
2024-02-04 08:04:12.064089 INFO AppDaemon: Loading App Module: /home-assistant/appdaemon/apps/pv_opt/pv_opt.py
2024-02-04 08:04:12.284177 INFO AppDaemon: Loading Global Module: /home-assistant/appdaemon/apps/pv_opt/pvpy.py
2024-02-04 08:04:12.284684 WARNING AppDaemon: No app description found for: /home-assistant/appdaemon/apps/pv_opt/solis.py - ignoring
2024-02-04 08:04:12.285087 WARNING AppDaemon: Unable to find app solis in dependencies for pv_opt
2024-02-04 08:04:12.285226 WARNING AppDaemon: Ignoring app pv_opt
2024-02-04 08:04:12.285545 INFO AppDaemon: Loading app pv_opt using class PVOpt from module pv_opt
2024-02-04 08:04:12.286391 ERROR pv_opt: User defined log pv_opt_log not found
2024-02-04 08:04:12.287021 INFO AppDaemon: Calling initialize() for pv_opt
2024-02-04 08:04:12.333516 INFO pv_opt:
2024-02-04 08:04:12.334132 INFO pv_opt: ******************* PV Opt v3.6.2 *******************
2024-02-04 08:04:12.334653 INFO pv_opt:
2024-02-04 08:04:12.334954 ERROR pv_opt: User defined log pv_opt_log not found
2024-02-04 08:04:12.336184 ERROR pv_opt: User defined log pv_opt_log not found
2024-02-04 08:04:12.337232 INFO pv_opt: Local timezone set to GB
2024-02-04 08:04:12.338077 INFO pv_opt: Time Zone Offset: 0.0 minutes
2024-02-04 08:04:12.341191 INFO pv_opt: Inverter type: SOLIS_SOLAX_MODBUS: inverter module: solis.py
2024-02-04 08:04:12.345597 INFO pv_opt: Reading arguments from YAML:
2024-02-04 08:04:12.346080 INFO pv_opt: -----------------------------------
2024-02-04 08:04:12.346596 INFO pv_opt:
2024-02-04 08:04:12.347035 INFO pv_opt: Over-write flag is set so YAML will over-write HA
2024-02-04 08:04:12.347546 INFO pv_opt: redact_personal_data_from_log = True True: value in YAML
2024-02-04 08:04:12.348065 INFO pv_opt: consumption_history_days = 7 7: value in YAML
2024-02-04 08:04:12.348545 INFO pv_opt: octopus_auto = True True: value in YAML
2024-02-04 08:04:12.349011 INFO pv_opt:
2024-02-04 08:04:12.349533 INFO pv_opt: Checking config:
2024-02-04 08:04:12.349955 INFO pv_opt: -----------------------
2024-02-04 08:04:12.350456 WARNING pv_opt: forced_charge = True True: system default. Not in YAML.
2024-02-04 08:04:12.350894 WARNING pv_opt: forced_discharge = True True: system default. Not in YAML.
2024-02-04 08:04:12.351334 WARNING pv_opt: read_only = True True: system default. Not in YAML.
2024-02-04 08:04:12.351843 WARNING pv_opt: allow_cyclic = False False: system default. Not in YAML.
2024-02-04 08:04:12.352391 WARNING pv_opt: optimise_frequency_minutes = 10 10: system default. Not in YAML.
2024-02-04 08:04:12.353006 WARNING pv_opt: slot_threshold_p = 1.0 1.0: system default. Not in YAML.
2024-02-04 08:04:12.353495 WARNING pv_opt: day_of_week_weighting = 0.5 0.5: system default. Not in YAML.
2024-02-04 08:04:12.354261 WARNING pv_opt: pass_threshold_p = 4.0 4.0: system default. Not in YAML.
2024-02-04 08:04:12.354771 WARNING pv_opt: battery_capacity_wh = 10000 10000: system default. Not in YAML.
2024-02-04 08:04:12.355310 WARNING pv_opt: inverter_efficiency_percent = 97 97: system default. Not in YAML.
2024-02-04 08:04:12.355803 WARNING pv_opt: charger_efficiency_percent = 91 91: system default. Not in YAML.
2024-02-04 08:04:12.356303 WARNING pv_opt: charger_power_watts = 3000 3000: system default. Not in YAML.
2024-02-04 08:04:12.356811 WARNING pv_opt: inverter_power_watts = 3600 3600: system default. Not in YAML.
2024-02-04 08:04:12.357377 WARNING pv_opt: inverter_loss_watts = 100 100: system default. Not in YAML.
2024-02-04 08:04:12.359037 WARNING pv_opt: solar_forecast = Solcast Solcast: system default. Not in YAML.
2024-02-04 08:04:12.360337 WARNING pv_opt: id_solcast_today = sensor.solcast_pv_forecast_forecast_today 3.35145: system default. Not in YAML.
2024-02-04 08:04:12.361579 WARNING pv_opt: id_solcast_tomorrow = sensor.solcast_pv_forecast_forecast_tomorrow 3.844: system default. Not in YAML.
2024-02-04 08:04:12.362091 WARNING pv_opt: consumption_margin = 10 10: system default. Not in YAML.
2024-02-04 08:04:12.363015 WARNING pv_opt: consumption_grouping = mean mean: system default. Not in YAML.
2024-02-04 08:04:12.363530 WARNING pv_opt: forced_power_group_tolerance = 100 100: system default. Not in YAML.
2024-02-04 08:04:12.364986 WARNING pv_opt: maximum_dod_percent = number.solax_battery_minimum_soc 10.0: system default. Not in YAML.
2024-02-04 08:04:12.366199 WARNING pv_opt: id_battery_soc = sensor.solax_battery_soc 10.0: system default. Not in YAML.
2024-02-04 08:04:12.367314 WARNING pv_opt: id_consumption_today = sensor.solax_house_load_today 15.1: system default. Not in YAML.
2024-02-04 08:04:12.368477 WARNING pv_opt: id_grid_import_today = sensor.solax_grid_import_today 11.9: system default. Not in YAML.
2024-02-04 08:04:12.369621 WARNING pv_opt: id_grid_export_today = sensor.solax_grid_export_today 0.0: system default. Not in YAML.
2024-02-04 08:04:12.370703 WARNING pv_opt: id_battery_charge_power = sensor.solax_battery_input_energy 0.0: system default. Not in YAML.
2024-02-04 08:04:12.371892 WARNING pv_opt: id_inverter_ac_power = sensor.solax_active_power -100.0: system default. Not in YAML.
2024-02-04 08:04:12.372417 WARNING pv_opt: supports_hold_soc = True True: system default. Not in YAML.
2024-02-04 08:04:12.372929 WARNING pv_opt: update_cycle_seconds = 15 15: system default. Not in YAML.
2024-02-04 08:04:12.374598 WARNING pv_opt: battery_voltage = sensor.solax_battery_voltage 48.1: system default. Not in YAML.
2024-02-04 08:04:12.376115 WARNING pv_opt: id_timed_charge_start_hours = number.solax_timed_charge_start_hours 3.0: system default. Not in YAML.
2024-02-04 08:04:12.377676 WARNING pv_opt: id_timed_charge_start_minutes = number.solax_timed_charge_start_minutes 50.0: system default. Not in YAML.
2024-02-04 08:04:12.379077 WARNING pv_opt: id_timed_charge_end_hours = number.solax_timed_charge_end_hours 4.0: system default. Not in YAML.
2024-02-04 08:04:12.380316 WARNING pv_opt: id_timed_charge_end_minutes = number.solax_timed_charge_end_minutes 0.0: system default. Not in YAML.
2024-02-04 08:04:12.381486 WARNING pv_opt: id_timed_charge_current = number.solax_timed_charge_current 24.0: system default. Not in YAML.
2024-02-04 08:04:12.382662 WARNING pv_opt: id_timed_discharge_start_hours = number.solax_timed_discharge_start_hours 0.0: system default. Not in YAML.
2024-02-04 08:04:12.383795 WARNING pv_opt: id_timed_discharge_start_minutes = number.solax_timed_discharge_start_minutes 0.0: system default. Not in YAML.
2024-02-04 08:04:12.384994 WARNING pv_opt: id_timed_discharge_end_hours = number.solax_timed_discharge_end_hours 0.0: system default. Not in YAML.
2024-02-04 08:04:12.386108 WARNING pv_opt: id_timed_discharge_end_minutes = number.solax_timed_discharge_end_minutes 0.0: system default. Not in YAML.
2024-02-04 08:04:12.387243 WARNING pv_opt: id_timed_discharge_current = number.solax_timed_discharge_current 0.0: system default. Not in YAML.
2024-02-04 08:04:12.388428 WARNING pv_opt: id_timed_charge_discharge_button = button.solax_update_charge_discharge_times 2024-02-04T03:50:10.577104+00:00: system default. Not in YAML.
2024-02-04 08:04:12.389738 WARNING pv_opt: id_inverter_mode = select.solax_energy_storage_control_switch Timed Charge/Discharge: system default. Not in YAML.
2024-02-04 08:04:12.390900 WARNING pv_opt: id_backup_mode_soc = number.solax_backup_mode_soc 80.0: system default. Not in YAML.
2024-02-04 08:04:12.391368 INFO pv_opt:
2024-02-04 08:04:12.391792 INFO pv_opt: >>> {'redact_personal_data_from_log': True, 'consumption_history_days': 7, 'octopus_auto': True}
2024-02-04 08:04:12.404271 INFO pv_opt: Syncing config with Home Assistant:
2024-02-04 08:04:12.404838 INFO pv_opt: -----------------------------------
2024-02-04 08:04:12.405438 INFO pv_opt:
2024-02-04 08:04:12.405952 INFO pv_opt: Config Item HA Entity Current State
2024-02-04 08:04:12.406426 INFO pv_opt: ----------- --------- -------------
2024-02-04 08:04:12.406916 INFO pv_opt: forced_charge switch.pvopt_forced_charge on
2024-02-04 08:04:12.408228 INFO pv_opt: forced_discharge switch.pvopt_forced_discharge on
2024-02-04 08:04:12.409185 INFO pv_opt: read_only switch.pvopt_read_only on
2024-02-04 08:04:12.410168 INFO pv_opt: allow_cyclic switch.pvopt_allow_cyclic off
2024-02-04 08:04:12.411131 INFO pv_opt: optimise_frequency_minutes number.pvopt_optimise_frequency_minutes 10
2024-02-04 08:04:12.412185 INFO pv_opt: slot_threshold_p number.pvopt_slot_threshold_p 1.0
2024-02-04 08:04:12.413500 INFO pv_opt: day_of_week_weighting number.pvopt_day_of_week_weighting 0.5
2024-02-04 08:04:12.414556 INFO pv_opt: pass_threshold_p number.pvopt_pass_threshold_p 4.0
2024-02-04 08:04:12.415514 INFO pv_opt: battery_capacity_wh number.pvopt_battery_capacity_wh 10000
2024-02-04 08:04:12.416538 INFO pv_opt: inverter_efficiency_percent number.pvopt_inverter_efficiency_percent 97
2024-02-04 08:04:12.417489 INFO pv_opt: charger_efficiency_percent number.pvopt_charger_efficiency_percent 91
2024-02-04 08:04:12.418432 INFO pv_opt: charger_power_watts number.pvopt_charger_power_watts 6300
2024-02-04 08:04:12.419377 INFO pv_opt: inverter_power_watts number.pvopt_inverter_power_watts 6300
2024-02-04 08:04:12.420399 INFO pv_opt: inverter_loss_watts number.pvopt_inverter_loss_watts 100
2024-02-04 08:04:12.421514 INFO pv_opt: solar_forecast select.pvopt_solar_forecast Solcast
2024-02-04 08:04:12.422548 INFO pv_opt: consumption_history_days number.pvopt_consumption_history_days 7
2024-02-04 08:04:12.423591 INFO pv_opt: consumption_margin number.pvopt_consumption_margin 10
2024-02-04 08:04:12.424703 INFO pv_opt: consumption_grouping select.pvopt_consumption_grouping mean
2024-02-04 08:04:12.425734 INFO pv_opt: forced_power_group_tolerance number.pvopt_forced_power_group_tolerance 100
2024-02-04 08:04:12.430591 INFO pv_opt:
2024-02-04 08:04:12.431132 INFO pv_opt: Loading Contract:
2024-02-04 08:04:12.434713 INFO pv_opt: -----------------
2024-02-04 08:04:12.435131 INFO pv_opt: Trying to auto detect Octopus tariffs:
2024-02-04 08:04:12.438330 INFO pv_opt: Found import entity event.octopus_energy_electricity_22l3527084_1580001758865_current_day_rates
2024-02-04 08:04:12.438840 INFO pv_opt: Found export entity event.octopus_energy_electricity_22l3527084_1574300421366_export_current_day_rates
2024-02-04 08:04:13.246143 INFO pv_opt: Contract tariffs loaded OK
2024-02-04 08:04:13.255252 INFO pv_opt: Import: E-1R-GO-18-06-12-F Start: 2023-05-30 23:30:00+0000 End: 2024-02-05 00:30:00+0000
2024-02-04 08:04:13.255959 INFO pv_opt: Export: E-1R-OUTGOING-LITE-FIX-12M-23-09-12-F Start: 2023-09-11 23:00:00+0000 End: N/A
2024-02-04 08:04:13.256431 INFO pv_opt:
2024-02-04 08:04:13.262066 INFO pv_opt: Previous message repeated 1 times
2024-02-04 08:04:13.262208 INFO pv_opt: Found Octopus Savings Events entity: event.octopus_energy_**********_octoplus_saving_session_events
2024-02-04 08:04:13.263670 INFO pv_opt:
2024-02-04 08:04:13.264250 INFO pv_opt: No upcoming Octopus Saving Events detected or joined:
2024-02-04 08:04:13.264734 INFO pv_opt: Finished loading contract
index = pd.date_range(
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:13.389580 INFO pv_opt:
2024-02-04 08:04:13.390047 INFO pv_opt: Running initial Optimisation:
2024-02-04 08:04:13.390755 INFO pv_opt:
2024-02-04 08:04:13.396463 INFO pv_opt: Previous message repeated 1 times
2024-02-04 08:04:13.396595 INFO pv_opt: Found Octopus Savings Events entity: event.octopus_energy_**********_octoplus_saving_session_events
2024-02-04 08:04:13.398151 INFO pv_opt:
2024-02-04 08:04:13.398696 INFO pv_opt: No upcoming Octopus Saving Events detected or joined:
2024-02-04 08:04:13.399480 INFO pv_opt:
2024-02-04 08:04:13.400309 INFO pv_opt: Starting Opimisation with discharge enabled
2024-02-04 08:04:13.401023 INFO pv_opt: -------------------------------------------
2024-02-04 08:04:13.401750 INFO pv_opt:
2024-02-04 08:04:13.402416 INFO pv_opt: Checking tariffs:
2024-02-04 08:04:13.403123 INFO pv_opt: -----------------
2024-02-04 08:04:13.410876 INFO pv_opt: Import: E-1R-GO-18-06-12-F Start: 2023-05-30 23:30:00+0000 End: 2024-02-05 00:30:00+0000
2024-02-04 08:04:13.411589 INFO pv_opt: Export: E-1R-OUTGOING-LITE-FIX-12M-23-09-12-F Start: 2023-09-11 23:00:00+0000 End: N/A
2024-02-04 08:04:13.412211 INFO pv_opt: - Tariffs OK
2024-02-04 08:04:13.412696 INFO pv_opt:
index=pd.date_range(
2024-02-04 08:04:13.417985 INFO pv_opt: Solcast forecast loaded OK
2024-02-04 08:04:13.418584 INFO pv_opt: Getting expected consumption data
index = pd.date_range(start, end, inclusive="left", freq="30T")
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
time_value = pd.to_datetime(state, errors="ignore", format="%H:%M")
2024-02-04 08:04:15.299192 INFO pv_opt: - Estimated consumption from sensor.solax_house_load_today loaded OK
self.static = self.static[self.time_now.floor("30T") :].fillna(0)
2024-02-04 08:04:15.383148 INFO pv_opt: Initial SOC: 10.0
2024-02-04 08:04:15.383710 INFO pv_opt: Calculating Base flows
time_value = pd.to_datetime(state, errors="ignore", format="%H:%M")
freq = pd.infer_freq(static_flows.index) / pd.Timedelta("60T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:15.431512 INFO pv_opt: Base cost: 0.00p
2024-02-04 08:04:15.432181 INFO pv_opt:
time_value = pd.to_datetime(state, errors="ignore", format="%H:%M")
2024-02-04 08:04:15.433424 INFO pv_opt: Optimising for Solcast forecast from 04-Feb 08:00 to 05-Feb 23:30
time_value = pd.to_datetime(state, errors="ignore", format="%H:%M")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:15.481065 INFO pv_opt: Optimiser prices loaded for period 04/02 08:00 - 05/02 23:30
freq = pd.infer_freq(static_flows.index) / pd.Timedelta("60T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:15.526873 INFO pv_opt:
2024-02-04 08:04:15.527309 INFO pv_opt: High Cost Usage Swaps
2024-02-04 08:04:15.527804 INFO pv_opt: ---------------------
2024-02-04 08:04:15.528312 INFO pv_opt:
freq = pd.infer_freq(static_flows.index) / pd.Timedelta("60T")
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
(slot.tz_localize(None) + pd.Timedelta("30T"))
2024-02-04 08:04:15.866210 INFO pv_opt:
2024-02-04 08:04:15.866684 INFO pv_opt: Maximum 1st pass slot delta is nanp
2024-02-04 08:04:15.867300 INFO pv_opt:
freq = pd.infer_freq(static_flows.index) / pd.Timedelta("60T")
2024-02-04 08:04:15.875104 INFO pv_opt: Previous message repeated 1 times
2024-02-04 08:04:15.875237 INFO pv_opt: Low Cost Charging
2024-02-04 08:04:15.875822 INFO pv_opt: ------------------
2024-02-04 08:04:15.876451 INFO pv_opt:
2024-02-04 08:04:15.877018 INFO pv_opt: Max export price when there is no forced charge: nanp/kWh.
2024-02-04 08:04:15.878214 INFO pv_opt: 0 slots have an import price less than the max export price
2024-02-04 08:04:15.878917 INFO pv_opt:
2024-02-04 08:04:15.879475 INFO pv_opt: Charge net cost delta: -0.0p: < threshold 4.0 => Excluded
2024-02-04 08:04:15.880168 INFO pv_opt:
2024-02-04 08:04:15.880720 INFO pv_opt: Forced Discharging
2024-02-04 08:04:15.881340 INFO pv_opt: ------------------
2024-02-04 08:04:15.881874 INFO pv_opt:
2024-02-04 08:04:15.882933 INFO pv_opt: 0 slots have an export price greater than the min import price
2024-02-04 08:04:15.883625 INFO pv_opt:
2024-02-04 08:04:15.884268 INFO pv_opt: Discharge net cost delta: -0.0p: < threshold (4.0) => Excluded
2024-02-04 08:04:15.884783 INFO pv_opt: Iteration 1: Slots added: 0
2024-02-04 08:04:15.885630 INFO pv_opt:
2024-02-04 08:04:15.886130 INFO pv_opt: Removing cyclic charge/discharge
freq = pd.infer_freq(static_flows.index) / pd.Timedelta("60T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:15.929165 INFO pv_opt: Net cost revised from 0.0p to 0.0p
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:15.967209 INFO pv_opt:
2024-02-04 08:04:15.968742 INFO pv_opt: No charging slots
2024-02-04 08:04:15.969456 INFO pv_opt:
2024-02-04 08:04:15.970358 INFO pv_opt: Plan time: 04-Feb 08:00 - 05-Feb 23:30 Initial SOC: 10.0 Base Cost: 0.00 Opt Cost: 0.00
2024-02-04 08:04:15.971013 INFO pv_opt:
2024-02-04 08:04:15.971733 INFO pv_opt: Optimiser elapsed time 2.6 seconds
2024-02-04 08:04:15.972351 INFO pv_opt:
2024-02-04 08:04:15.978553 INFO pv_opt: Previous message repeated 1 times
2024-02-04 08:04:15.978684 INFO pv_opt: Output written to sensor.pvopt_optimiser_elapsed
index = pd.date_range(
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
2024-02-04 08:04:16.046671 INFO pv_opt: Average unit cost today: 0.00p/kWh
2024-02-04 08:04:16.049613 INFO pv_opt: Output written to sensor.pvopt_unit_cost_today
index = pd.date_range(
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
midnight = pd.Timestamp.now(tz="UTC").normalize() + pd.Timedelta("24H")
(cost["cost"].loc[: midnight - pd.Timedelta("30T")].sum()) / 100,
2024-02-04 08:04:16.133103 WARNING pv_opt: pv_opt: Entity sensor.pvopt_base_cost not found in namespace default
2024-02-04 08:04:16.133762 INFO AppDaemon: pv_opt: Entity sensor.pvopt_base_cost created in namespace: default
2024-02-04 08:04:16.137594 WARNING HASS: Error setting Home Assistant state default.sensor.pvopt_base_cost, {'state': 0.0, 'attributes': {'friendly_name': 'PV Opt Base Cost', 'device_class': 'monetary', 'state_class': 'measurement', 'unit_of_measurement': 'GBP', 'cost_today': 0.0, 'cost_tomorrow': 0.0, 'soc': [{'period_start': '2024-02-04T08:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T08:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T09:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T10:30:00+00:00', 'soc': 10.73}, {'period_start': '2024-02-04T11:00:00+00:00', 'soc': 11.68}, {'period_start': '2024-02-04T11:30:00+00:00', 'soc': 13.24}, {'period_start': '2024-02-04T12:00:00+00:00', 'soc': 13.96}, {'period_start': '2024-02-04T12:30:00+00:00', 'soc': 14.11}, {'period_start': '2024-02-04T13:00:00+00:00', 'soc': 13.82}, {'period_start': '2024-02-04T13:30:00+00:00', 'soc': 16.16}, {'period_start': '2024-02-04T14:00:00+00:00', 'soc': 18.3}, {'period_start': '2024-02-04T14:30:00+00:00', 'soc': 19.41}, {'period_start': '2024-02-04T15:00:00+00:00', 'soc': 20.06}, {'period_start': '2024-02-04T15:30:00+00:00', 'soc': 19.91}, {'period_start': '2024-02-04T16:00:00+00:00', 'soc': 19.64}, {'period_start': '2024-02-04T16:30:00+00:00', 'soc': 18.78}, {'period_start': '2024-02-04T17:00:00+00:00', 'soc': 17.29}, {'period_start': '2024-02-04T17:30:00+00:00', 'soc': 12.05}, {'period_start': '2024-02-04T18:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T18:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T19:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T21:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T22:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T23:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T01:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T03:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T04:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T06:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T07:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T08:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T08:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T09:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T10:30:00+00:00', 'soc': 11.39}, {'period_start': '2024-02-05T11:00:00+00:00', 'soc': 12.83}, {'period_start': '2024-02-05T11:30:00+00:00', 'soc': 14.82}, {'period_start': '2024-02-05T12:00:00+00:00', 'soc': 15.88}, {'period_start': '2024-02-05T12:30:00+00:00', 'soc': 16.34}, {'period_start': '2024-02-05T13:00:00+00:00', 'soc': 16.34}, {'period_start': '2024-02-05T13:30:00+00:00', 'soc': 18.9}, {'period_start': '2024-02-05T14:00:00+00:00', 'soc': 21.18}, {'period_start': '2024-02-05T14:30:00+00:00', 'soc': 22.4}, {'period_start': '2024-02-05T15:00:00+00:00', 'soc': 23.11}, {'period_start': '2024-02-05T15:30:00+00:00', 'soc': 12.78}, {'period_start': '2024-02-05T16:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T17:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T17:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T18:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T19:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T21:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T22:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T23:30:00+00:00', 'soc': 10.0}], 'forced': [{'period_start': '2024-02-04T08:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T08:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T09:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T09:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T10:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T10:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T11:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T11:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T12:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T12:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T13:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T13:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T14:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T14:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T15:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T15:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T16:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T16:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T17:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T17:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T18:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T18:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T19:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T19:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T20:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T20:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T21:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T21:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T22:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T22:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T23:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T23:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T00:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T00:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T01:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T01:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T02:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T02:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T03:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T03:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T04:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T04:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T05:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T05:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T06:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T06:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T07:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T07:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T08:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T08:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T09:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T09:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T10:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T10:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T11:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T11:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T12:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T12:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T13:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T13:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T14:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T14:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T15:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T15:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T16:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T16:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T17:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T17:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T18:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T18:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T19:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T19:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T20:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T20:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T21:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T21:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T22:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T22:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T23:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T23:30:00+00:00', 'forced': 0}], 'grid': [{'period_start': '2024-02-04T08:00:00+00:00', 'grid': 780.0}, {'period_start': '2024-02-04T08:30:00+00:00', 'grid': 981.0}, {'period_start': '2024-02-04T09:00:00+00:00', 'grid': 597.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'grid': 605.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-04T10:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-04T11:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T11:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T12:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T12:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T13:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T13:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T14:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T14:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T15:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T15:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T16:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T16:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-04T17:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T17:30:00+00:00', 'grid': 1033.0}, {'period_start': '2024-02-04T18:00:00+00:00', 'grid': 1128.0}, {'period_start': '2024-02-04T18:30:00+00:00', 'grid': 1512.0}, {'period_start': '2024-02-04T19:00:00+00:00', 'grid': 1155.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'grid': 1320.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'grid': 165.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'grid': 192.0}, {'period_start': '2024-02-04T21:00:00+00:00', 'grid': 660.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'grid': 412.0}, {'period_start': '2024-02-04T22:00:00+00:00', 'grid': 715.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'grid': 385.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'grid': 357.0}, {'period_start': '2024-02-04T23:30:00+00:00', 'grid': 385.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'grid': 495.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'grid': 1457.0}, {'period_start': '2024-02-05T01:00:00+00:00', 'grid': 3025.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'grid': 4400.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'grid': 3850.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'grid': 1402.0}, {'period_start': '2024-02-05T03:00:00+00:00', 'grid': 990.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'grid': 110.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'grid': 137.0}, {'period_start': '2024-02-05T04:30:00+00:00', 'grid': 440.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'grid': 495.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'grid': 412.0}, {'period_start': '2024-02-05T06:00:00+00:00', 'grid': 110.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'grid': 110.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'grid': 247.0}, {'period_start': '2024-02-05T07:30:00+00:00', 'grid': 467.0}, {'period_start': '2024-02-05T08:00:00+00:00', 'grid': 750.0}, {'period_start': '2024-02-05T08:30:00+00:00', 'grid': 922.0}, {'period_start': '2024-02-05T09:00:00+00:00', 'grid': 521.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'grid': 467.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T10:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T11:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T11:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T12:00:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T12:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T13:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T13:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T14:00:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T14:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T15:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T15:30:00+00:00', 'grid': 1814.0}, {'period_start': '2024-02-05T16:00:00+00:00', 'grid': 2141.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'grid': 619.0}, {'period_start': '2024-02-05T17:00:00+00:00', 'grid': 907.0}, {'period_start': '2024-02-05T17:30:00+00:00', 'grid': 1430.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'grid': 1018.0}, {'period_start': '2024-02-05T18:30:00+00:00', 'grid': 1952.0}, {'period_start': '2024-02-05T19:00:00+00:00', 'grid': 1595.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'grid': 1100.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'grid': 385.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'grid': 522.0}, {'period_start': '2024-02-05T21:00:00+00:00', 'grid': 770.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'grid': 522.0}, {'period_start': '2024-02-05T22:00:00+00:00', 'grid': 605.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'grid': 495.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'grid': 357.0}, {'period_start': '2024-02-05T23:30:00+00:00', 'grid': 385.0}], 'consumption': [{'period_start': '2024-02-04T08:00:00+00:00', 'consumption': 797.5}, {'period_start': '2024-02-04T08:30:00+00:00', 'consumption': 1063.33}, {'period_start': '2024-02-04T09:00:00+00:00', 'consumption': 770.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'consumption': 880.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T10:30:00+00:00', 'consumption': 330.0}, {'period_start': '2024-02-04T11:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T11:30:00+00:00', 'consumption': 476.67}, {'period_start': '2024-02-04T12:00:00+00:00', 'consumption': 623.33}, {'period_start': '2024-02-04T12:30:00+00:00', 'consumption': 733.33}, {'period_start': '2024-02-04T13:00:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-04T13:30:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-04T14:00:00+00:00', 'consumption': 293.33}, {'period_start': '2024-02-04T14:30:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T15:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T15:30:00+00:00', 'consumption': 183.33}, {'period_start': '2024-02-04T16:00:00+00:00', 'consumption': 220.0}, {'period_start': '2024-02-04T16:30:00+00:00', 'consumption': 293.33}, {'period_start': '2024-02-04T17:00:00+00:00', 'consumption': 1017.5}, {'period_start': '2024-02-04T17:30:00+00:00', 'consumption': 1430.0}, {'period_start': '2024-02-04T18:00:00+00:00', 'consumption': 1127.5}, {'period_start': '2024-02-04T18:30:00+00:00', 'consumption': 1512.5}, {'period_start': '2024-02-04T19:00:00+00:00', 'consumption': 1155.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'consumption': 1320.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'consumption': 165.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'consumption': 192.5}, {'period_start': '2024-02-04T21:00:00+00:00', 'consumption': 660.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'consumption': 412.5}, {'period_start': '2024-02-04T22:00:00+00:00', 'consumption': 715.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'consumption': 385.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'consumption': 357.5}, {'period_start': '2024-02-04T23:30:00+00:00', 'consumption': 385.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'consumption': 495.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'consumption': 1457.5}, {'period_start': '2024-02-05T01:00:00+00:00', 'consumption': 3025.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'consumption': 4400.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'consumption': 3850.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'consumption': 1402.5}, {'period_start': '2024-02-05T03:00:00+00:00', 'consumption': 990.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'consumption': 110.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'consumption': 137.5}, {'period_start': '2024-02-05T04:30:00+00:00', 'consumption': 440.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'consumption': 495.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'consumption': 412.5}, {'period_start': '2024-02-05T06:00:00+00:00', 'consumption': 110.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'consumption': 110.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'consumption': 247.5}, {'period_start': '2024-02-05T07:30:00+00:00', 'consumption': 467.5}, {'period_start': '2024-02-05T08:00:00+00:00', 'consumption': 797.5}, {'period_start': '2024-02-05T08:30:00+00:00', 'consumption': 1063.33}, {'period_start': '2024-02-05T09:00:00+00:00', 'consumption': 770.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'consumption': 880.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-05T10:30:00+00:00', 'consumption': 330.0}, {'period_start': '2024-02-05T11:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-05T11:30:00+00:00', 'consumption': 476.67}, {'period_start': '2024-02-05T12:00:00+00:00', 'consumption': 623.33}, {'period_start': '2024-02-05T12:30:00+00:00', 'consumption': 733.33}, {'period_start': '2024-02-05T13:00:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-05T13:30:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-05T14:00:00+00:00', 'consumption': 293.33}, {'period_start': '2024-02-05T14:30:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-05T15:00:00+00:00', 'consumption': 2236.67}, {'period_start': '2024-02-05T15:30:00+00:00', 'consumption': 2493.33}, {'period_start': '2024-02-05T16:00:00+00:00', 'consumption': 2200.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'consumption': 623.33}, {'period_start': '2024-02-05T17:00:00+00:00', 'consumption': 907.5}, {'period_start': '2024-02-05T17:30:00+00:00', 'consumption': 1430.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'consumption': 1017.5}, {'period_start': '2024-02-05T18:30:00+00:00', 'consumption': 1952.5}, {'period_start': '2024-02-05T19:00:00+00:00', 'consumption': 1595.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'consumption': 1100.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'consumption': 385.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'consumption': 522.5}, {'period_start': '2024-02-05T21:00:00+00:00', 'consumption': 770.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'consumption': 522.5}, {'period_start': '2024-02-05T22:00:00+00:00', 'consumption': 605.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'consumption': 495.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'consumption': 357.5}, {'period_start': '2024-02-05T23:30:00+00:00', 'consumption': 385.0}], 'cost': [{'period_start': '2024-02-04T00:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T00:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T01:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T01:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T02:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T02:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T03:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T03:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T04:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T04:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T05:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T05:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T06:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T06:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T07:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T07:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T08:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T08:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T08:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T09:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T09:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T10:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T10:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T11:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T11:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T12:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T12:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T13:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T13:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T14:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T14:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T15:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T15:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T16:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T16:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T17:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T17:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T18:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T18:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T19:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T19:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T20:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T20:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T21:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T21:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T22:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T22:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T23:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T23:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T00:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T00:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T01:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T01:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T02:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T02:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T03:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T03:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T04:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T04:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T05:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T05:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T06:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T06:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T07:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T07:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T08:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T08:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T09:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T09:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T10:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T10:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T11:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T11:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T12:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T12:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T13:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T13:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T14:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T14:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T15:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T15:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T16:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T16:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T17:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T17:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T18:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T18:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T19:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T19:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T20:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T20:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T21:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T21:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T22:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T22:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T23:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T23:30:00+00:00', 'cumulative_cost': nan}]}}
2024-02-04 08:04:16.139212 WARNING HASS: Code: 400, error: {"message":"Invalid JSON specified."}
2024-02-04 08:04:16.144770 INFO pv_opt: Output written to sensor.pvopt_base_cost
index = pd.date_range(
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
df.diff(-1).fillna(0).clip(upper=0).cumsum().resample("30T")
newindex = pd.date_range(df.index[0], end, freq="30T")
newindex = pd.date_range(x.index[0], df.index[-1], freq="30T")
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
df.index[-1] + pd.Timedelta("30T"),
df.index[-1] + pd.Timedelta("24H"),
extended_index = pd.date_range(
midnight = pd.Timestamp.now(tz="UTC").normalize() + pd.Timedelta("24H")
(cost["cost"].loc[: midnight - pd.Timedelta("30T")].sum()) / 100,
2024-02-04 08:04:16.229834 WARNING pv_opt: pv_opt: Entity sensor.pvopt_opt_cost not found in namespace default
2024-02-04 08:04:16.230424 INFO AppDaemon: pv_opt: Entity sensor.pvopt_opt_cost created in namespace: default
2024-02-04 08:04:16.234126 WARNING HASS: Error setting Home Assistant state default.sensor.pvopt_opt_cost, {'state': 0.0, 'attributes': {'friendly_name': 'PV Opt Optimised Cost', 'device_class': 'monetary', 'state_class': 'measurement', 'unit_of_measurement': 'GBP', 'cost_today': 0.0, 'cost_tomorrow': 0.0, 'soc': [{'period_start': '2024-02-04T08:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T08:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T09:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T10:30:00+00:00', 'soc': 10.73}, {'period_start': '2024-02-04T11:00:00+00:00', 'soc': 11.68}, {'period_start': '2024-02-04T11:30:00+00:00', 'soc': 13.24}, {'period_start': '2024-02-04T12:00:00+00:00', 'soc': 13.96}, {'period_start': '2024-02-04T12:30:00+00:00', 'soc': 14.11}, {'period_start': '2024-02-04T13:00:00+00:00', 'soc': 13.82}, {'period_start': '2024-02-04T13:30:00+00:00', 'soc': 16.16}, {'period_start': '2024-02-04T14:00:00+00:00', 'soc': 18.3}, {'period_start': '2024-02-04T14:30:00+00:00', 'soc': 19.41}, {'period_start': '2024-02-04T15:00:00+00:00', 'soc': 20.06}, {'period_start': '2024-02-04T15:30:00+00:00', 'soc': 19.91}, {'period_start': '2024-02-04T16:00:00+00:00', 'soc': 19.64}, {'period_start': '2024-02-04T16:30:00+00:00', 'soc': 18.78}, {'period_start': '2024-02-04T17:00:00+00:00', 'soc': 17.29}, {'period_start': '2024-02-04T17:30:00+00:00', 'soc': 12.05}, {'period_start': '2024-02-04T18:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T18:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T19:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T21:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T22:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-04T23:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T01:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T03:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T04:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T06:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T07:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T08:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T08:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T09:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T10:30:00+00:00', 'soc': 11.39}, {'period_start': '2024-02-05T11:00:00+00:00', 'soc': 12.83}, {'period_start': '2024-02-05T11:30:00+00:00', 'soc': 14.82}, {'period_start': '2024-02-05T12:00:00+00:00', 'soc': 15.88}, {'period_start': '2024-02-05T12:30:00+00:00', 'soc': 16.34}, {'period_start': '2024-02-05T13:00:00+00:00', 'soc': 16.34}, {'period_start': '2024-02-05T13:30:00+00:00', 'soc': 18.9}, {'period_start': '2024-02-05T14:00:00+00:00', 'soc': 21.18}, {'period_start': '2024-02-05T14:30:00+00:00', 'soc': 22.4}, {'period_start': '2024-02-05T15:00:00+00:00', 'soc': 23.11}, {'period_start': '2024-02-05T15:30:00+00:00', 'soc': 12.78}, {'period_start': '2024-02-05T16:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T17:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T17:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T18:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T19:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T21:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T22:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'soc': 10.0}, {'period_start': '2024-02-05T23:30:00+00:00', 'soc': 10.0}], 'forced': [{'period_start': '2024-02-04T08:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T08:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T09:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T09:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T10:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T10:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T11:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T11:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T12:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T12:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T13:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T13:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T14:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T14:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T15:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T15:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T16:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T16:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T17:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T17:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T18:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T18:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T19:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T19:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T20:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T20:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T21:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T21:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T22:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T22:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T23:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-04T23:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T00:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T00:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T01:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T01:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T02:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T02:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T03:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T03:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T04:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T04:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T05:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T05:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T06:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T06:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T07:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T07:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T08:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T08:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T09:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T09:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T10:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T10:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T11:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T11:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T12:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T12:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T13:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T13:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T14:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T14:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T15:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T15:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T16:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T16:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T17:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T17:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T18:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T18:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T19:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T19:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T20:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T20:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T21:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T21:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T22:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T22:30:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T23:00:00+00:00', 'forced': 0}, {'period_start': '2024-02-05T23:30:00+00:00', 'forced': 0}], 'import': [{'period_start': '2024-02-04T08:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T08:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T09:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T09:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T10:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T10:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T11:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T11:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T12:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T12:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T13:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T13:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T14:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T14:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T15:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T15:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T16:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T16:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T17:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T17:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T18:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T18:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T19:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T19:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T20:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T20:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T21:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T21:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T22:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T22:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T23:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-04T23:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T00:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T00:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T01:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T01:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T02:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T02:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T03:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T03:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T04:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T04:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T05:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T05:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T06:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T06:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T07:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T07:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T08:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T08:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T09:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T09:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T10:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T10:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T11:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T11:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T12:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T12:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T13:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T13:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T14:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T14:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T15:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T15:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T16:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T16:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T17:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T17:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T18:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T18:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T19:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T19:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T20:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T20:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T21:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T21:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T22:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T22:30:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T23:00:00+00:00', 'import': 12.93}, {'period_start': '2024-02-05T23:30:00+00:00', 'import': 12.93}], 'export': [{'period_start': '2024-02-04T08:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T08:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T09:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T10:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T11:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T11:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T12:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T12:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T13:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T13:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T14:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T14:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T15:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T15:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T16:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T16:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T17:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T17:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T18:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T18:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T19:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T21:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T22:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-04T23:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T01:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T03:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T04:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T06:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T07:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T08:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T08:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T09:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T10:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T11:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T11:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T12:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T12:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T13:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T13:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T14:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T14:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T15:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T15:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T16:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T17:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T17:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T18:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T19:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T21:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T22:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'export': 0.0}, {'period_start': '2024-02-05T23:30:00+00:00', 'export': 0.0}], 'grid': [{'period_start': '2024-02-04T08:00:00+00:00', 'grid': 780.0}, {'period_start': '2024-02-04T08:30:00+00:00', 'grid': 981.0}, {'period_start': '2024-02-04T09:00:00+00:00', 'grid': 597.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'grid': 605.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-04T10:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-04T11:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T11:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T12:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T12:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T13:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T13:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T14:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T14:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T15:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T15:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T16:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T16:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-04T17:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-04T17:30:00+00:00', 'grid': 1033.0}, {'period_start': '2024-02-04T18:00:00+00:00', 'grid': 1128.0}, {'period_start': '2024-02-04T18:30:00+00:00', 'grid': 1512.0}, {'period_start': '2024-02-04T19:00:00+00:00', 'grid': 1155.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'grid': 1320.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'grid': 165.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'grid': 192.0}, {'period_start': '2024-02-04T21:00:00+00:00', 'grid': 660.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'grid': 412.0}, {'period_start': '2024-02-04T22:00:00+00:00', 'grid': 715.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'grid': 385.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'grid': 357.0}, {'period_start': '2024-02-04T23:30:00+00:00', 'grid': 385.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'grid': 495.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'grid': 1457.0}, {'period_start': '2024-02-05T01:00:00+00:00', 'grid': 3025.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'grid': 4400.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'grid': 3850.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'grid': 1402.0}, {'period_start': '2024-02-05T03:00:00+00:00', 'grid': 990.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'grid': 110.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'grid': 137.0}, {'period_start': '2024-02-05T04:30:00+00:00', 'grid': 440.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'grid': 495.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'grid': 412.0}, {'period_start': '2024-02-05T06:00:00+00:00', 'grid': 110.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'grid': 110.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'grid': 247.0}, {'period_start': '2024-02-05T07:30:00+00:00', 'grid': 467.0}, {'period_start': '2024-02-05T08:00:00+00:00', 'grid': 750.0}, {'period_start': '2024-02-05T08:30:00+00:00', 'grid': 922.0}, {'period_start': '2024-02-05T09:00:00+00:00', 'grid': 521.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'grid': 467.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T10:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T11:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T11:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T12:00:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T12:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T13:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T13:30:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T14:00:00+00:00', 'grid': 0.0}, {'period_start': '2024-02-05T14:30:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T15:00:00+00:00', 'grid': -0.0}, {'period_start': '2024-02-05T15:30:00+00:00', 'grid': 1814.0}, {'period_start': '2024-02-05T16:00:00+00:00', 'grid': 2141.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'grid': 619.0}, {'period_start': '2024-02-05T17:00:00+00:00', 'grid': 907.0}, {'period_start': '2024-02-05T17:30:00+00:00', 'grid': 1430.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'grid': 1018.0}, {'period_start': '2024-02-05T18:30:00+00:00', 'grid': 1952.0}, {'period_start': '2024-02-05T19:00:00+00:00', 'grid': 1595.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'grid': 1100.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'grid': 385.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'grid': 522.0}, {'period_start': '2024-02-05T21:00:00+00:00', 'grid': 770.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'grid': 522.0}, {'period_start': '2024-02-05T22:00:00+00:00', 'grid': 605.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'grid': 495.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'grid': 357.0}, {'period_start': '2024-02-05T23:30:00+00:00', 'grid': 385.0}], 'consumption': [{'period_start': '2024-02-04T08:00:00+00:00', 'consumption': 797.5}, {'period_start': '2024-02-04T08:30:00+00:00', 'consumption': 1063.33}, {'period_start': '2024-02-04T09:00:00+00:00', 'consumption': 770.0}, {'period_start': '2024-02-04T09:30:00+00:00', 'consumption': 880.0}, {'period_start': '2024-02-04T10:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T10:30:00+00:00', 'consumption': 330.0}, {'period_start': '2024-02-04T11:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T11:30:00+00:00', 'consumption': 476.67}, {'period_start': '2024-02-04T12:00:00+00:00', 'consumption': 623.33}, {'period_start': '2024-02-04T12:30:00+00:00', 'consumption': 733.33}, {'period_start': '2024-02-04T13:00:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-04T13:30:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-04T14:00:00+00:00', 'consumption': 293.33}, {'period_start': '2024-02-04T14:30:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T15:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-04T15:30:00+00:00', 'consumption': 183.33}, {'period_start': '2024-02-04T16:00:00+00:00', 'consumption': 220.0}, {'period_start': '2024-02-04T16:30:00+00:00', 'consumption': 293.33}, {'period_start': '2024-02-04T17:00:00+00:00', 'consumption': 1017.5}, {'period_start': '2024-02-04T17:30:00+00:00', 'consumption': 1430.0}, {'period_start': '2024-02-04T18:00:00+00:00', 'consumption': 1127.5}, {'period_start': '2024-02-04T18:30:00+00:00', 'consumption': 1512.5}, {'period_start': '2024-02-04T19:00:00+00:00', 'consumption': 1155.0}, {'period_start': '2024-02-04T19:30:00+00:00', 'consumption': 1320.0}, {'period_start': '2024-02-04T20:00:00+00:00', 'consumption': 165.0}, {'period_start': '2024-02-04T20:30:00+00:00', 'consumption': 192.5}, {'period_start': '2024-02-04T21:00:00+00:00', 'consumption': 660.0}, {'period_start': '2024-02-04T21:30:00+00:00', 'consumption': 412.5}, {'period_start': '2024-02-04T22:00:00+00:00', 'consumption': 715.0}, {'period_start': '2024-02-04T22:30:00+00:00', 'consumption': 385.0}, {'period_start': '2024-02-04T23:00:00+00:00', 'consumption': 357.5}, {'period_start': '2024-02-04T23:30:00+00:00', 'consumption': 385.0}, {'period_start': '2024-02-05T00:00:00+00:00', 'consumption': 495.0}, {'period_start': '2024-02-05T00:30:00+00:00', 'consumption': 1457.5}, {'period_start': '2024-02-05T01:00:00+00:00', 'consumption': 3025.0}, {'period_start': '2024-02-05T01:30:00+00:00', 'consumption': 4400.0}, {'period_start': '2024-02-05T02:00:00+00:00', 'consumption': 3850.0}, {'period_start': '2024-02-05T02:30:00+00:00', 'consumption': 1402.5}, {'period_start': '2024-02-05T03:00:00+00:00', 'consumption': 990.0}, {'period_start': '2024-02-05T03:30:00+00:00', 'consumption': 110.0}, {'period_start': '2024-02-05T04:00:00+00:00', 'consumption': 137.5}, {'period_start': '2024-02-05T04:30:00+00:00', 'consumption': 440.0}, {'period_start': '2024-02-05T05:00:00+00:00', 'consumption': 495.0}, {'period_start': '2024-02-05T05:30:00+00:00', 'consumption': 412.5}, {'period_start': '2024-02-05T06:00:00+00:00', 'consumption': 110.0}, {'period_start': '2024-02-05T06:30:00+00:00', 'consumption': 110.0}, {'period_start': '2024-02-05T07:00:00+00:00', 'consumption': 247.5}, {'period_start': '2024-02-05T07:30:00+00:00', 'consumption': 467.5}, {'period_start': '2024-02-05T08:00:00+00:00', 'consumption': 797.5}, {'period_start': '2024-02-05T08:30:00+00:00', 'consumption': 1063.33}, {'period_start': '2024-02-05T09:00:00+00:00', 'consumption': 770.0}, {'period_start': '2024-02-05T09:30:00+00:00', 'consumption': 880.0}, {'period_start': '2024-02-05T10:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-05T10:30:00+00:00', 'consumption': 330.0}, {'period_start': '2024-02-05T11:00:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-05T11:30:00+00:00', 'consumption': 476.67}, {'period_start': '2024-02-05T12:00:00+00:00', 'consumption': 623.33}, {'period_start': '2024-02-05T12:30:00+00:00', 'consumption': 733.33}, {'period_start': '2024-02-05T13:00:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-05T13:30:00+00:00', 'consumption': 146.67}, {'period_start': '2024-02-05T14:00:00+00:00', 'consumption': 293.33}, {'period_start': '2024-02-05T14:30:00+00:00', 'consumption': 256.67}, {'period_start': '2024-02-05T15:00:00+00:00', 'consumption': 2236.67}, {'period_start': '2024-02-05T15:30:00+00:00', 'consumption': 2493.33}, {'period_start': '2024-02-05T16:00:00+00:00', 'consumption': 2200.0}, {'period_start': '2024-02-05T16:30:00+00:00', 'consumption': 623.33}, {'period_start': '2024-02-05T17:00:00+00:00', 'consumption': 907.5}, {'period_start': '2024-02-05T17:30:00+00:00', 'consumption': 1430.0}, {'period_start': '2024-02-05T18:00:00+00:00', 'consumption': 1017.5}, {'period_start': '2024-02-05T18:30:00+00:00', 'consumption': 1952.5}, {'period_start': '2024-02-05T19:00:00+00:00', 'consumption': 1595.0}, {'period_start': '2024-02-05T19:30:00+00:00', 'consumption': 1100.0}, {'period_start': '2024-02-05T20:00:00+00:00', 'consumption': 385.0}, {'period_start': '2024-02-05T20:30:00+00:00', 'consumption': 522.5}, {'period_start': '2024-02-05T21:00:00+00:00', 'consumption': 770.0}, {'period_start': '2024-02-05T21:30:00+00:00', 'consumption': 522.5}, {'period_start': '2024-02-05T22:00:00+00:00', 'consumption': 605.0}, {'period_start': '2024-02-05T22:30:00+00:00', 'consumption': 495.0}, {'period_start': '2024-02-05T23:00:00+00:00', 'consumption': 357.5}, {'period_start': '2024-02-05T23:30:00+00:00', 'consumption': 385.0}], 'cost': [{'period_start': '2024-02-04T00:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T00:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T01:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T01:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T02:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T02:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T03:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T03:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T04:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T04:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T05:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T05:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T06:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T06:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T07:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T07:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T08:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T08:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T08:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T09:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T09:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T10:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T10:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T11:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T11:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T12:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T12:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T13:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T13:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T14:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T14:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T15:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T15:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T16:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T16:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T17:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T17:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T18:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T18:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T19:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T19:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T20:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T20:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T21:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T21:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T22:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T22:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T23:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-04T23:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T00:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T00:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T01:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T01:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T02:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T02:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T03:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T03:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T04:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T04:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T05:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T05:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T06:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T06:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T07:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T07:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T08:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T08:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T09:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T09:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T10:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T10:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T11:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T11:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T12:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T12:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T13:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T13:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T14:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T14:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T15:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T15:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T16:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T16:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T17:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T17:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T18:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T18:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T19:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T19:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T20:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T20:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T21:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T21:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T22:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T22:30:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T23:00:00+00:00', 'cumulative_cost': nan}, {'period_start': '2024-02-05T23:30:00+00:00', 'cumulative_cost': nan}]}}
2024-02-04 08:04:16.235459 WARNING HASS: Code: 400, error: {"message":"Invalid JSON specified."}
2024-02-04 08:04:16.237967 INFO pv_opt: Output written to sensor.pvopt_opt_cost
2024-02-04 08:04:16.238511 WARNING pv_opt: ------------------------------------------------------------
2024-02-04 08:04:16.238694 WARNING pv_opt: Unexpected error running initialize() for pv_opt
2024-02-04 08:04:16.238902 WARNING pv_opt: ------------------------------------------------------------
2024-02-04 08:04:16.240430 WARNING pv_opt: Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/appdaemon/app_management.py", line 162, in initialize_app
await utils.run_in_executor(self, init)
File "/usr/local/lib/python3.10/site-packages/appdaemon/utils.py", line 304, in run_in_executor
response = future.result()
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/home-assistant/appdaemon/apps/pv_opt/pv_opt.py", line 325, in initialize
self.optimise()
File "/usr/local/lib/python3.10/site-packages/appdaemon/adbase.py", line 35, in f_app_lock
return f(*args, **kw)
File "/home-assistant/appdaemon/apps/pv_opt/pv_opt.py", line 1392, in optimise
self._write_output()
File "/home-assistant/appdaemon/apps/pv_opt/pv_opt.py", line 1813, in _write_output
for window in self.windows.iterrows()
AttributeError: 'PVOpt' object has no attribute 'windows'
2024-02-04 08:04:16.240607 WARNING pv_opt: ------------------------------------------------------------
2024-02-04 08:04:16.241118 INFO AppDaemon: App initialization complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment