Skip to content
Merged
Show file tree
Hide file tree
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
14 changes: 7 additions & 7 deletions packages/control/chargepoint/chargepoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,8 @@ def _process_charge_stop(self) -> None:
Pub().pub("openWB/set/chargepoint/"+str(self.num)+"/set/ocpp_transaction_id", None)
self.reset_control_parameter_at_charge_stop()
data.data.counter_all_data.get_evu_counter().reset_switch_on_off(self)
if self.data.get.plug_state is False:
if self.data.get.plug_state is False and self.data.set.plug_state_prev is True:
chargelog.save_and_reset_data(self, data.data.ev_data["ev"+str(self.data.config.ev)])
self.data.control_parameter = control_parameter_factory()
if self.data.set.charge_template.data.load_default:
self.data.config.ev = 0
Expand All @@ -213,7 +214,6 @@ def _process_charge_stop(self) -> None:
if data.data.general_data.data.temporary_charge_templates_active:
self.update_charge_template(
data.data.ev_data["ev"+str(self.data.config.ev)].charge_template)
chargelog.save_and_reset_data(self, data.data.ev_data["ev"+str(self.data.config.ev)])
self.data.set.rfid = None
Pub().pub("openWB/set/chargepoint/"+str(self.num)+"/set/rfid", None)
self.data.set.plug_time = None
Expand Down Expand Up @@ -776,16 +776,16 @@ def _get_charging_ev(self, vehicle: int, ev_list: Dict[str, Ev]) -> Ev:
" verwendet.")
charging_ev = ev_list["ev0"]
vehicle = 0
if self.data.config.ev != vehicle:
Pub().pub(f"openWB/set/vehicle/{charging_ev.num}/get/force_soc_update", True)
log.debug("SoC nach EV-Wechsel")
Pub().pub(f"openWB/set/chargepoint/{self.num}/config", dataclasses.asdict(self.data.config))
# wenn vorher kein anderes Fahrzeug zugeordnet war, Ladeprofil nicht zurücksetzen
if (self.data.config.ev != vehicle or
(self.data.set.charge_template.data.id != charging_ev.charge_template.data.id)):
self.update_charge_template(charging_ev.charge_template)
if self.data.config.ev != vehicle:
Pub().pub(f"openWB/set/vehicle/{charging_ev.num}/get/force_soc_update", True)
log.debug("SoC nach EV-Wechsel")
self.data.config.ev = vehicle
Pub().pub(f"openWB/set/chargepoint/{self.num}/config", dataclasses.asdict(self.data.config))
self.data.set.charging_ev_data = charging_ev
self.data.config.ev = vehicle
return charging_ev

def update_charge_template(self, charge_template: ChargeTemplate) -> None:
Expand Down
4 changes: 4 additions & 0 deletions packages/control/chargepoint/rfid.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import logging
from dataclasses import asdict
from typing import Optional

from control import data
Expand Down Expand Up @@ -65,6 +66,9 @@ def _validate_rfid(self) -> None:
if self.template.data.disable_after_unplug:
self.data.set.manual_lock = True
Pub().pub("openWB/set/chargepoint/"+str(self.num)+"/set/manual_lock", True)
if self.template.data.load_default:
self.data.config.ev = 0
Pub().pub(f"openWB/set/chargepoint/{self.num}/config", asdict(self.data.config))
Pub().pub(f"openWB/set/chargepoint/{self.num}/get/rfid_timestamp", None)
msg = ("Es ist in den letzten 5 Minuten kein EV angesteckt worden, dem "
f"der ID-Tag {rfid} zugeordnet werden kann. Daher wird dieser verworfen.")
Expand Down
3 changes: 3 additions & 0 deletions packages/modules/chargepoints/mqtt/chargepoint_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,5 +101,8 @@ def on_message(client, userdata, message):
def switch_phases(self, phases_to_use: int) -> None:
Pub().pub(f"openWB/mqtt/chargepoint/{self.config.id}/set/phases_to_use", phases_to_use)

def clear_rfid(self) -> None:
Pub().pub(f"openWB/mqtt/chargepoint/{self.config.id}/get/rfid", "")


chargepoint_descriptor = DeviceDescriptor(configuration_factory=Mqtt)