Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions packages/modules/common/configurable_vehicle.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,11 @@ def update(self, vehicle_update_data: VehicleUpdateData):
Pub().pub(f"openWB/set/vehicle/{self.vehicle}/soc_module/calculated_soc_state",
asdict(self.calculated_soc_state))
if (vehicle_update_data.soc_timestamp is None or
vehicle_update_data.soc_timestamp <= car_state.soc_timestamp):
vehicle_update_data.soc_timestamp <= car_state.soc_timestamp + 60):
# Nur wenn der SoC neuer ist als der bisherige, diesen setzen.
# Manche Fahrzeuge liefern in Ladepausen zwar einen SoC, aber manchmal einen alten.
# Die Pro liefert manchmal den SoC nicht, bis nach dem Anstecken das SoC-Update getriggert wird.
# Wenn Sie dann doch noch den alten SoC liefert, darf dieser nicht verworfen werden.
self.store.set(car_state)
elif vehicle_update_data.soc_timestamp > 1e10:
# car_state ist in ms geschrieben, dieser kann überschrieben werden
Expand All @@ -100,7 +103,7 @@ def _get_carstate_source(self, vehicle_update_data: VehicleUpdateData) -> SocSou
# Kein SoC vom LP vorhanden oder erwünscht
if (vehicle_update_data.soc_from_cp is None or self.general_config.use_soc_from_cp is False or
# oder aktueller manueller SoC vorhanden (ausgelesenen SoC während der Ladung korrigieren)
self.calculated_soc_state.manual_soc):
self.calculated_soc_state.manual_soc is not None):
if isinstance(self.vehicle_config, ManualSoc):
# Wenn ein manueller SoC gesetzt wurde, diesen als neuen Start merken.
if self.calculated_soc_state.manual_soc is not None or self.calculated_soc_state.imported_start is None:
Expand Down