mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-03-17 20:16:17 +00:00
fix: genetic optimizer charge rates, SoC accuracy, and minor bugfixes (#949)
Some checks failed
Bump Version / Bump Version Workflow (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
docker-build / platform-excludes (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
Some checks failed
Bump Version / Bump Version Workflow (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
docker-build / platform-excludes (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
* record battery SOC at the start of the interval for accurate display
* map battery charge rates to GeneticOptimizationParameters and update related logic
Instead of using the EV charge rates, the battery now has its own charge rate defined
in the GeneticOptimizationParameters to better separate those entities.
* separate raw gene values from SOC-clamped op factors
The genetic_*_factor columns in the OptimizationSolution dataframe now
always carry the raw gene values (optimizer intent), while the
battery1_*_op_mode / battery1_*_op_factor columns and FRBCInstruction
operation_mode_factor reflect SOC-clamped effective values that can
actually be executed given the battery's state of charge at each hour.
Adds GeneticSolution._soc_clamped_operation_factors():
- AC charge factor: proportionally scaled down when battery headroom
(max_soc - current_soc) is less than what the commanded factor
would store in one hour; zeroed when battery is full.
- DC charge factor: zeroed when battery is at or above max SOC.
- Discharge: blocked when SOC is at or below min SOC.
Both optimization_solution() and energy_management_plan() pass the
clamped values to _battery_operation_from_solution(), so the plan
instructions the HEMS receives reflect physically achievable targets.
* ensure max AC charge power is only used if defined
* update fixtures for PV suffix + SOC-clamp algorithm changes
* handle None case for home appliance start hour in simulation
if the hour is zero, the the home appliance wont start
* update handling of invalid charge indices in autocharge hours
Seems to be a bug, since all invalid indexes needs to be invalidated (also the first one)
* remove double code in simulation preparation and improve comments
* update version
Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
Co-authored-by: Christopher Nadler <christopher.nadler@gmail.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
# the root directory (no add-on folder as usual).
|
# the root directory (no add-on folder as usual).
|
||||||
|
|
||||||
name: "Akkudoktor-EOS"
|
name: "Akkudoktor-EOS"
|
||||||
version: "0.2.0.dev2603140879799190"
|
version: "0.2.0.dev2603160842907888"
|
||||||
slug: "eos"
|
slug: "eos"
|
||||||
description: "Akkudoktor-EOS add-on"
|
description: "Akkudoktor-EOS add-on"
|
||||||
url: "https://github.com/Akkudoktor-EOS/EOS"
|
url: "https://github.com/Akkudoktor-EOS/EOS"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Akkudoktor-EOS
|
# Akkudoktor-EOS
|
||||||
|
|
||||||
**Version**: `v0.2.0.dev2603140879799190`
|
**Version**: `v0.2.0.dev2603160842907888`
|
||||||
|
|
||||||
<!-- pyml disable line-length -->
|
<!-- pyml disable line-length -->
|
||||||
**Description**: This project provides a comprehensive solution for simulating and optimizing an energy system based on renewable energy sources. With a focus on photovoltaic (PV) systems, battery storage (batteries), load management (consumer requirements), heat pumps, electric vehicles, and consideration of electricity price data, this system enables forecasting and optimization of energy flow and costs over a specified period.
|
**Description**: This project provides a comprehensive solution for simulating and optimizing an energy system based on renewable energy sources. With a focus on photovoltaic (PV) systems, battery storage (batteries), load management (consumer requirements), heat pumps, electric vehicles, and consideration of electricity price data, this system enables forecasting and optimization of energy flow and costs over a specified period.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"name": "Apache 2.0",
|
"name": "Apache 2.0",
|
||||||
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
||||||
},
|
},
|
||||||
"version": "v0.2.0.dev2603140879799190"
|
"version": "v0.2.0.dev2603160842907888"
|
||||||
},
|
},
|
||||||
"paths": {
|
"paths": {
|
||||||
"/v1/admin/cache/clear": {
|
"/v1/admin/cache/clear": {
|
||||||
|
|||||||
@@ -113,8 +113,14 @@ class GeneticSimulation(PydanticBaseModel):
|
|||||||
home_appliance: Optional[HomeAppliance] = None,
|
home_appliance: Optional[HomeAppliance] = None,
|
||||||
inverter: Optional[Inverter] = None,
|
inverter: Optional[Inverter] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
"""Prepare simulation runs.
|
||||||
|
|
||||||
|
Populate internal arrays and device references used during simulation.
|
||||||
|
"""
|
||||||
self.optimization_hours = optimization_hours
|
self.optimization_hours = optimization_hours
|
||||||
self.prediction_hours = prediction_hours
|
self.prediction_hours = prediction_hours
|
||||||
|
|
||||||
|
# Load arrays from provided EMS parameters
|
||||||
self.load_energy_array = np.array(parameters.gesamtlast, float)
|
self.load_energy_array = np.array(parameters.gesamtlast, float)
|
||||||
self.pv_prediction_wh = np.array(parameters.pv_prognose_wh, float)
|
self.pv_prediction_wh = np.array(parameters.pv_prognose_wh, float)
|
||||||
self.elect_price_hourly = np.array(parameters.strompreis_euro_pro_wh, float)
|
self.elect_price_hourly = np.array(parameters.strompreis_euro_pro_wh, float)
|
||||||
@@ -125,6 +131,8 @@ class GeneticSimulation(PydanticBaseModel):
|
|||||||
len(self.load_energy_array), parameters.einspeiseverguetung_euro_pro_wh, float
|
len(self.load_energy_array), parameters.einspeiseverguetung_euro_pro_wh, float
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Associate devices
|
||||||
if inverter:
|
if inverter:
|
||||||
self.battery = inverter.battery
|
self.battery = inverter.battery
|
||||||
else:
|
else:
|
||||||
@@ -132,23 +140,14 @@ class GeneticSimulation(PydanticBaseModel):
|
|||||||
self.ev = ev
|
self.ev = ev
|
||||||
self.home_appliance = home_appliance
|
self.home_appliance = home_appliance
|
||||||
self.inverter = inverter
|
self.inverter = inverter
|
||||||
|
|
||||||
|
# Initialize per-hour action arrays for the prediction horizon
|
||||||
self.ac_charge_hours = np.full(self.prediction_hours, 0.0)
|
self.ac_charge_hours = np.full(self.prediction_hours, 0.0)
|
||||||
self.dc_charge_hours = np.full(self.prediction_hours, 0.0)
|
self.dc_charge_hours = np.full(self.prediction_hours, 0.0)
|
||||||
self.bat_discharge_hours = np.full(self.prediction_hours, 0.0)
|
self.bat_discharge_hours = np.full(self.prediction_hours, 0.0)
|
||||||
self.ev_charge_hours = np.full(self.prediction_hours, 0.0)
|
self.ev_charge_hours = np.full(self.prediction_hours, 0.0)
|
||||||
self.ev_discharge_hours = np.full(self.prediction_hours, 0.0)
|
self.ev_discharge_hours = np.full(self.prediction_hours, 0.0)
|
||||||
self.home_appliance_start_hour = None
|
self.home_appliance_start_hour = None
|
||||||
"""Prepare simulation runs."""
|
|
||||||
self.load_energy_array = np.array(parameters.gesamtlast, float)
|
|
||||||
self.pv_prediction_wh = np.array(parameters.pv_prognose_wh, float)
|
|
||||||
self.elect_price_hourly = np.array(parameters.strompreis_euro_pro_wh, float)
|
|
||||||
self.elect_revenue_per_hour_arr = (
|
|
||||||
parameters.einspeiseverguetung_euro_pro_wh
|
|
||||||
if isinstance(parameters.einspeiseverguetung_euro_pro_wh, list)
|
|
||||||
else np.full(
|
|
||||||
len(self.load_energy_array), parameters.einspeiseverguetung_euro_pro_wh, float
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
def reset(self) -> None:
|
def reset(self) -> None:
|
||||||
if self.ev:
|
if self.ev:
|
||||||
@@ -299,7 +298,7 @@ class GeneticSimulation(PydanticBaseModel):
|
|||||||
# Default return if no electric vehicle is available
|
# Default return if no electric vehicle is available
|
||||||
soc_ev_per_hour = np.full((total_hours), 0)
|
soc_ev_per_hour = np.full((total_hours), 0)
|
||||||
|
|
||||||
if home_appliance_fast and self.home_appliance_start_hour:
|
if home_appliance_fast and self.home_appliance_start_hour is not None:
|
||||||
home_appliance_enabled = True
|
home_appliance_enabled = True
|
||||||
# Pre-allocate arrays for the results, optimized for speed
|
# Pre-allocate arrays for the results, optimized for speed
|
||||||
home_appliance_wh_per_hour = np.full((total_hours), np.nan)
|
home_appliance_wh_per_hour = np.full((total_hours), np.nan)
|
||||||
@@ -335,6 +334,13 @@ class GeneticSimulation(PydanticBaseModel):
|
|||||||
consumption += loaded_energy_ev
|
consumption += loaded_energy_ev
|
||||||
losses_wh_per_hour[hour_idx] += verluste_eauto
|
losses_wh_per_hour[hour_idx] += verluste_eauto
|
||||||
|
|
||||||
|
# Save battery SOC before inverter processing = true begin-of-interval state.
|
||||||
|
# Must be recorded here (before DC charge/discharge) so the displayed SOC at
|
||||||
|
# timestamp T reflects what the battery actually had at the START of interval T,
|
||||||
|
# not the post-DC result. Consistent with the EV SOC convention above.
|
||||||
|
if battery_fast:
|
||||||
|
soc_per_hour[hour_idx] = battery_fast.current_soc_percentage()
|
||||||
|
|
||||||
# Process inverter logic
|
# Process inverter logic
|
||||||
energy_feedin_grid_actual = energy_consumption_grid_actual = losses = eigenverbrauch = (
|
energy_feedin_grid_actual = energy_consumption_grid_actual = losses = eigenverbrauch = (
|
||||||
0.0
|
0.0
|
||||||
@@ -351,7 +357,6 @@ class GeneticSimulation(PydanticBaseModel):
|
|||||||
|
|
||||||
# AC PV Battery Charge
|
# AC PV Battery Charge
|
||||||
if battery_fast:
|
if battery_fast:
|
||||||
soc_per_hour[hour_idx] = battery_fast.current_soc_percentage() # save begin state
|
|
||||||
hour_ac_charge = ac_charge_hours_fast[hour]
|
hour_ac_charge = ac_charge_hours_fast[hour]
|
||||||
if hour_ac_charge > 0.0 and ac_charging_possible:
|
if hour_ac_charge > 0.0 and ac_charging_possible:
|
||||||
# Cap charge factor by max_ac_charge_power_w if set
|
# Cap charge factor by max_ac_charge_power_w if set
|
||||||
@@ -436,6 +441,9 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
self.config.prediction.hours - self.config.optimization.horizon_hours
|
self.config.prediction.hours - self.config.optimization.horizon_hours
|
||||||
)
|
)
|
||||||
self.ev_possible_charge_values: list[float] = [1.0]
|
self.ev_possible_charge_values: list[float] = [1.0]
|
||||||
|
# Separate charge-level list for battery AC charging (independent of EV rates).
|
||||||
|
# Populated from parameters.pv_akku.charge_rates in optimierung_ems.
|
||||||
|
self.bat_possible_charge_values: list[float] = [1.0]
|
||||||
self.verbose = verbose
|
self.verbose = verbose
|
||||||
self.fix_seed = fixed_seed
|
self.fix_seed = fixed_seed
|
||||||
self.optimize_ev = True
|
self.optimize_ev = True
|
||||||
@@ -457,29 +465,31 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
) -> tuple[np.ndarray, np.ndarray, np.ndarray]:
|
) -> tuple[np.ndarray, np.ndarray, np.ndarray]:
|
||||||
"""Decode the input array into ac_charge, dc_charge, and discharge arrays."""
|
"""Decode the input array into ac_charge, dc_charge, and discharge arrays."""
|
||||||
discharge_hours_bin_np = np.array(discharge_hours_bin)
|
discharge_hours_bin_np = np.array(discharge_hours_bin)
|
||||||
len_ac = len(self.ev_possible_charge_values)
|
# Battery AC charge uses its own charge-level list (bat_possible_charge_values).
|
||||||
|
len_bat = len(self.bat_possible_charge_values)
|
||||||
|
|
||||||
# Categorization:
|
# Categorization (using battery charge levels):
|
||||||
# Idle: 0 .. len_ac-1
|
# Idle: 0 .. len_bat-1
|
||||||
# Discharge: len_ac .. 2*len_ac - 1
|
# Discharge: len_bat .. 2*len_bat - 1
|
||||||
# AC Charge: 2*len_ac .. 3*len_ac - 1
|
# AC Charge: 2*len_bat .. 3*len_bat - 1 (maps to bat_possible_charge_values)
|
||||||
# DC optional: 3*len_ac (not allowed), 3*len_ac + 1 (allowed)
|
# DC optional: 3*len_bat (not allowed), 3*len_bat + 1 (allowed)
|
||||||
|
|
||||||
# Idle has no charge, Discharge has binary 1, AC Charge has corresponding values
|
|
||||||
# Idle states
|
# Idle states
|
||||||
idle_mask = (discharge_hours_bin_np >= 0) & (discharge_hours_bin_np < len_ac)
|
idle_mask = (discharge_hours_bin_np >= 0) & (discharge_hours_bin_np < len_bat)
|
||||||
|
|
||||||
# Discharge states
|
# Discharge states
|
||||||
discharge_mask = (discharge_hours_bin_np >= len_ac) & (discharge_hours_bin_np < 2 * len_ac)
|
discharge_mask = (discharge_hours_bin_np >= len_bat) & (
|
||||||
|
discharge_hours_bin_np < 2 * len_bat
|
||||||
|
)
|
||||||
|
|
||||||
# AC states
|
# AC states
|
||||||
ac_mask = (discharge_hours_bin_np >= 2 * len_ac) & (discharge_hours_bin_np < 3 * len_ac)
|
ac_mask = (discharge_hours_bin_np >= 2 * len_bat) & (discharge_hours_bin_np < 3 * len_bat)
|
||||||
ac_indices = (discharge_hours_bin_np[ac_mask] - 2 * len_ac).astype(int)
|
ac_indices = (discharge_hours_bin_np[ac_mask] - 2 * len_bat).astype(int)
|
||||||
|
|
||||||
# DC states (if enabled)
|
# DC states (if enabled)
|
||||||
if self.optimize_dc_charge:
|
if self.optimize_dc_charge:
|
||||||
dc_not_allowed_state = 3 * len_ac
|
dc_not_allowed_state = 3 * len_bat
|
||||||
dc_allowed_state = 3 * len_ac + 1
|
dc_allowed_state = 3 * len_bat + 1
|
||||||
dc_charge = np.where(discharge_hours_bin_np == dc_allowed_state, 1, 0)
|
dc_charge = np.where(discharge_hours_bin_np == dc_allowed_state, 1, 0)
|
||||||
else:
|
else:
|
||||||
dc_charge = np.ones_like(discharge_hours_bin_np, dtype=float)
|
dc_charge = np.ones_like(discharge_hours_bin_np, dtype=float)
|
||||||
@@ -489,7 +499,7 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
discharge[discharge_mask] = 1 # Set Discharge states to 1
|
discharge[discharge_mask] = 1 # Set Discharge states to 1
|
||||||
|
|
||||||
ac_charge = np.zeros_like(discharge_hours_bin_np, dtype=float)
|
ac_charge = np.zeros_like(discharge_hours_bin_np, dtype=float)
|
||||||
ac_charge[ac_mask] = [self.ev_possible_charge_values[i] for i in ac_indices]
|
ac_charge[ac_mask] = [self.bat_possible_charge_values[i] for i in ac_indices]
|
||||||
|
|
||||||
# Idle is just 0, already default.
|
# Idle is just 0, already default.
|
||||||
|
|
||||||
@@ -497,12 +507,12 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
|
|
||||||
def mutate(self, individual: list[int]) -> tuple[list[int]]:
|
def mutate(self, individual: list[int]) -> tuple[list[int]]:
|
||||||
"""Custom mutation function for the individual."""
|
"""Custom mutation function for the individual."""
|
||||||
# Calculate the number of states
|
# Calculate the number of states using battery charge levels
|
||||||
len_ac = len(self.ev_possible_charge_values)
|
len_bat = len(self.bat_possible_charge_values)
|
||||||
if self.optimize_dc_charge:
|
if self.optimize_dc_charge:
|
||||||
total_states = 3 * len_ac + 2
|
total_states = 3 * len_bat + 2
|
||||||
else:
|
else:
|
||||||
total_states = 3 * len_ac
|
total_states = 3 * len_bat
|
||||||
|
|
||||||
# 1. Mutating the charge_discharge part
|
# 1. Mutating the charge_discharge part
|
||||||
charge_discharge_part = individual[: self.config.prediction.hours]
|
charge_discharge_part = individual[: self.config.prediction.hours]
|
||||||
@@ -633,30 +643,30 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
creator.create("Individual", list, fitness=creator.FitnessMin)
|
creator.create("Individual", list, fitness=creator.FitnessMin)
|
||||||
|
|
||||||
self.toolbox = base.Toolbox()
|
self.toolbox = base.Toolbox()
|
||||||
len_ac = len(self.ev_possible_charge_values)
|
# Battery state space uses bat_possible_charge_values; EV index space uses ev_possible_charge_values.
|
||||||
|
len_bat = len(self.bat_possible_charge_values)
|
||||||
|
len_ev = len(self.ev_possible_charge_values)
|
||||||
|
|
||||||
# Total number of states without DC:
|
# Total battery/discharge states:
|
||||||
# Idle: len_ac states
|
# Idle: len_bat states
|
||||||
# Discharge: len_ac states
|
# Discharge: len_bat states
|
||||||
# AC-Charge: len_ac states
|
# AC-Charge: len_bat states (maps to bat_possible_charge_values)
|
||||||
# Total without DC: 3 * len_ac
|
# With DC: + 2 additional states
|
||||||
|
|
||||||
# With DC: + 2 states
|
|
||||||
if self.optimize_dc_charge:
|
if self.optimize_dc_charge:
|
||||||
total_states = 3 * len_ac + 2
|
total_states = 3 * len_bat + 2
|
||||||
else:
|
else:
|
||||||
total_states = 3 * len_ac
|
total_states = 3 * len_bat
|
||||||
|
|
||||||
# State space: 0 .. (total_states - 1)
|
# State space: 0 .. (total_states - 1)
|
||||||
self.toolbox.register("attr_discharge_state", random.randint, 0, total_states - 1)
|
self.toolbox.register("attr_discharge_state", random.randint, 0, total_states - 1)
|
||||||
|
|
||||||
# EV attributes
|
# EV attributes (separate index space)
|
||||||
if self.optimize_ev:
|
if self.optimize_ev:
|
||||||
self.toolbox.register(
|
self.toolbox.register(
|
||||||
"attr_ev_charge_index",
|
"attr_ev_charge_index",
|
||||||
random.randint,
|
random.randint,
|
||||||
0,
|
0,
|
||||||
len_ac - 1,
|
len_ev - 1,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Household appliance start time
|
# Household appliance start time
|
||||||
@@ -666,17 +676,17 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
self.toolbox.register("population", tools.initRepeat, list, self.toolbox.individual)
|
self.toolbox.register("population", tools.initRepeat, list, self.toolbox.individual)
|
||||||
self.toolbox.register("mate", tools.cxTwoPoint)
|
self.toolbox.register("mate", tools.cxTwoPoint)
|
||||||
|
|
||||||
# Mutation operator for charge/discharge states
|
# Mutation operator for battery charge/discharge states
|
||||||
self.toolbox.register(
|
self.toolbox.register(
|
||||||
"mutate_charge_discharge", tools.mutUniformInt, low=0, up=total_states - 1, indpb=0.2
|
"mutate_charge_discharge", tools.mutUniformInt, low=0, up=total_states - 1, indpb=0.2
|
||||||
)
|
)
|
||||||
|
|
||||||
# Mutation operator for EV states
|
# Mutation operator for EV states (separate index space)
|
||||||
self.toolbox.register(
|
self.toolbox.register(
|
||||||
"mutate_ev_charge_index",
|
"mutate_ev_charge_index",
|
||||||
tools.mutUniformInt,
|
tools.mutUniformInt,
|
||||||
low=0,
|
low=0,
|
||||||
up=len_ac - 1,
|
up=len_ev - 1,
|
||||||
indpb=0.2,
|
indpb=0.2,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -800,7 +810,7 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
if np.any(invalid_charge_mask):
|
if np.any(invalid_charge_mask):
|
||||||
invalid_indices = np.where(invalid_charge_mask)[0]
|
invalid_indices = np.where(invalid_charge_mask)[0]
|
||||||
if len(invalid_indices) > 1:
|
if len(invalid_indices) > 1:
|
||||||
eautocharge_hours_index_tail[invalid_indices[1:]] = 0
|
eautocharge_hours_index_tail[invalid_indices] = 0
|
||||||
|
|
||||||
eautocharge_hours_index[-min_length:] = eautocharge_hours_index_tail.tolist()
|
eautocharge_hours_index[-min_length:] = eautocharge_hours_index_tail.tolist()
|
||||||
|
|
||||||
@@ -1127,6 +1137,25 @@ class GeneticOptimization(OptimizationBase):
|
|||||||
else:
|
else:
|
||||||
self.optimize_ev = False
|
self.optimize_ev = False
|
||||||
|
|
||||||
|
# Battery AC charge rates — use the battery's configured charge_rates so the
|
||||||
|
# optimizer can select partial AC charge power (e.g. 10 %, 50 %, 100 %) instead
|
||||||
|
# of always forcing full power. Falls back to [1.0] when not configured.
|
||||||
|
if parameters.pv_akku and parameters.pv_akku.charge_rates:
|
||||||
|
self.bat_possible_charge_values = [
|
||||||
|
r for r in parameters.pv_akku.charge_rates if r > 0.0
|
||||||
|
] or [1.0]
|
||||||
|
elif (
|
||||||
|
self.config.devices.batteries
|
||||||
|
and self.config.devices.batteries[0]
|
||||||
|
and self.config.devices.batteries[0].charge_rates
|
||||||
|
):
|
||||||
|
self.bat_possible_charge_values = [
|
||||||
|
r for r in self.config.devices.batteries[0].charge_rates if r > 0.0
|
||||||
|
] or [1.0]
|
||||||
|
else:
|
||||||
|
self.bat_possible_charge_values = [1.0]
|
||||||
|
logger.debug("Battery AC charge levels: {}", self.bat_possible_charge_values)
|
||||||
|
|
||||||
# Initialize household appliance if applicable
|
# Initialize household appliance if applicable
|
||||||
dishwasher = (
|
dishwasher = (
|
||||||
HomeAppliance(
|
HomeAppliance(
|
||||||
|
|||||||
@@ -407,6 +407,7 @@ class GeneticOptimizationParameters(
|
|||||||
max_charge_power_w=battery_config.max_charge_power_w,
|
max_charge_power_w=battery_config.max_charge_power_w,
|
||||||
min_soc_percentage=battery_config.min_soc_percentage,
|
min_soc_percentage=battery_config.min_soc_percentage,
|
||||||
max_soc_percentage=battery_config.max_soc_percentage,
|
max_soc_percentage=battery_config.max_soc_percentage,
|
||||||
|
charge_rates=battery_config.charge_rates,
|
||||||
)
|
)
|
||||||
except:
|
except:
|
||||||
logger.info(
|
logger.info(
|
||||||
|
|||||||
@@ -262,6 +262,67 @@ class GeneticSolution(ConfigMixin, GeneticParametersBaseModel):
|
|||||||
# Fallback → safe idle
|
# Fallback → safe idle
|
||||||
return BatteryOperationMode.IDLE, 1.0
|
return BatteryOperationMode.IDLE, 1.0
|
||||||
|
|
||||||
|
def _soc_clamped_operation_factors(
|
||||||
|
self,
|
||||||
|
ac_charge: float,
|
||||||
|
dc_charge: float,
|
||||||
|
discharge_allowed: bool,
|
||||||
|
soc_pct: float,
|
||||||
|
) -> tuple[float, float, bool]:
|
||||||
|
"""Clamp raw genetic gene values by the battery's actual SOC at that hour.
|
||||||
|
|
||||||
|
The raw gene values represent the optimizer's *intent* and are stored
|
||||||
|
verbatim in the ``genetic_*`` solution columns. This method derives
|
||||||
|
the *effective* values that can physically be executed given the
|
||||||
|
battery's state of charge, used for the ``battery1_*_op_*`` columns
|
||||||
|
and for ``energy_management_plan`` instructions.
|
||||||
|
|
||||||
|
Clamping rules:
|
||||||
|
- AC charge factor: scaled down proportionally when the battery
|
||||||
|
headroom (max_soc − current_soc) is smaller than what the
|
||||||
|
commanded factor would store in one hour. Set to 0 when full.
|
||||||
|
- DC charge factor (PV): zeroed when battery is at or above max SOC
|
||||||
|
(the inverter curtails automatically, but this makes intent clear).
|
||||||
|
- Discharge: blocked when SOC is at or below min SOC.
|
||||||
|
"""
|
||||||
|
bat_list = self.config.devices.batteries
|
||||||
|
if not bat_list:
|
||||||
|
return ac_charge, dc_charge, discharge_allowed
|
||||||
|
|
||||||
|
bat = bat_list[0]
|
||||||
|
min_soc = float(bat.min_soc_percentage)
|
||||||
|
max_soc = float(bat.max_soc_percentage)
|
||||||
|
capacity_wh = float(bat.capacity_wh)
|
||||||
|
ch_eff = float(bat.charging_efficiency)
|
||||||
|
headroom_wh = max(0.0, (max_soc - soc_pct) / 100.0 * capacity_wh)
|
||||||
|
|
||||||
|
# --- AC charge: scale to available headroom ---
|
||||||
|
effective_ac = ac_charge
|
||||||
|
if effective_ac > 0.0:
|
||||||
|
if headroom_wh <= 0.0:
|
||||||
|
effective_ac = 0.0
|
||||||
|
else:
|
||||||
|
inv_list = self.config.devices.inverters
|
||||||
|
ac_to_dc_eff = float(inv_list[0].ac_to_dc_efficiency) if inv_list else 1.0
|
||||||
|
max_ac_cp_w = (
|
||||||
|
float(inv_list[0].max_ac_charge_power_w)
|
||||||
|
if inv_list and inv_list[0].max_ac_charge_power_w is not None
|
||||||
|
else float(bat.max_charge_power_w)
|
||||||
|
)
|
||||||
|
max_dc_per_h_wh = effective_ac * max_ac_cp_w * ac_to_dc_eff * ch_eff
|
||||||
|
if max_dc_per_h_wh > headroom_wh:
|
||||||
|
effective_ac = effective_ac * (headroom_wh / max_dc_per_h_wh)
|
||||||
|
|
||||||
|
# --- DC charge (PV): zero when battery is full ---
|
||||||
|
effective_dc = dc_charge
|
||||||
|
if effective_dc > 0.0 and headroom_wh <= 0.0:
|
||||||
|
effective_dc = 0.0
|
||||||
|
|
||||||
|
# --- Discharge: block at min SOC ---
|
||||||
|
effective_dis = discharge_allowed and (soc_pct > min_soc)
|
||||||
|
|
||||||
|
return effective_ac, effective_dc, effective_dis
|
||||||
|
|
||||||
def optimization_solution(self) -> OptimizationSolution:
|
def optimization_solution(self) -> OptimizationSolution:
|
||||||
"""Provide the genetic solution as a general optimization solution.
|
"""Provide the genetic solution as a general optimization solution.
|
||||||
|
|
||||||
@@ -334,12 +395,26 @@ class GeneticSolution(ConfigMixin, GeneticParametersBaseModel):
|
|||||||
ac_charge_hour = self.ac_charge[hour_idx]
|
ac_charge_hour = self.ac_charge[hour_idx]
|
||||||
dc_charge_hour = self.dc_charge[hour_idx]
|
dc_charge_hour = self.dc_charge[hour_idx]
|
||||||
discharge_allowed_hour = bool(self.discharge_allowed[hour_idx])
|
discharge_allowed_hour = bool(self.discharge_allowed[hour_idx])
|
||||||
operation_mode, operation_mode_factor = self._battery_operation_from_solution(
|
|
||||||
ac_charge_hour, dc_charge_hour, discharge_allowed_hour
|
# Raw genetic gene values — optimizer intent, stored verbatim
|
||||||
)
|
|
||||||
operation["genetic_ac_charge_factor"].append(ac_charge_hour)
|
operation["genetic_ac_charge_factor"].append(ac_charge_hour)
|
||||||
operation["genetic_dc_charge_factor"].append(dc_charge_hour)
|
operation["genetic_dc_charge_factor"].append(dc_charge_hour)
|
||||||
operation["genetic_discharge_allowed_factor"].append(discharge_allowed_hour)
|
operation["genetic_discharge_allowed_factor"].append(float(discharge_allowed_hour))
|
||||||
|
|
||||||
|
# SOC-clamped effective values — what can physically be executed at
|
||||||
|
# this hour given the expected battery state of charge.
|
||||||
|
result_idx = hour_idx - start_day_hour
|
||||||
|
soc_h_pct = (
|
||||||
|
self.result.akku_soc_pro_stunde[result_idx]
|
||||||
|
if result_idx < len(self.result.akku_soc_pro_stunde)
|
||||||
|
else 0.0
|
||||||
|
)
|
||||||
|
eff_ac, eff_dc, eff_dis = self._soc_clamped_operation_factors(
|
||||||
|
ac_charge_hour, dc_charge_hour, discharge_allowed_hour, soc_h_pct
|
||||||
|
)
|
||||||
|
operation_mode, operation_mode_factor = self._battery_operation_from_solution(
|
||||||
|
eff_ac, eff_dc, eff_dis
|
||||||
|
)
|
||||||
for mode in BatteryOperationMode:
|
for mode in BatteryOperationMode:
|
||||||
mode_key = f"battery1_{mode.lower()}_op_mode"
|
mode_key = f"battery1_{mode.lower()}_op_mode"
|
||||||
factor_key = f"battery1_{mode.lower()}_op_factor"
|
factor_key = f"battery1_{mode.lower()}_op_factor"
|
||||||
@@ -561,10 +636,24 @@ class GeneticSolution(ConfigMixin, GeneticParametersBaseModel):
|
|||||||
for hour_idx, rate in enumerate(self.ac_charge):
|
for hour_idx, rate in enumerate(self.ac_charge):
|
||||||
if hour_idx < start_day_hour:
|
if hour_idx < start_day_hour:
|
||||||
continue
|
continue
|
||||||
operation_mode, operation_mode_factor = self._battery_operation_from_solution(
|
# Derive SOC-clamped effective factors so that FRBCInstruction
|
||||||
|
# operation_mode_factor reflects what can physically be executed,
|
||||||
|
# while the raw genetic gene values are preserved in the solution
|
||||||
|
# dataframe (genetic_*_factor columns).
|
||||||
|
result_idx = hour_idx - start_day_hour
|
||||||
|
soc_h_pct = (
|
||||||
|
self.result.akku_soc_pro_stunde[result_idx]
|
||||||
|
if result_idx < len(self.result.akku_soc_pro_stunde)
|
||||||
|
else 0.0
|
||||||
|
)
|
||||||
|
eff_ac, eff_dc, eff_dis = self._soc_clamped_operation_factors(
|
||||||
self.ac_charge[hour_idx],
|
self.ac_charge[hour_idx],
|
||||||
self.dc_charge[hour_idx],
|
self.dc_charge[hour_idx],
|
||||||
bool(self.discharge_allowed[hour_idx]),
|
bool(self.discharge_allowed[hour_idx]),
|
||||||
|
soc_h_pct,
|
||||||
|
)
|
||||||
|
operation_mode, operation_mode_factor = self._battery_operation_from_solution(
|
||||||
|
eff_ac, eff_dc, eff_dis
|
||||||
)
|
)
|
||||||
if (
|
if (
|
||||||
operation_mode == last_operation_mode
|
operation_mode == last_operation_mode
|
||||||
|
|||||||
368
tests/testdata/optimize_result_1.json
vendored
368
tests/testdata/optimize_result_1.json
vendored
@@ -17,7 +17,7 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
1.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
1.0,
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -37,15 +37,15 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.375,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.625,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.375,
|
0.0,
|
||||||
0.75,
|
0.0,
|
||||||
1.0,
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
@@ -110,27 +110,11 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
0,
|
1,
|
||||||
0,
|
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
@@ -140,10 +124,26 @@
|
|||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
992.46,
|
992.46,
|
||||||
1155.99,
|
1155.99,
|
||||||
827.01,
|
827.01,
|
||||||
3132.98,
|
1257.98,
|
||||||
1232.67,
|
1232.67,
|
||||||
871.26,
|
871.26,
|
||||||
860.88,
|
860.88,
|
||||||
@@ -237,10 +237,10 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.22334747537370364,
|
0.19391086083906173,
|
||||||
0.19016535126346096,
|
0.18681973047764083,
|
||||||
0.12880892587597292,
|
0.12880892587597292,
|
||||||
0.04260510586128589,
|
0.02404700392596282,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -260,21 +260,21 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.059176154400016855,
|
0.0,
|
||||||
0.25751345302450973,
|
0.12500582038027028,
|
||||||
0.14923279815365575,
|
0.14608958812480227,
|
||||||
0.07926913850394514,
|
0.09047346757070289,
|
||||||
0.024174420063375994,
|
0.010404817872487553,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Gesamt_Verluste": 2500.030611233429,
|
"Gesamt_Verluste": 2878.660271824896,
|
||||||
"Gesamtbilanz_Euro": 1.4988843060949502,
|
"Gesamtbilanz_Euro": 1.053854835771092,
|
||||||
"Gesamteinnahmen_Euro": 1.1542928225199272,
|
"Gesamteinnahmen_Euro": 0.9055602150669013,
|
||||||
"Gesamtkosten_Euro": 2.6531771286148773,
|
"Gesamtkosten_Euro": 1.9594150508379933,
|
||||||
"Home_appliance_wh_per_hour": [
|
"Home_appliance_wh_per_hour": [
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -316,39 +316,39 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Kosten_Euro_pro_Stunde": [
|
"Kosten_Euro_pro_Stunde": [
|
||||||
0.027996119999999992,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.04475252599999999,
|
0.004569992000000018,
|
||||||
0.0018232052307313393,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.008135265032732555,
|
0.0,
|
||||||
|
4.482711108977355e-14,
|
||||||
|
0.0,
|
||||||
0.016809914659344942,
|
0.016809914659344942,
|
||||||
0.061530097476751734,
|
0.0,
|
||||||
0.05480703000000003,
|
0.05480703000000003,
|
||||||
0.0,
|
0.0,
|
||||||
|
0.291163892,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.19588158,
|
|
||||||
0.174739608,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.22802125600000003,
|
0.22802125600000003,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.182970359,
|
||||||
0.162995926,
|
0.162995926,
|
||||||
0.16677339,
|
0.0,
|
||||||
0.26411047,
|
0.26411047,
|
||||||
0.0,
|
0.0,
|
||||||
0.08545095,
|
|
||||||
0.0,
|
|
||||||
0.028255713342252034,
|
|
||||||
0.0,
|
|
||||||
0.3629952558325975,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0076430797975209205,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.04565364324294593,
|
0.0,
|
||||||
|
0.010682755832597498,
|
||||||
|
0.0,
|
||||||
|
0.0003442778967139274,
|
||||||
|
0.0,
|
||||||
|
0.028137079449292023,
|
||||||
|
0.0,
|
||||||
0.08231598,
|
0.08231598,
|
||||||
0.174597189,
|
0.174597189,
|
||||||
0.293043269,
|
0.293043269,
|
||||||
@@ -356,39 +356,39 @@
|
|||||||
0.16484566
|
0.16484566
|
||||||
],
|
],
|
||||||
"Netzbezug_Wh_pro_Stunde": [
|
"Netzbezug_Wh_pro_Stunde": [
|
||||||
122.78999999999996,
|
|
||||||
0.0,
|
0.0,
|
||||||
213.81999999999994,
|
20.660000000000082,
|
||||||
9.703061366318996,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
37.01212480770043,
|
0.0,
|
||||||
|
2.236881790906864e-10,
|
||||||
|
0.0,
|
||||||
74.05248748610107,
|
74.05248748610107,
|
||||||
205.30563055305882,
|
0.0,
|
||||||
171.54000000000008,
|
171.54000000000008,
|
||||||
0.0,
|
0.0,
|
||||||
|
980.68,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
704.61,
|
|
||||||
516.37,
|
|
||||||
0.0,
|
0.0,
|
||||||
694.34,
|
694.34,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
556.31,
|
||||||
488.89,
|
488.89,
|
||||||
506.91,
|
0.0,
|
||||||
799.85,
|
799.85,
|
||||||
0.0,
|
0.0,
|
||||||
351.65,
|
|
||||||
0.0,
|
|
||||||
127.73830624887898,
|
|
||||||
0.0,
|
|
||||||
1931.853410498124,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
34.77288351920346,
|
|
||||||
0.0,
|
0.0,
|
||||||
152.3311419517715,
|
0.0,
|
||||||
|
56.853410498124,
|
||||||
|
0.0,
|
||||||
|
1.7179535764168035,
|
||||||
|
0.0,
|
||||||
|
123.95189184710142,
|
||||||
|
0.0,
|
||||||
257.64,
|
257.64,
|
||||||
566.69,
|
566.69,
|
||||||
987.01,
|
987.01,
|
||||||
@@ -401,10 +401,10 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
3190.678219624338,
|
2770.155154843739,
|
||||||
2716.6478751922996,
|
2668.8532925377262,
|
||||||
1840.127512513899,
|
1840.127512513899,
|
||||||
608.6443694469413,
|
343.5286275137546,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -424,11 +424,11 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
845.3736342859552,
|
0.0,
|
||||||
3678.7636146358536,
|
1785.797434003861,
|
||||||
2131.8971164807967,
|
2086.994116068604,
|
||||||
1132.4162643420734,
|
1292.4781081528986,
|
||||||
345.3488580482285,
|
148.64025532125078,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -436,39 +436,39 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Verluste_Pro_Stunde": [
|
"Verluste_Pro_Stunde": [
|
||||||
|
16.744090909090914,
|
||||||
0.0,
|
0.0,
|
||||||
2.817272727272737,
|
29.157272727272726,
|
||||||
0.0,
|
3.7179773678125034,
|
||||||
2.3948326360417305,
|
|
||||||
582.6180000000041,
|
582.6180000000041,
|
||||||
138.18861364508305,
|
188.65138141872444,
|
||||||
0.0,
|
10.782457846871594,
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
59.810111380126784,
|
||||||
0.0,
|
0.0,
|
||||||
99.72409090909093,
|
99.72409090909093,
|
||||||
133.72909090909081,
|
0.0,
|
||||||
124.41545454545451,
|
124.41545454545451,
|
||||||
0.0,
|
96.08318181818186,
|
||||||
0.0,
|
70.41409090909087,
|
||||||
118.37045454545455,
|
118.37045454545455,
|
||||||
0.0,
|
0.0,
|
||||||
83.01681818181817,
|
83.01681818181817,
|
||||||
75.86045454545456,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
69.12409090909085,
|
||||||
0.0,
|
0.0,
|
||||||
109.96227272727276,
|
109.96227272727276,
|
||||||
0.0,
|
47.952272727272714,
|
||||||
16.01263877609336,
|
16.01263877609336,
|
||||||
38.52740325013451,
|
55.946263193163475,
|
||||||
161.62968357967037,
|
161.62968357967037,
|
||||||
239.20999074022512,
|
14.209990740225123,
|
||||||
436.85356388568886,
|
538.2984000000038,
|
||||||
0.5004782113116364,
|
227.42215349036655,
|
||||||
0.0,
|
10.13011689299087,
|
||||||
36.109951963721926,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
44.377460775206174,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -477,33 +477,35 @@
|
|||||||
],
|
],
|
||||||
"akku_soc_pro_stunde": [
|
"akku_soc_pro_stunde": [
|
||||||
80.0,
|
80.0,
|
||||||
79.91107093663912,
|
79.4714617768595,
|
||||||
79.91107093663912,
|
79.4714617768595,
|
||||||
79.97759406541806,
|
78.55109331955923,
|
||||||
96.1614273987495,
|
78.57585051614844,
|
||||||
|
94.75968384947988,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
96.85214359504131,
|
96.85214359504131,
|
||||||
92.63089703856748,
|
96.85214359504131,
|
||||||
88.7036415289256,
|
92.92488808539943,
|
||||||
88.7036415289256,
|
89.89195936639118,
|
||||||
88.7036415289256,
|
87.6692923553719,
|
||||||
84.96720041322313,
|
83.93285123966942,
|
||||||
84.96720041322313,
|
83.93285123966942,
|
||||||
82.34672004132229,
|
81.31237086776858,
|
||||||
79.95213498622587,
|
81.31237086776858,
|
||||||
79.95213498622587,
|
81.31237086776858,
|
||||||
79.95213498622587,
|
79.13042355371898,
|
||||||
79.95213498622587,
|
79.13042355371898,
|
||||||
76.48110365013771,
|
75.65939221763084,
|
||||||
76.48110365013771,
|
74.14574724517905,
|
||||||
76.64231728537023,
|
74.30696088041155,
|
||||||
77.71252293120729,
|
74.82732877552169,
|
||||||
81.22045681594867,
|
78.33526266026307,
|
||||||
81.61517878095492,
|
78.72998462526934,
|
||||||
|
93.68271795860093,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
@@ -511,8 +513,6 @@
|
|||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
|
||||||
96.84060778236915,
|
|
||||||
96.84060778236915
|
96.84060778236915
|
||||||
],
|
],
|
||||||
"Electricity_price": [
|
"Electricity_price": [
|
||||||
@@ -668,53 +668,105 @@
|
|||||||
},
|
},
|
||||||
"start_solution": [
|
"start_solution": [
|
||||||
1.0,
|
1.0,
|
||||||
5.0,
|
1.0,
|
||||||
19.0,
|
1.0,
|
||||||
10.0,
|
1.0,
|
||||||
19.0,
|
|
||||||
7.0,
|
|
||||||
17.0,
|
|
||||||
18.0,
|
|
||||||
3.0,
|
|
||||||
15.0,
|
|
||||||
4.0,
|
|
||||||
10.0,
|
|
||||||
2.0,
|
|
||||||
3.0,
|
|
||||||
11.0,
|
|
||||||
10.0,
|
|
||||||
5.0,
|
|
||||||
20.0,
|
|
||||||
2.0,
|
|
||||||
20.0,
|
|
||||||
11.0,
|
|
||||||
13.0,
|
|
||||||
11.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
1.0,
|
1.0,
|
||||||
8.0,
|
|
||||||
4.0,
|
|
||||||
11.0,
|
|
||||||
8.0,
|
|
||||||
3.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
1.0,
|
1.0,
|
||||||
12.0,
|
2.0,
|
||||||
14.0,
|
1.0,
|
||||||
13.0,
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
13.0,
|
1.0,
|
||||||
15.0,
|
1.0,
|
||||||
12.0,
|
1.0,
|
||||||
11.0,
|
0.0,
|
||||||
17.0,
|
1.0,
|
||||||
12.0,
|
0.0,
|
||||||
3.0,
|
1.0,
|
||||||
15.0,
|
2.0,
|
||||||
18.0,
|
1.0,
|
||||||
20.0,
|
0.0,
|
||||||
7.0,
|
1.0,
|
||||||
5.0
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0
|
||||||
],
|
],
|
||||||
"washingstart": null
|
"washingstart": null
|
||||||
}
|
}
|
||||||
334
tests/testdata/optimize_result_1_be.json
vendored
334
tests/testdata/optimize_result_1_be.json
vendored
@@ -110,42 +110,42 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
1,
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
1,
|
1,
|
||||||
0
|
0
|
||||||
],
|
],
|
||||||
@@ -237,10 +237,10 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.20401973777039792,
|
0.19478794541504615,
|
||||||
0.18681973047764083,
|
0.18681973047764083,
|
||||||
0.12880892587597292,
|
0.12880892587597292,
|
||||||
0.04260510586128589,
|
0.02404700392596282,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -261,9 +261,9 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.07946910594375262,
|
0.17104472158211628,
|
||||||
0.14608958812480227,
|
0.14608958812480227,
|
||||||
0.07926913850394514,
|
0.09047346757070289,
|
||||||
0.010404817872487553,
|
0.010404817872487553,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -271,10 +271,10 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Gesamt_Verluste": 3181.0071533862283,
|
"Gesamt_Verluste": 2804.7326610375394,
|
||||||
"Gesamtbilanz_Euro": 0.5201969277249601,
|
"Gesamtbilanz_Euro": 0.9004618481798127,
|
||||||
"Gesamteinnahmen_Euro": 0.8774861504302851,
|
"Gesamteinnahmen_Euro": 0.9524762008447317,
|
||||||
"Gesamtkosten_Euro": 1.3976830781552452,
|
"Gesamtkosten_Euro": 1.8529380490245444,
|
||||||
"Home_appliance_wh_per_hour": [
|
"Home_appliance_wh_per_hour": [
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -316,82 +316,82 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Kosten_Euro_pro_Stunde": [
|
"Kosten_Euro_pro_Stunde": [
|
||||||
0.027996119999999992,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
0.004569992000000018,
|
||||||
0.0,
|
0.0,
|
||||||
0.0018232052307313393,
|
0.0018232052307313393,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
4.482711108977355e-14,
|
||||||
0.0,
|
0.0,
|
||||||
0.016809914659344942,
|
0.016809914659344942,
|
||||||
0.061530097476751734,
|
0.0,
|
||||||
0.05480703000000003,
|
0.05480703000000003,
|
||||||
0.0,
|
0.0,
|
||||||
|
0.291163892,
|
||||||
|
0.0,
|
||||||
|
0.19588158,
|
||||||
|
0.174739608,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.22802125600000003,
|
|
||||||
0.199865757,
|
|
||||||
0.182970359,
|
|
||||||
0.162995926,
|
|
||||||
0.16677339,
|
0.16677339,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.24530383800000005,
|
||||||
0.0,
|
0.08545095,
|
||||||
0.007989913613567745,
|
0.007989913613567745,
|
||||||
0.028255713342252034,
|
0.028255713342252034,
|
||||||
0.0,
|
0.0,
|
||||||
0.010682755832597498,
|
0.010682755832597498,
|
||||||
0.0,
|
0.0,
|
||||||
|
0.0003442778967139274,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.028137079449292023,
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.08231598,
|
0.08231598,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.293043269,
|
||||||
0.0,
|
0.0,
|
||||||
0.16484566
|
0.16484566
|
||||||
],
|
],
|
||||||
"Netzbezug_Wh_pro_Stunde": [
|
"Netzbezug_Wh_pro_Stunde": [
|
||||||
122.78999999999996,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
20.660000000000082,
|
||||||
0.0,
|
0.0,
|
||||||
9.703061366318996,
|
9.703061366318996,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
2.236881790906864e-10,
|
||||||
0.0,
|
0.0,
|
||||||
74.05248748610107,
|
74.05248748610107,
|
||||||
205.30563055305882,
|
0.0,
|
||||||
171.54000000000008,
|
171.54000000000008,
|
||||||
0.0,
|
0.0,
|
||||||
|
980.68,
|
||||||
|
0.0,
|
||||||
|
704.61,
|
||||||
|
516.37,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
694.34,
|
|
||||||
608.79,
|
|
||||||
556.31,
|
|
||||||
488.89,
|
|
||||||
506.91,
|
506.91,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
806.3900000000001,
|
||||||
0.0,
|
351.65,
|
||||||
35.04348076126204,
|
35.04348076126204,
|
||||||
127.73830624887898,
|
127.73830624887898,
|
||||||
0.0,
|
0.0,
|
||||||
56.853410498124,
|
56.853410498124,
|
||||||
0.0,
|
0.0,
|
||||||
|
1.7179535764168035,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
123.95189184710142,
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
257.64,
|
257.64,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
987.01,
|
||||||
0.0,
|
0.0,
|
||||||
592.97
|
592.97
|
||||||
],
|
],
|
||||||
@@ -401,10 +401,10 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
2914.5676824342563,
|
2782.6849345006594,
|
||||||
2668.8532925377262,
|
2668.8532925377262,
|
||||||
1840.127512513899,
|
1840.127512513899,
|
||||||
608.6443694469413,
|
343.5286275137546,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -425,9 +425,9 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
1135.2729420536089,
|
2443.4960226016615,
|
||||||
2086.994116068604,
|
2086.994116068604,
|
||||||
1132.4162643420734,
|
1292.4781081528986,
|
||||||
148.64025532125078,
|
148.64025532125078,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -436,84 +436,84 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Verluste_Pro_Stunde": [
|
"Verluste_Pro_Stunde": [
|
||||||
|
16.744090909090914,
|
||||||
0.0,
|
0.0,
|
||||||
2.817272727272737,
|
|
||||||
29.157272727272726,
|
29.157272727272726,
|
||||||
2.3948326360417305,
|
2.3948326360417305,
|
||||||
582.6180000000041,
|
582.6180000000041,
|
||||||
171.3218781078929,
|
187.1478078598941,
|
||||||
10.782457846871594,
|
10.782457846871594,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
59.810111380126784,
|
||||||
0.0,
|
0.0,
|
||||||
99.72409090909093,
|
99.72409090909093,
|
||||||
133.72909090909081,
|
0.0,
|
||||||
124.41545454545451,
|
124.41545454545451,
|
||||||
96.08318181818186,
|
0.0,
|
||||||
70.41409090909087,
|
0.0,
|
||||||
118.37045454545455,
|
118.37045454545455,
|
||||||
0.0,
|
94.68272727272722,
|
||||||
0.0,
|
83.01681818181817,
|
||||||
0.0,
|
75.86045454545456,
|
||||||
0.0,
|
66.66681818181814,
|
||||||
0.0,
|
0.0,
|
||||||
109.0704545454546,
|
109.0704545454546,
|
||||||
109.96227272727276,
|
0.0,
|
||||||
47.952272727272714,
|
0.0,
|
||||||
11.233982308648535,
|
11.233982308648535,
|
||||||
38.52740325013451,
|
38.52740325013451,
|
||||||
161.62968357967037,
|
161.62968357967037,
|
||||||
14.209990740225123,
|
14.209990740225123,
|
||||||
538.2984000000038,
|
538.2984000000038,
|
||||||
305.7193589211809,
|
148.49832285863067,
|
||||||
10.13011689299087,
|
10.13011689299087,
|
||||||
36.109951963721926,
|
0.0,
|
||||||
44.377460775206174,
|
44.377460775206174,
|
||||||
0.0,
|
0.0,
|
||||||
77.27590909090907,
|
77.27590909090907,
|
||||||
134.59227272727276,
|
0.0,
|
||||||
100.08954545454549,
|
100.08954545454549,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"akku_soc_pro_stunde": [
|
"akku_soc_pro_stunde": [
|
||||||
80.0,
|
80.0,
|
||||||
79.91107093663912,
|
79.4714617768595,
|
||||||
78.99070247933885,
|
79.4714617768595,
|
||||||
79.05722560811779,
|
78.55109331955923,
|
||||||
95.24105894144923,
|
78.61761644833817,
|
||||||
|
94.80144978166962,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
96.85214359504131,
|
96.85214359504131,
|
||||||
92.63089703856748,
|
96.85214359504131,
|
||||||
88.7036415289256,
|
92.92488808539943,
|
||||||
85.67071280991735,
|
92.92488808539943,
|
||||||
83.44804579889806,
|
92.92488808539943,
|
||||||
79.71160468319557,
|
89.18844696969695,
|
||||||
79.71160468319557,
|
86.19972451790632,
|
||||||
79.71160468319557,
|
83.57924414600548,
|
||||||
79.71160468319557,
|
81.18465909090907,
|
||||||
79.71160468319557,
|
79.08027720385672,
|
||||||
79.71160468319557,
|
79.08027720385672,
|
||||||
76.26872417355371,
|
75.63739669421484,
|
||||||
72.79769283746555,
|
75.63739669421484,
|
||||||
71.28404786501376,
|
75.63739669421484,
|
||||||
71.59610292914289,
|
75.94945175834397,
|
||||||
72.66630857497995,
|
77.01965740418103,
|
||||||
76.17424245972133,
|
80.52759128892241,
|
||||||
76.56896442472758,
|
80.92231325392866,
|
||||||
91.52169775805919,
|
95.87504658726026,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
97.56073519283747,
|
97.56073519283747,
|
||||||
93.3122417355372,
|
97.56073519283747,
|
||||||
90.15284951790635,
|
94.40134297520663
|
||||||
90.15284951790635
|
|
||||||
],
|
],
|
||||||
"Electricity_price": [
|
"Electricity_price": [
|
||||||
0.000228,
|
0.000228,
|
||||||
@@ -667,53 +667,105 @@
|
|||||||
"initial_soc_percentage": 54
|
"initial_soc_percentage": 54
|
||||||
},
|
},
|
||||||
"start_solution": [
|
"start_solution": [
|
||||||
15.0,
|
1.0,
|
||||||
5.0,
|
1.0,
|
||||||
12.0,
|
1.0,
|
||||||
19.0,
|
1.0,
|
||||||
7.0,
|
0.0,
|
||||||
17.0,
|
1.0,
|
||||||
15.0,
|
0.0,
|
||||||
20.0,
|
0.0,
|
||||||
3.0,
|
1.0,
|
||||||
7.0,
|
1.0,
|
||||||
3.0,
|
1.0,
|
||||||
9.0,
|
0.0,
|
||||||
13.0,
|
1.0,
|
||||||
14.0,
|
0.0,
|
||||||
10.0,
|
1.0,
|
||||||
7.0,
|
0.0,
|
||||||
13.0,
|
1.0,
|
||||||
3.0,
|
0.0,
|
||||||
5.0,
|
1.0,
|
||||||
4.0,
|
0.0,
|
||||||
9.0,
|
1.0,
|
||||||
11.0,
|
0.0,
|
||||||
11.0,
|
1.0,
|
||||||
12.0,
|
0.0,
|
||||||
13.0,
|
0.0,
|
||||||
7.0,
|
1.0,
|
||||||
14.0,
|
1.0,
|
||||||
4.0,
|
1.0,
|
||||||
5.0,
|
1.0,
|
||||||
5.0,
|
1.0,
|
||||||
5.0,
|
0.0,
|
||||||
13.0,
|
1.0,
|
||||||
10.0,
|
0.0,
|
||||||
8.0,
|
0.0,
|
||||||
4.0,
|
0.0,
|
||||||
6.0,
|
0.0,
|
||||||
10.0,
|
1.0,
|
||||||
3.0,
|
0.0,
|
||||||
10.0,
|
1.0,
|
||||||
8.0,
|
0.0,
|
||||||
10.0,
|
1.0,
|
||||||
13.0,
|
0.0,
|
||||||
12.0,
|
1.0,
|
||||||
14.0,
|
0.0,
|
||||||
11.0,
|
1.0,
|
||||||
12.0,
|
0.0,
|
||||||
8.0,
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
"washingstart": null
|
"washingstart": null
|
||||||
|
|||||||
600
tests/testdata/optimize_result_2.json
vendored
600
tests/testdata/optimize_result_2.json
vendored
@@ -10,12 +10,22 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.375,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.75,
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.75,
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -33,19 +43,9 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
1.0,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.75,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
@@ -110,31 +110,11 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
@@ -147,74 +127,94 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
],
|
],
|
||||||
"eautocharge_hours_float": [
|
"eautocharge_hours_float": [
|
||||||
0.0,
|
1.0,
|
||||||
0.5,
|
|
||||||
0.0,
|
|
||||||
0.5,
|
0.5,
|
||||||
0.375,
|
0.375,
|
||||||
1.0,
|
|
||||||
0.875,
|
|
||||||
0.375,
|
0.375,
|
||||||
0.5,
|
|
||||||
1.0,
|
1.0,
|
||||||
|
0.75,
|
||||||
|
1.0,
|
||||||
|
0.75,
|
||||||
|
0.5,
|
||||||
0.875,
|
0.875,
|
||||||
0.875,
|
0.0,
|
||||||
0.875,
|
0.875,
|
||||||
0.75,
|
0.75,
|
||||||
|
1.0,
|
||||||
|
0.625,
|
||||||
|
0.375,
|
||||||
|
0.75,
|
||||||
|
0.875,
|
||||||
|
0.625,
|
||||||
|
1.0,
|
||||||
|
0.75,
|
||||||
|
0.375,
|
||||||
|
0.75,
|
||||||
|
0.5,
|
||||||
0.5,
|
0.5,
|
||||||
0.625,
|
0.625,
|
||||||
0.875,
|
0.875,
|
||||||
|
0.5,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
0.75,
|
0.75,
|
||||||
0.5,
|
|
||||||
0.0,
|
|
||||||
0.625,
|
|
||||||
0.5,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
0.625,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
0.625,
|
|
||||||
0.875,
|
0.875,
|
||||||
0.375,
|
0.0,
|
||||||
|
0.0,
|
||||||
1.0,
|
1.0,
|
||||||
0.375,
|
0.375,
|
||||||
|
0.375,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.875,
|
||||||
|
0.5,
|
||||||
|
1.0,
|
||||||
0.625,
|
0.625,
|
||||||
0.75,
|
0.75,
|
||||||
0.75,
|
|
||||||
0.0,
|
|
||||||
0.5,
|
|
||||||
0.875,
|
|
||||||
0.875,
|
|
||||||
0.75,
|
|
||||||
0.875,
|
|
||||||
0.5,
|
|
||||||
0.875,
|
|
||||||
0.0,
|
|
||||||
0.375,
|
|
||||||
0.875,
|
0.875,
|
||||||
1.0,
|
1.0,
|
||||||
|
0.5,
|
||||||
0.5
|
0.5
|
||||||
],
|
],
|
||||||
"result": {
|
"result": {
|
||||||
"Last_Wh_pro_Stunde": [
|
"Last_Wh_pro_Stunde": [
|
||||||
12105.07,
|
1053.07,
|
||||||
10240.91,
|
10240.91,
|
||||||
10497.56,
|
14186.56,
|
||||||
12748.03,
|
11620.03,
|
||||||
8907.67,
|
11218.67,
|
||||||
13981.82,
|
7609.82,
|
||||||
10393.22,
|
9082.22,
|
||||||
1103.78,
|
10280.78,
|
||||||
1129.12,
|
2177.92,
|
||||||
1178.71,
|
1178.71,
|
||||||
1050.98,
|
1050.98,
|
||||||
988.56,
|
1988.56,
|
||||||
912.38,
|
912.38,
|
||||||
704.61,
|
1704.6100000000001,
|
||||||
516.37,
|
516.37,
|
||||||
868.05,
|
868.05,
|
||||||
694.34,
|
694.34,
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
1232.67,
|
1232.67,
|
||||||
871.26,
|
871.26,
|
||||||
860.88,
|
860.88,
|
||||||
2658.0299999999997,
|
1158.03,
|
||||||
1222.72,
|
1222.72,
|
||||||
1221.04,
|
1221.04,
|
||||||
949.99,
|
949.99,
|
||||||
@@ -241,44 +241,44 @@
|
|||||||
592.97
|
592.97
|
||||||
],
|
],
|
||||||
"EAuto_SoC_pro_Stunde": [
|
"EAuto_SoC_pro_Stunde": [
|
||||||
|
5.0,
|
||||||
5.0,
|
5.0,
|
||||||
20.294999999999998,
|
20.294999999999998,
|
||||||
35.589999999999996,
|
33.405,
|
||||||
50.885000000000005,
|
50.885000000000005,
|
||||||
63.995000000000005,
|
61.809999999999995,
|
||||||
72.735,
|
68.365,
|
||||||
83.66,
|
81.475,
|
||||||
98.955,
|
96.77,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518,
|
||||||
98.955,
|
98.518
|
||||||
98.955
|
|
||||||
],
|
],
|
||||||
"Einnahmen_Euro_pro_Stunde": [
|
"Einnahmen_Euro_pro_Stunde": [
|
||||||
0.0,
|
0.0,
|
||||||
@@ -309,21 +309,21 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.010924611164505103,
|
||||||
0.0,
|
0.25751345302450973,
|
||||||
0.0,
|
0.14608958812480227,
|
||||||
0.0,
|
0.07926913850394514,
|
||||||
0.0024471948828359577,
|
0.010404817872487553,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Gesamt_Verluste": 8517.353033733361,
|
"Gesamt_Verluste": 5766.286846118221,
|
||||||
"Gesamtbilanz_Euro": 12.490712506647688,
|
"Gesamtbilanz_Euro": 12.78299149726557,
|
||||||
"Gesamteinnahmen_Euro": 0.0024471948828359577,
|
"Gesamteinnahmen_Euro": 0.5042016086902498,
|
||||||
"Gesamtkosten_Euro": 12.493159701530523,
|
"Gesamtkosten_Euro": 13.28719310595582,
|
||||||
"Home_appliance_wh_per_hour": [
|
"Home_appliance_wh_per_hour": [
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -365,84 +365,84 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Kosten_Euro_pro_Stunde": [
|
"Kosten_Euro_pro_Stunde": [
|
||||||
2.54785212,
|
|
||||||
1.061242392,
|
|
||||||
1.0445786259999998,
|
|
||||||
2.1770732859999997,
|
|
||||||
0.53097063,
|
|
||||||
1.6959351,
|
|
||||||
1.4118501319999999,
|
|
||||||
0.0,
|
|
||||||
0.061530097476751734,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
2.034522392,
|
||||||
|
2.737606326,
|
||||||
|
1.9651220859999998,
|
||||||
|
0.9557324300000001,
|
||||||
|
0.4189863,
|
||||||
|
1.1236923319999998,
|
||||||
|
1.64866014,
|
||||||
|
0.07038454500000005,
|
||||||
|
0.05480703000000003,
|
||||||
0.0,
|
0.0,
|
||||||
|
0.588063892,
|
||||||
0.0,
|
0.0,
|
||||||
|
0.47388158,
|
||||||
0.174739608,
|
0.174739608,
|
||||||
0.0,
|
0.28801899,
|
||||||
0.0,
|
0.0,
|
||||||
0.199865757,
|
0.0,
|
||||||
0.182970359,
|
0.0,
|
||||||
0.162995926,
|
0.0,
|
||||||
|
0.16677339,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.08545095,
|
|
||||||
0.007989913613567745,
|
0.007989913613567745,
|
||||||
0.028255713342252034,
|
0.028255713342252034,
|
||||||
0.025392879919306634,
|
|
||||||
0.010682755832597498,
|
|
||||||
4.174095896658514e-14,
|
|
||||||
0.0003442778967139274,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.368637079449292,
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.08231598,
|
0.08231598,
|
||||||
0.174597189,
|
0.174597189,
|
||||||
0.293043269,
|
0.293043269,
|
||||||
0.0,
|
0.0,
|
||||||
0.16484566
|
0.0
|
||||||
],
|
],
|
||||||
"Netzbezug_Wh_pro_Stunde": [
|
"Netzbezug_Wh_pro_Stunde": [
|
||||||
11174.789999999999,
|
|
||||||
4797.66,
|
|
||||||
4990.82,
|
|
||||||
11586.34,
|
|
||||||
2888.8500000000004,
|
|
||||||
8462.75,
|
|
||||||
6423.339999999999,
|
|
||||||
0.0,
|
|
||||||
205.30563055305882,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
9197.66,
|
||||||
|
13079.82,
|
||||||
|
10458.34,
|
||||||
|
5199.85,
|
||||||
|
2090.75,
|
||||||
|
5112.339999999999,
|
||||||
|
7262.820000000001,
|
||||||
|
234.85000000000014,
|
||||||
|
171.54000000000008,
|
||||||
0.0,
|
0.0,
|
||||||
|
1980.6799999999998,
|
||||||
0.0,
|
0.0,
|
||||||
|
1704.6100000000001,
|
||||||
516.37,
|
516.37,
|
||||||
0.0,
|
868.05,
|
||||||
0.0,
|
0.0,
|
||||||
608.79,
|
0.0,
|
||||||
556.31,
|
0.0,
|
||||||
488.89,
|
0.0,
|
||||||
|
506.91,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
351.65,
|
|
||||||
35.04348076126204,
|
35.04348076126204,
|
||||||
127.73830624887898,
|
127.73830624887898,
|
||||||
121.32288542430308,
|
|
||||||
56.853410498124,
|
|
||||||
2.270998855635753e-10,
|
|
||||||
1.7179535764168035,
|
|
||||||
0.0,
|
0.0,
|
||||||
1623.9518918471015,
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
257.64,
|
257.64,
|
||||||
566.69,
|
566.69,
|
||||||
987.01,
|
987.01,
|
||||||
0.0,
|
0.0,
|
||||||
592.97
|
0.0
|
||||||
],
|
],
|
||||||
"Netzeinspeisung_Wh_pro_Stunde": [
|
"Netzeinspeisung_Wh_pro_Stunde": [
|
||||||
0.0,
|
0.0,
|
||||||
@@ -473,11 +473,11 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
156.06587377864435,
|
||||||
0.0,
|
3678.7636146358536,
|
||||||
0.0,
|
2086.994116068604,
|
||||||
0.0,
|
1132.4162643420734,
|
||||||
34.959926897656544,
|
148.64025532125078,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -485,83 +485,83 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Verluste_Pro_Stunde": [
|
"Verluste_Pro_Stunde": [
|
||||||
708.0,
|
16.744090909090914,
|
||||||
1083.0,
|
|
||||||
1083.0,
|
|
||||||
864.0,
|
|
||||||
276.0,
|
|
||||||
795.0,
|
|
||||||
483.0,
|
483.0,
|
||||||
230.91336797704525,
|
1014.0,
|
||||||
73.03732433363291,
|
552.0,
|
||||||
23.391818181818195,
|
465.0,
|
||||||
|
207.0,
|
||||||
|
414.0,
|
||||||
|
483.0,
|
||||||
|
55.200000000000045,
|
||||||
|
0.0,
|
||||||
99.72409090909093,
|
99.72409090909093,
|
||||||
133.72909090909081,
|
120.0,
|
||||||
124.41545454545451,
|
124.41545454545451,
|
||||||
96.08318181818186,
|
120.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
118.37045454545455,
|
|
||||||
94.68272727272722,
|
94.68272727272722,
|
||||||
|
83.01681818181817,
|
||||||
|
75.86045454545456,
|
||||||
|
66.66681818181814,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
69.12409090909085,
|
|
||||||
109.0704545454546,
|
109.0704545454546,
|
||||||
109.96227272727276,
|
109.96227272727276,
|
||||||
0.0,
|
47.952272727272714,
|
||||||
11.233982308648535,
|
11.233982308648535,
|
||||||
38.52740325013451,
|
38.52740325013451,
|
||||||
145.08565374908358,
|
161.62968357967037,
|
||||||
14.209990740225123,
|
21.962728535423857,
|
||||||
538.2983999999728,
|
519.5704951465664,
|
||||||
441.7178455708299,
|
0.5004782113116364,
|
||||||
260.56941082122324,
|
10.13011689299087,
|
||||||
335.0973729783477,
|
36.109951963721926,
|
||||||
58.01910018603749,
|
44.377460775206174,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
100.08954545454549,
|
100.08954545454549,
|
||||||
0.0
|
80.85954545454547
|
||||||
],
|
],
|
||||||
"akku_soc_pro_stunde": [
|
"akku_soc_pro_stunde": [
|
||||||
80.0,
|
80.0,
|
||||||
67.31060606060606,
|
79.4714617768595,
|
||||||
48.37121212121212,
|
79.4714617768595,
|
||||||
48.37121212121212,
|
96.13812844352617,
|
||||||
60.871212121212125,
|
96.13812844352617,
|
||||||
60.871212121212125,
|
99.4714617768595,
|
||||||
73.37121212121212,
|
99.4714617768595,
|
||||||
79.18621839791953,
|
99.4714617768595,
|
||||||
81.21503296274267,
|
99.4714617768595,
|
||||||
80.47665486356911,
|
99.4714617768595,
|
||||||
77.32879845861042,
|
99.4714617768595,
|
||||||
73.10755190213659,
|
96.32360537190083,
|
||||||
69.18029639249471,
|
99.65693870523415,
|
||||||
66.14736767348646,
|
95.72968319559227,
|
||||||
66.14736767348646,
|
99.0630165289256,
|
||||||
62.41092655778397,
|
99.0630165289256,
|
||||||
59.42220410599334,
|
99.0630165289256,
|
||||||
59.42220410599334,
|
96.07429407713497,
|
||||||
59.42220410599334,
|
93.45381370523414,
|
||||||
59.42220410599334,
|
91.05922865013771,
|
||||||
57.24025679194374,
|
88.95484676308537,
|
||||||
53.797376282301876,
|
88.95484676308537,
|
||||||
50.32634494621373,
|
85.51196625344349,
|
||||||
50.32634494621373,
|
82.04093491735533,
|
||||||
50.63840001034284,
|
80.52728994490354,
|
||||||
51.70860565617992,
|
80.83934500903268,
|
||||||
55.73876270476556,
|
81.90955065486975,
|
||||||
56.133484669771825,
|
85.41748453961112,
|
||||||
71.08621800310439,
|
85.56748624593055,
|
||||||
83.35615815784968,
|
100.0,
|
||||||
90.3128052114117,
|
100.0,
|
||||||
94.62106557192135,
|
100.0,
|
||||||
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
100.0,
|
100.0,
|
||||||
96.84060778236915,
|
|
||||||
96.84060778236915
|
96.84060778236915
|
||||||
],
|
],
|
||||||
"Electricity_price": [
|
"Electricity_price": [
|
||||||
@@ -619,15 +619,15 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.875,
|
0.0,
|
||||||
0.875,
|
|
||||||
0.875,
|
0.875,
|
||||||
0.75,
|
0.75,
|
||||||
0.5,
|
1.0,
|
||||||
0.625,
|
0.625,
|
||||||
|
0.375,
|
||||||
|
0.75,
|
||||||
0.875,
|
0.875,
|
||||||
0.0,
|
0.1,
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -712,106 +712,106 @@
|
|||||||
"capacity_wh": 60000,
|
"capacity_wh": 60000,
|
||||||
"charging_efficiency": 0.95,
|
"charging_efficiency": 0.95,
|
||||||
"max_charge_power_w": 11040,
|
"max_charge_power_w": 11040,
|
||||||
"soc_wh": 59373.0,
|
"soc_wh": 59110.8,
|
||||||
"initial_soc_percentage": 5
|
"initial_soc_percentage": 5
|
||||||
},
|
},
|
||||||
"start_solution": [
|
"start_solution": [
|
||||||
0.0,
|
0.0,
|
||||||
4.0,
|
|
||||||
13.0,
|
|
||||||
17.0,
|
|
||||||
14.0,
|
|
||||||
12.0,
|
|
||||||
9.0,
|
|
||||||
9.0,
|
|
||||||
17.0,
|
|
||||||
13.0,
|
|
||||||
15.0,
|
|
||||||
12.0,
|
|
||||||
9.0,
|
|
||||||
18.0,
|
|
||||||
14.0,
|
|
||||||
18.0,
|
|
||||||
14.0,
|
|
||||||
9.0,
|
|
||||||
2.0,
|
|
||||||
8.0,
|
|
||||||
10.0,
|
|
||||||
12.0,
|
|
||||||
10.0,
|
|
||||||
10.0,
|
|
||||||
14.0,
|
|
||||||
8.0,
|
|
||||||
7.0,
|
|
||||||
2.0,
|
|
||||||
6.0,
|
|
||||||
4.0,
|
|
||||||
7.0,
|
|
||||||
10.0,
|
|
||||||
8.0,
|
|
||||||
2.0,
|
|
||||||
5.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
2.0,
|
2.0,
|
||||||
4.0,
|
0.0,
|
||||||
5.0,
|
1.0,
|
||||||
14.0,
|
|
||||||
10.0,
|
|
||||||
18.0,
|
|
||||||
11.0,
|
|
||||||
1.0,
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
5.0,
|
2.0,
|
||||||
13.0,
|
1.0,
|
||||||
|
1.0,
|
||||||
1.0,
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
2.0,
|
2.0,
|
||||||
0.0,
|
0.0,
|
||||||
2.0,
|
2.0,
|
||||||
|
0.0,
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
1.0,
|
1.0,
|
||||||
6.0,
|
6.0,
|
||||||
5.0,
|
|
||||||
1.0,
|
|
||||||
2.0,
|
2.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
6.0,
|
6.0,
|
||||||
|
4.0,
|
||||||
|
6.0,
|
||||||
|
4.0,
|
||||||
|
2.0,
|
||||||
5.0,
|
5.0,
|
||||||
5.0,
|
0.0,
|
||||||
5.0,
|
5.0,
|
||||||
4.0,
|
4.0,
|
||||||
|
6.0,
|
||||||
|
3.0,
|
||||||
|
1.0,
|
||||||
|
4.0,
|
||||||
|
5.0,
|
||||||
|
3.0,
|
||||||
|
6.0,
|
||||||
|
4.0,
|
||||||
|
1.0,
|
||||||
|
4.0,
|
||||||
|
2.0,
|
||||||
2.0,
|
2.0,
|
||||||
3.0,
|
3.0,
|
||||||
5.0,
|
5.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
4.0,
|
4.0,
|
||||||
2.0,
|
|
||||||
0.0,
|
|
||||||
3.0,
|
|
||||||
2.0,
|
|
||||||
0.0,
|
|
||||||
6.0,
|
|
||||||
3.0,
|
|
||||||
0.0,
|
|
||||||
6.0,
|
|
||||||
3.0,
|
|
||||||
5.0,
|
5.0,
|
||||||
1.0,
|
0.0,
|
||||||
|
0.0,
|
||||||
6.0,
|
6.0,
|
||||||
1.0,
|
1.0,
|
||||||
|
1.0,
|
||||||
|
6.0,
|
||||||
|
0.0,
|
||||||
|
5.0,
|
||||||
|
2.0,
|
||||||
|
6.0,
|
||||||
3.0,
|
3.0,
|
||||||
4.0,
|
4.0,
|
||||||
4.0,
|
|
||||||
0.0,
|
|
||||||
2.0,
|
|
||||||
5.0,
|
|
||||||
5.0,
|
|
||||||
4.0,
|
|
||||||
5.0,
|
|
||||||
2.0,
|
|
||||||
5.0,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
5.0,
|
5.0,
|
||||||
6.0,
|
6.0,
|
||||||
2.0,
|
2.0,
|
||||||
|
2.0,
|
||||||
14.0
|
14.0
|
||||||
],
|
],
|
||||||
"washingstart": 14
|
"washingstart": 14
|
||||||
|
|||||||
600
tests/testdata/optimize_result_2_be.json
vendored
600
tests/testdata/optimize_result_2_be.json
vendored
@@ -10,12 +10,6 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.375,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.75,
|
|
||||||
0.0,
|
|
||||||
0.75,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -25,20 +19,26 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
1.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.5,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -110,23 +110,31 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
|
||||||
1,
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
0,
|
||||||
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
@@ -136,100 +144,92 @@
|
|||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
1
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0
|
|
||||||
],
|
],
|
||||||
"eautocharge_hours_float": [
|
"eautocharge_hours_float": [
|
||||||
|
0.625,
|
||||||
0.375,
|
0.375,
|
||||||
0.5,
|
0.5,
|
||||||
0.625,
|
|
||||||
1.0,
|
1.0,
|
||||||
0.0,
|
|
||||||
0.5,
|
|
||||||
0.5,
|
|
||||||
0.75,
|
|
||||||
0.625,
|
|
||||||
0.5,
|
|
||||||
1.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.5,
|
|
||||||
1.0,
|
1.0,
|
||||||
0.75,
|
0.75,
|
||||||
|
0.5,
|
||||||
|
0.375,
|
||||||
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.75,
|
||||||
|
0.875,
|
||||||
|
0.625,
|
||||||
0.625,
|
0.625,
|
||||||
0.625,
|
0.625,
|
||||||
0.0,
|
|
||||||
1.0,
|
1.0,
|
||||||
|
0.375,
|
||||||
0.625,
|
0.625,
|
||||||
0.625,
|
0.875,
|
||||||
0.625,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.375,
|
0.5,
|
||||||
0.375,
|
0.0,
|
||||||
0.625,
|
0.0,
|
||||||
0.375,
|
0.5,
|
||||||
0.875,
|
0.875,
|
||||||
0.625,
|
0.625,
|
||||||
0.75,
|
0.75,
|
||||||
0.0,
|
|
||||||
0.875,
|
|
||||||
0.5,
|
0.5,
|
||||||
0.0,
|
0.375,
|
||||||
|
0.375,
|
||||||
0.75,
|
0.75,
|
||||||
1.0,
|
|
||||||
0.5,
|
|
||||||
0.625,
|
0.625,
|
||||||
|
1.0,
|
||||||
0.375,
|
0.375,
|
||||||
0.625,
|
0.625,
|
||||||
1.0,
|
|
||||||
0.5,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
0.875,
|
|
||||||
0.625,
|
0.625,
|
||||||
0.5
|
0.0,
|
||||||
|
0.5,
|
||||||
|
0.875,
|
||||||
|
0.375,
|
||||||
|
0.5,
|
||||||
|
0.875,
|
||||||
|
0.5,
|
||||||
|
0.875,
|
||||||
|
0.75,
|
||||||
|
0.625,
|
||||||
|
0.75,
|
||||||
|
0.0
|
||||||
],
|
],
|
||||||
"result": {
|
"result": {
|
||||||
"Last_Wh_pro_Stunde": [
|
"Last_Wh_pro_Stunde": [
|
||||||
13416.07,
|
8919.07,
|
||||||
1063.91,
|
10240.91,
|
||||||
1320.56,
|
7875.5599999999995,
|
||||||
10126.029999999999,
|
7687.03,
|
||||||
14151.67,
|
7718.67,
|
||||||
12042.82,
|
11664.82,
|
||||||
7771.22,
|
5149.22,
|
||||||
7658.78,
|
6347.78,
|
||||||
1129.12,
|
1129.12,
|
||||||
10617.91,
|
8678.71,
|
||||||
1050.98,
|
3550.98,
|
||||||
988.56,
|
988.56,
|
||||||
912.38,
|
912.38,
|
||||||
704.61,
|
704.61,
|
||||||
516.37,
|
516.37,
|
||||||
868.05,
|
868.05,
|
||||||
694.34,
|
5694.34,
|
||||||
608.79,
|
608.79,
|
||||||
556.31,
|
556.31,
|
||||||
488.89,
|
488.89,
|
||||||
506.91,
|
506.91,
|
||||||
804.89,
|
804.89,
|
||||||
1141.98,
|
6141.98,
|
||||||
1056.97,
|
1056.97,
|
||||||
992.46,
|
992.46,
|
||||||
1155.99,
|
6155.99,
|
||||||
827.01,
|
827.01,
|
||||||
1257.98,
|
1257.98,
|
||||||
3732.67,
|
1232.67,
|
||||||
871.26,
|
871.26,
|
||||||
860.88,
|
860.88,
|
||||||
1158.03,
|
1158.03,
|
||||||
@@ -242,43 +242,43 @@
|
|||||||
],
|
],
|
||||||
"EAuto_SoC_pro_Stunde": [
|
"EAuto_SoC_pro_Stunde": [
|
||||||
5.0,
|
5.0,
|
||||||
22.48,
|
18.11,
|
||||||
22.48,
|
33.405,
|
||||||
22.48,
|
44.330000000000005,
|
||||||
31.22,
|
55.254999999999995,
|
||||||
48.699999999999996,
|
66.18,
|
||||||
61.809999999999995,
|
|
||||||
72.735,
|
|
||||||
83.66,
|
83.66,
|
||||||
83.66,
|
90.215,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392,
|
98.955,
|
||||||
99.392
|
98.955,
|
||||||
|
98.955,
|
||||||
|
98.955
|
||||||
],
|
],
|
||||||
"Einnahmen_Euro_pro_Stunde": [
|
"Einnahmen_Euro_pro_Stunde": [
|
||||||
0.0,
|
0.0,
|
||||||
@@ -320,11 +320,16 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Gesamt_Verluste": 8129.042662637932,
|
"Gesamt_Verluste": 10674.660531928814,
|
||||||
"Gesamtbilanz_Euro": 11.91553407959862,
|
"Gesamtbilanz_Euro": 14.366070195145795,
|
||||||
"Gesamteinnahmen_Euro": 0.0,
|
"Gesamteinnahmen_Euro": 0.0,
|
||||||
"Gesamtkosten_Euro": 11.91553407959862,
|
"Gesamtkosten_Euro": 14.366070195145795,
|
||||||
"Home_appliance_wh_per_hour": [
|
"Home_appliance_wh_per_hour": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -357,92 +362,87 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Kosten_Euro_pro_Stunde": [
|
"Kosten_Euro_pro_Stunde": [
|
||||||
2.84676012,
|
0.81824412,
|
||||||
0.0,
|
1.061242392,
|
||||||
0.0,
|
0.49579402599999994,
|
||||||
1.684399486,
|
0.399351386,
|
||||||
1.4948178300000001,
|
0.13127915000000007,
|
||||||
1.3073595,
|
1.2316083,
|
||||||
0.835534532,
|
0.259218932,
|
||||||
0.05466613999999993,
|
0.7558691399999999,
|
||||||
0.061530097476751734,
|
0.061530097476751734,
|
||||||
1.66483143,
|
2.4510570300000003,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.174739608,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
0.26650619799999997,
|
||||||
|
0.19588158,
|
||||||
|
0.13029273082161758,
|
||||||
|
0.28801899,
|
||||||
|
1.870021256,
|
||||||
0.199865757,
|
0.199865757,
|
||||||
0.182970359,
|
0.0,
|
||||||
0.162995926,
|
0.0,
|
||||||
0.16677339,
|
0.16677339,
|
||||||
0.26411047,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
1.7663038380000002,
|
||||||
|
0.08545095,
|
||||||
0.007989913613567745,
|
0.007989913613567745,
|
||||||
0.0,
|
1.134255713342252,
|
||||||
0.025392879919306634,
|
0.025392879919306634,
|
||||||
0.0,
|
0.010682755832597498,
|
||||||
0.4595000000000417,
|
4.174095896658514e-14,
|
||||||
0.0003442778967139274,
|
0.0003442778967139274,
|
||||||
0.0,
|
0.0,
|
||||||
0.028137079449292023,
|
0.0,
|
||||||
0.04565364324294593,
|
0.04565364324294593,
|
||||||
0.08231598,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.293043269,
|
||||||
0.16484566
|
0.214398479,
|
||||||
|
0.0
|
||||||
],
|
],
|
||||||
"Netzbezug_Wh_pro_Stunde": [
|
"Netzbezug_Wh_pro_Stunde": [
|
||||||
12485.789999999999,
|
3588.79,
|
||||||
0.0,
|
4797.66,
|
||||||
0.0,
|
2368.8199999999997,
|
||||||
8964.34,
|
2125.34,
|
||||||
8132.85,
|
714.2500000000003,
|
||||||
6523.75,
|
6145.75,
|
||||||
3801.34,
|
1179.3400000000001,
|
||||||
240.8199999999997,
|
3329.8199999999997,
|
||||||
205.30563055305882,
|
205.30563055305882,
|
||||||
5210.74,
|
7671.54,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
516.37,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
912.38,
|
||||||
|
704.61,
|
||||||
|
385.0258003002884,
|
||||||
|
868.05,
|
||||||
|
5694.34,
|
||||||
608.79,
|
608.79,
|
||||||
556.31,
|
0.0,
|
||||||
488.89,
|
0.0,
|
||||||
506.91,
|
506.91,
|
||||||
799.85,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
5806.39,
|
||||||
|
351.65,
|
||||||
35.04348076126204,
|
35.04348076126204,
|
||||||
0.0,
|
5127.738306248879,
|
||||||
121.32288542430308,
|
121.32288542430308,
|
||||||
0.0,
|
56.853410498124,
|
||||||
2500.000000000227,
|
2.270998855635753e-10,
|
||||||
1.7179535764168035,
|
1.7179535764168035,
|
||||||
0.0,
|
0.0,
|
||||||
123.95189184710142,
|
0.0,
|
||||||
152.3311419517715,
|
152.3311419517715,
|
||||||
257.64,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
987.01,
|
||||||
592.97
|
733.99,
|
||||||
|
0.0
|
||||||
],
|
],
|
||||||
"Netzeinspeisung_Wh_pro_Stunde": [
|
"Netzeinspeisung_Wh_pro_Stunde": [
|
||||||
0.0,
|
0.0,
|
||||||
@@ -485,84 +485,84 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Verluste_Pro_Stunde": [
|
"Verluste_Pro_Stunde": [
|
||||||
777.0,
|
1014.0,
|
||||||
2.817272727272737,
|
1083.0,
|
||||||
29.157272727272726,
|
|
||||||
726.0,
|
|
||||||
552.0,
|
|
||||||
474.0,
|
|
||||||
345.0,
|
|
||||||
945.0,
|
945.0,
|
||||||
|
945.0,
|
||||||
|
479.4,
|
||||||
|
552.0,
|
||||||
|
207.0,
|
||||||
|
276.0,
|
||||||
73.03732433363291,
|
73.03732433363291,
|
||||||
1096.800000000001,
|
600.0,
|
||||||
99.72409090909093,
|
440.6331818181816,
|
||||||
133.72909090909081,
|
133.72909090909081,
|
||||||
124.41545454545451,
|
|
||||||
96.08318181818186,
|
|
||||||
0.0,
|
|
||||||
118.37045454545455,
|
|
||||||
94.68272727272722,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
17.910572686324315,
|
||||||
0.0,
|
0.0,
|
||||||
|
600.0,
|
||||||
0.0,
|
0.0,
|
||||||
|
75.86045454545456,
|
||||||
|
66.66681818181814,
|
||||||
|
0.0,
|
||||||
|
109.0704545454546,
|
||||||
|
600.0,
|
||||||
0.0,
|
0.0,
|
||||||
109.96227272727276,
|
|
||||||
47.952272727272714,
|
|
||||||
11.233982308648535,
|
11.233982308648535,
|
||||||
55.946263193163475,
|
638.5274032501345,
|
||||||
145.08565374908358,
|
145.08565374908358,
|
||||||
21.962728535423857,
|
14.209990740225123,
|
||||||
838.2983999999728,
|
538.2983999999728,
|
||||||
441.7178455708299,
|
441.7178455708299,
|
||||||
260.56941082122324,
|
260.56941082122324,
|
||||||
155.09737297834772,
|
171.99990368477063,
|
||||||
41.441862965787436,
|
41.441862965787436,
|
||||||
0.0,
|
35.132727272727266,
|
||||||
77.27590909090907,
|
77.27590909090907,
|
||||||
134.59227272727276,
|
0.0,
|
||||||
100.08954545454549,
|
0.0,
|
||||||
0.0
|
80.85954545454547
|
||||||
],
|
],
|
||||||
"akku_soc_pro_stunde": [
|
"akku_soc_pro_stunde": [
|
||||||
80.0,
|
80.0,
|
||||||
86.16107093663912,
|
61.06060606060606,
|
||||||
85.24070247933885,
|
42.12121212121212,
|
||||||
85.24070247933885,
|
23.18181818181818,
|
||||||
97.74070247933885,
|
4.242424242424243,
|
||||||
97.74070247933885,
|
0.0,
|
||||||
99.40736914600552,
|
0.0,
|
||||||
80.46797520661157,
|
0.0,
|
||||||
82.49678977143472,
|
0.0,
|
||||||
63.557395832040775,
|
2.0288145648231377,
|
||||||
60.4095394270821,
|
18.695481231489804,
|
||||||
56.18829287060828,
|
4.786605542784571,
|
||||||
52.2610373609664,
|
0.5653589863107422,
|
||||||
49.22810864195814,
|
0.5653589863107422,
|
||||||
49.22810864195814,
|
0.5653589863107422,
|
||||||
45.49166752625566,
|
0.0,
|
||||||
42.502945074465025,
|
0.0,
|
||||||
42.502945074465025,
|
16.666666666666664,
|
||||||
42.502945074465025,
|
16.666666666666664,
|
||||||
42.502945074465025,
|
14.272081611570247,
|
||||||
42.502945074465025,
|
12.167699724517906,
|
||||||
42.502945074465025,
|
12.167699724517906,
|
||||||
39.03191373837687,
|
8.724819214876034,
|
||||||
37.518268765925086,
|
25.391485881542703,
|
||||||
37.830323830054205,
|
25.391485881542703,
|
||||||
38.35069172516435,
|
25.703540945671826,
|
||||||
42.38084877375001,
|
43.44041325817556,
|
||||||
42.53085048006944,
|
47.47057030676122,
|
||||||
57.48358381340202,
|
47.86529227176747,
|
||||||
78.08685730148063,
|
62.81802560510005,
|
||||||
85.04350435504266,
|
75.08796575984533,
|
||||||
89.35176471555232,
|
82.04461281340734,
|
||||||
90.50292757571307,
|
85.81933369454761,
|
||||||
90.50292757571307,
|
86.97049655470836,
|
||||||
88.06366276855056,
|
85.86150895140257,
|
||||||
83.81516931125029,
|
83.42224414424004,
|
||||||
80.65577709361943,
|
83.42224414424004,
|
||||||
80.65577709361943
|
83.42224414424004
|
||||||
],
|
],
|
||||||
"Electricity_price": [
|
"Electricity_price": [
|
||||||
0.000228,
|
0.000228,
|
||||||
@@ -619,16 +619,16 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
1.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.5,
|
|
||||||
1.0,
|
|
||||||
0.75,
|
0.75,
|
||||||
|
0.875,
|
||||||
0.625,
|
0.625,
|
||||||
0.625,
|
0.625,
|
||||||
|
0.625,
|
||||||
|
1.0,
|
||||||
|
0.375,
|
||||||
|
0.5,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.9,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -712,107 +712,107 @@
|
|||||||
"capacity_wh": 60000,
|
"capacity_wh": 60000,
|
||||||
"charging_efficiency": 0.95,
|
"charging_efficiency": 0.95,
|
||||||
"max_charge_power_w": 11040,
|
"max_charge_power_w": 11040,
|
||||||
"soc_wh": 59635.2,
|
"soc_wh": 59373.0,
|
||||||
"initial_soc_percentage": 5
|
"initial_soc_percentage": 5
|
||||||
},
|
},
|
||||||
"start_solution": [
|
"start_solution": [
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
4.0,
|
|
||||||
13.0,
|
|
||||||
17.0,
|
|
||||||
14.0,
|
|
||||||
12.0,
|
|
||||||
9.0,
|
|
||||||
9.0,
|
|
||||||
17.0,
|
|
||||||
13.0,
|
|
||||||
15.0,
|
|
||||||
12.0,
|
|
||||||
9.0,
|
|
||||||
18.0,
|
|
||||||
14.0,
|
|
||||||
18.0,
|
|
||||||
14.0,
|
|
||||||
9.0,
|
|
||||||
2.0,
|
2.0,
|
||||||
8.0,
|
0.0,
|
||||||
10.0,
|
0.0,
|
||||||
12.0,
|
2.0,
|
||||||
10.0,
|
1.0,
|
||||||
10.0,
|
1.0,
|
||||||
14.0,
|
1.0,
|
||||||
8.0,
|
1.0,
|
||||||
7.0,
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
2.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
3.0,
|
||||||
|
1.0,
|
||||||
2.0,
|
2.0,
|
||||||
6.0,
|
6.0,
|
||||||
4.0,
|
|
||||||
4.0,
|
|
||||||
2.0,
|
|
||||||
8.0,
|
|
||||||
12.0,
|
|
||||||
2.0,
|
|
||||||
9.0,
|
|
||||||
14.0,
|
|
||||||
13.0,
|
|
||||||
16.0,
|
|
||||||
6.0,
|
6.0,
|
||||||
8.0,
|
4.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
3.0,
|
||||||
|
4.0,
|
||||||
5.0,
|
5.0,
|
||||||
|
3.0,
|
||||||
|
3.0,
|
||||||
|
3.0,
|
||||||
|
6.0,
|
||||||
1.0,
|
1.0,
|
||||||
2.0,
|
3.0,
|
||||||
13.0,
|
|
||||||
10.0,
|
|
||||||
9.0,
|
|
||||||
5.0,
|
5.0,
|
||||||
1.0,
|
|
||||||
2.0,
|
|
||||||
3.0,
|
|
||||||
6.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
2.0,
|
2.0,
|
||||||
2.0,
|
|
||||||
4.0,
|
|
||||||
3.0,
|
|
||||||
2.0,
|
|
||||||
6.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
2.0,
|
2.0,
|
||||||
6.0,
|
|
||||||
4.0,
|
|
||||||
3.0,
|
|
||||||
3.0,
|
|
||||||
0.0,
|
|
||||||
6.0,
|
|
||||||
3.0,
|
|
||||||
3.0,
|
|
||||||
3.0,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
3.0,
|
|
||||||
1.0,
|
|
||||||
5.0,
|
5.0,
|
||||||
3.0,
|
3.0,
|
||||||
4.0,
|
4.0,
|
||||||
0.0,
|
|
||||||
5.0,
|
|
||||||
2.0,
|
2.0,
|
||||||
0.0,
|
1.0,
|
||||||
|
1.0,
|
||||||
4.0,
|
4.0,
|
||||||
6.0,
|
|
||||||
2.0,
|
|
||||||
3.0,
|
3.0,
|
||||||
|
6.0,
|
||||||
1.0,
|
1.0,
|
||||||
3.0,
|
3.0,
|
||||||
6.0,
|
|
||||||
2.0,
|
|
||||||
0.0,
|
|
||||||
6.0,
|
|
||||||
5.0,
|
|
||||||
3.0,
|
3.0,
|
||||||
|
0.0,
|
||||||
2.0,
|
2.0,
|
||||||
14.0
|
5.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
5.0,
|
||||||
|
2.0,
|
||||||
|
5.0,
|
||||||
|
4.0,
|
||||||
|
3.0,
|
||||||
|
4.0,
|
||||||
|
0.0,
|
||||||
|
19.0
|
||||||
],
|
],
|
||||||
"washingstart": 14
|
"washingstart": 19
|
||||||
}
|
}
|
||||||
476
tests/testdata/optimize_result_2_full.json
vendored
476
tests/testdata/optimize_result_2_full.json
vendored
@@ -110,7 +110,7 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
@@ -118,6 +118,11 @@
|
|||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
@@ -142,74 +147,69 @@
|
|||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
"eautocharge_hours_float": [
|
"eautocharge_hours_float": [
|
||||||
|
0.875,
|
||||||
|
0.75,
|
||||||
0.5,
|
0.5,
|
||||||
1.0,
|
1.0,
|
||||||
0.625,
|
0.625,
|
||||||
0.0,
|
0.625,
|
||||||
1.0,
|
0.875,
|
||||||
0.375,
|
0.625,
|
||||||
0.375,
|
0.875,
|
||||||
0.875,
|
0.875,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
1.0,
|
||||||
0.375,
|
0.5,
|
||||||
|
0.625,
|
||||||
|
1.0,
|
||||||
|
0.75,
|
||||||
|
0.5,
|
||||||
0.625,
|
0.625,
|
||||||
0.375,
|
0.375,
|
||||||
0.875,
|
0.5,
|
||||||
|
0.625,
|
||||||
|
0.625,
|
||||||
|
0.5,
|
||||||
|
0.625,
|
||||||
|
0.625,
|
||||||
|
0.0,
|
||||||
|
0.625,
|
||||||
|
0.5,
|
||||||
|
0.5,
|
||||||
1.0,
|
1.0,
|
||||||
0.875,
|
|
||||||
0.375,
|
0.375,
|
||||||
|
0.625,
|
||||||
|
0.875,
|
||||||
|
0.5,
|
||||||
|
0.5,
|
||||||
|
0.75,
|
||||||
|
0.75,
|
||||||
|
0.75,
|
||||||
|
0.0,
|
||||||
|
0.875,
|
||||||
0.75,
|
0.75,
|
||||||
1.0,
|
1.0,
|
||||||
0.625,
|
1.0,
|
||||||
0.625,
|
|
||||||
0.75,
|
0.75,
|
||||||
0.375,
|
|
||||||
1.0,
|
|
||||||
0.375,
|
|
||||||
0.375,
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.375,
|
|
||||||
0.625,
|
|
||||||
0.375,
|
|
||||||
1.0,
|
|
||||||
0.875,
|
|
||||||
0.625,
|
|
||||||
0.625,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.75,
|
|
||||||
0.375,
|
|
||||||
0.75,
|
|
||||||
0.375,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
0.625,
|
0.625,
|
||||||
0.875,
|
0.875,
|
||||||
1.0
|
0.5,
|
||||||
|
0.875
|
||||||
],
|
],
|
||||||
"result": {
|
"result": {
|
||||||
"Last_Wh_pro_Stunde": [
|
"Last_Wh_pro_Stunde": [
|
||||||
4986.07,
|
1053.07,
|
||||||
7618.91,
|
11551.91,
|
||||||
5253.5599999999995,
|
6564.5599999999995,
|
||||||
12809.029999999999,
|
7687.03,
|
||||||
14151.67,
|
14151.67,
|
||||||
10353.82,
|
11542.82,
|
||||||
5149.22,
|
6460.22,
|
||||||
8969.78,
|
7658.78,
|
||||||
2177.92,
|
5062.12,
|
||||||
1178.71,
|
1178.71,
|
||||||
1050.98,
|
1050.98,
|
||||||
988.56,
|
988.56,
|
||||||
@@ -242,43 +242,43 @@
|
|||||||
],
|
],
|
||||||
"EAuto_SoC_pro_Stunde": [
|
"EAuto_SoC_pro_Stunde": [
|
||||||
5.0,
|
5.0,
|
||||||
11.555,
|
5.0,
|
||||||
22.48,
|
22.48,
|
||||||
29.035,
|
31.22,
|
||||||
44.330000000000005,
|
42.144999999999996,
|
||||||
61.809999999999995,
|
59.62499999999999,
|
||||||
77.105,
|
72.735,
|
||||||
83.66,
|
81.475,
|
||||||
96.77,
|
92.4,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518,
|
98.955,
|
||||||
98.518
|
98.955
|
||||||
],
|
],
|
||||||
"Einnahmen_Euro_pro_Stunde": [
|
"Einnahmen_Euro_pro_Stunde": [
|
||||||
0.0,
|
0.0,
|
||||||
@@ -320,17 +320,17 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Gesamt_Verluste": 7633.823819992856,
|
"Gesamt_Verluste": 7647.623819992857,
|
||||||
"Gesamtbilanz_Euro": 7.648978330847156,
|
"Gesamtbilanz_Euro": 7.824605715847156,
|
||||||
"Gesamteinnahmen_Euro": 0.0,
|
"Gesamteinnahmen_Euro": 0.0,
|
||||||
"Gesamtkosten_Euro": 7.648978330847156,
|
"Gesamtkosten_Euro": 7.824605715847156,
|
||||||
"Home_appliance_wh_per_hour": [
|
"Home_appliance_wh_per_hour": [
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
2500.0,
|
|
||||||
2500.0,
|
|
||||||
0.0,
|
0.0,
|
||||||
|
2500.0,
|
||||||
|
2500.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -365,15 +365,20 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Kosten_Euro_pro_Stunde": [
|
"Kosten_Euro_pro_Stunde": [
|
||||||
0.0,
|
0.027996119999999992,
|
||||||
0.48125599199999997,
|
1.351235592,
|
||||||
0.8679294259999999,
|
1.1423217259999998,
|
||||||
2.1885351859999997,
|
1.226111386,
|
||||||
1.4948178300000001,
|
1.4948178300000001,
|
||||||
0.9688838999999999,
|
1.2071595,
|
||||||
0.0,
|
0.0,
|
||||||
1.3510631400000002,
|
1.0534661399999998,
|
||||||
0.07038454500000005,
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.19588158,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -382,12 +387,7 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.01995551999999987,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.12044799000000005,
|
|
||||||
0.08545095,
|
0.08545095,
|
||||||
0.007989913613567745,
|
0.007989913613567745,
|
||||||
0.012219458233588571,
|
0.012219458233588571,
|
||||||
@@ -405,15 +405,20 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Netzbezug_Wh_pro_Stunde": [
|
"Netzbezug_Wh_pro_Stunde": [
|
||||||
0.0,
|
122.78999999999996,
|
||||||
2175.66,
|
6108.66,
|
||||||
4146.82,
|
5457.82,
|
||||||
11647.339999999998,
|
6525.34,
|
||||||
8132.85,
|
8132.85,
|
||||||
4834.75,
|
6023.75,
|
||||||
0.0,
|
0.0,
|
||||||
5951.820000000001,
|
4640.82,
|
||||||
234.85000000000014,
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
704.61,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -422,12 +427,7 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
65.59999999999957,
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
395.9500000000001,
|
|
||||||
351.65,
|
351.65,
|
||||||
35.04348076126204,
|
35.04348076126204,
|
||||||
55.24167375040041,
|
55.24167375040041,
|
||||||
@@ -485,20 +485,20 @@
|
|||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"Verluste_Pro_Stunde": [
|
"Verluste_Pro_Stunde": [
|
||||||
760.062272727273,
|
0.0,
|
||||||
945.0,
|
1152.0,
|
||||||
207.0,
|
276.0,
|
||||||
483.0,
|
345.0,
|
||||||
552.0,
|
552.0,
|
||||||
483.0,
|
|
||||||
367.81909090909085,
|
|
||||||
414.0,
|
414.0,
|
||||||
55.200000000000045,
|
615.5918181818183,
|
||||||
|
345.0,
|
||||||
|
632.3249999999998,
|
||||||
23.391818181818195,
|
23.391818181818195,
|
||||||
99.72409090909093,
|
99.72409090909093,
|
||||||
133.72909090909081,
|
133.72909090909081,
|
||||||
124.41545454545451,
|
124.41545454545451,
|
||||||
96.08318181818186,
|
0.0,
|
||||||
70.41409090909087,
|
70.41409090909087,
|
||||||
118.37045454545455,
|
118.37045454545455,
|
||||||
94.68272727272722,
|
94.68272727272722,
|
||||||
@@ -507,7 +507,7 @@
|
|||||||
66.66681818181814,
|
66.66681818181814,
|
||||||
69.12409090909085,
|
69.12409090909085,
|
||||||
109.0704545454546,
|
109.0704545454546,
|
||||||
55.96909090909088,
|
101.01681818181828,
|
||||||
0.0,
|
0.0,
|
||||||
11.233982308648535,
|
11.233982308648535,
|
||||||
48.41330768174522,
|
48.41330768174522,
|
||||||
@@ -525,28 +525,29 @@
|
|||||||
80.85954545454547
|
80.85954545454547
|
||||||
],
|
],
|
||||||
"akku_soc_pro_stunde": [
|
"akku_soc_pro_stunde": [
|
||||||
62.54222623966943,
|
80.0,
|
||||||
43.60283230027549,
|
80.0,
|
||||||
43.60283230027549,
|
61.06060606060606,
|
||||||
43.60283230027549,
|
61.06060606060606,
|
||||||
43.60283230027549,
|
61.06060606060606,
|
||||||
43.60283230027549,
|
61.06060606060606,
|
||||||
38.52647210743802,
|
61.06060606060606,
|
||||||
38.52647210743802,
|
50.341167355371894,
|
||||||
38.52647210743802,
|
50.341167355371894,
|
||||||
37.78809400826446,
|
36.91550447658402,
|
||||||
34.64023760330579,
|
36.17712637741047,
|
||||||
30.418991046831955,
|
33.0292699724518,
|
||||||
26.49173553719008,
|
28.808023415977967,
|
||||||
23.458806818181817,
|
24.88076790633609,
|
||||||
21.236139807162534,
|
24.88076790633609,
|
||||||
17.499698691460054,
|
22.658100895316807,
|
||||||
14.510976239669422,
|
18.921659779614323,
|
||||||
11.890495867768596,
|
15.932937327823693,
|
||||||
9.495910812672175,
|
13.312456955922865,
|
||||||
7.391528925619835,
|
10.917871900826448,
|
||||||
5.209581611570248,
|
8.813490013774107,
|
||||||
1.7667011019283745,
|
6.63154269972452,
|
||||||
|
3.1886621900826473,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.3120550641291261,
|
0.3120550641291261,
|
||||||
@@ -561,8 +562,7 @@
|
|||||||
42.06126780148296,
|
42.06126780148296,
|
||||||
39.622002994320425,
|
39.622002994320425,
|
||||||
35.373509537020155,
|
35.373509537020155,
|
||||||
32.214117319389295,
|
32.214117319389295
|
||||||
29.661732677516017
|
|
||||||
],
|
],
|
||||||
"Electricity_price": [
|
"Electricity_price": [
|
||||||
0.000228,
|
0.000228,
|
||||||
@@ -619,15 +619,15 @@
|
|||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.375,
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.5,
|
||||||
|
0.625,
|
||||||
|
1.0,
|
||||||
|
0.75,
|
||||||
|
0.5,
|
||||||
0.625,
|
0.625,
|
||||||
0.375,
|
0.375,
|
||||||
0.875,
|
|
||||||
1.0,
|
|
||||||
0.875,
|
|
||||||
0.375,
|
|
||||||
0.75,
|
|
||||||
0.1,
|
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
@@ -712,107 +712,107 @@
|
|||||||
"capacity_wh": 60000,
|
"capacity_wh": 60000,
|
||||||
"charging_efficiency": 0.95,
|
"charging_efficiency": 0.95,
|
||||||
"max_charge_power_w": 11040,
|
"max_charge_power_w": 11040,
|
||||||
"soc_wh": 59110.8,
|
"soc_wh": 59373.0,
|
||||||
"initial_soc_percentage": 5
|
"initial_soc_percentage": 5
|
||||||
},
|
},
|
||||||
"start_solution": [
|
"start_solution": [
|
||||||
19.0,
|
0.0,
|
||||||
18.0,
|
0.0,
|
||||||
18.0,
|
|
||||||
7.0,
|
|
||||||
5.0,
|
|
||||||
20.0,
|
|
||||||
17.0,
|
|
||||||
15.0,
|
|
||||||
4.0,
|
|
||||||
12.0,
|
|
||||||
13.0,
|
|
||||||
8.0,
|
|
||||||
5.0,
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
4.0,
|
|
||||||
9.0,
|
|
||||||
2.0,
|
2.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
0.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
|
1.0,
|
||||||
5.0,
|
5.0,
|
||||||
8.0,
|
4.0,
|
||||||
10.0,
|
|
||||||
12.0,
|
|
||||||
10.0,
|
|
||||||
9.0,
|
|
||||||
13.0,
|
|
||||||
7.0,
|
|
||||||
8.0,
|
|
||||||
7.0,
|
|
||||||
9.0,
|
|
||||||
13.0,
|
|
||||||
7.0,
|
|
||||||
10.0,
|
|
||||||
8.0,
|
|
||||||
8.0,
|
|
||||||
12.0,
|
|
||||||
12.0,
|
|
||||||
7.0,
|
|
||||||
10.0,
|
|
||||||
13.0,
|
|
||||||
11.0,
|
|
||||||
11.0,
|
|
||||||
10.0,
|
|
||||||
11.0,
|
|
||||||
10.0,
|
|
||||||
13.0,
|
|
||||||
10.0,
|
|
||||||
10.0,
|
|
||||||
12.0,
|
|
||||||
2.0,
|
2.0,
|
||||||
6.0,
|
6.0,
|
||||||
3.0,
|
3.0,
|
||||||
0.0,
|
3.0,
|
||||||
6.0,
|
5.0,
|
||||||
1.0,
|
3.0,
|
||||||
1.0,
|
5.0,
|
||||||
5.0,
|
5.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
6.0,
|
||||||
1.0,
|
2.0,
|
||||||
|
3.0,
|
||||||
|
6.0,
|
||||||
|
4.0,
|
||||||
|
2.0,
|
||||||
3.0,
|
3.0,
|
||||||
1.0,
|
1.0,
|
||||||
5.0,
|
2.0,
|
||||||
|
3.0,
|
||||||
|
3.0,
|
||||||
|
2.0,
|
||||||
|
3.0,
|
||||||
|
3.0,
|
||||||
|
0.0,
|
||||||
|
3.0,
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
6.0,
|
6.0,
|
||||||
5.0,
|
|
||||||
1.0,
|
1.0,
|
||||||
|
3.0,
|
||||||
|
5.0,
|
||||||
|
2.0,
|
||||||
|
2.0,
|
||||||
|
4.0,
|
||||||
|
4.0,
|
||||||
|
4.0,
|
||||||
|
0.0,
|
||||||
|
5.0,
|
||||||
4.0,
|
4.0,
|
||||||
6.0,
|
6.0,
|
||||||
3.0,
|
6.0,
|
||||||
3.0,
|
|
||||||
4.0,
|
4.0,
|
||||||
1.0,
|
|
||||||
6.0,
|
|
||||||
1.0,
|
|
||||||
1.0,
|
|
||||||
6.0,
|
|
||||||
6.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
1.0,
|
|
||||||
3.0,
|
|
||||||
1.0,
|
|
||||||
6.0,
|
|
||||||
5.0,
|
|
||||||
3.0,
|
|
||||||
3.0,
|
|
||||||
0.0,
|
|
||||||
0.0,
|
|
||||||
4.0,
|
|
||||||
1.0,
|
|
||||||
4.0,
|
|
||||||
1.0,
|
|
||||||
0.0,
|
|
||||||
6.0,
|
|
||||||
3.0,
|
3.0,
|
||||||
5.0,
|
5.0,
|
||||||
6.0,
|
2.0,
|
||||||
13.0
|
5.0,
|
||||||
|
14.0
|
||||||
],
|
],
|
||||||
"washingstart": 13
|
"washingstart": 14
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user