Skip to content

Commit 09c9935

Browse files
Integration Josev to EVerest (#1)
* Integration Josev to EVerest: - Integrated EVerest iso15118_charger interface into Josev (ISO15118-2 AC & DC and DIN70121) - Josev log levels are matching with the EVerest log levels - .env file is no longer needed - Increased the MaxPowerLimit to 32700W, MaxCurrentLimit and MaxCurrent to 1000A. This way, the charger does not stop when cars get above the DIN and ISO values - The physical values limits check can now be ignored - The EVSEID from the DIN70121 standard is now also passed to Josev - The DepatureTime is published in the correct format (RFC3339) Signed-off-by: Sebastian Lukas <sebastian.lukas@pionix.de> * Add python-dateutil dependency Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de> Signed-off-by: Sebastian Lukas <sebastian.lukas@pionix.de> Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de> Co-authored-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
1 parent 4d78789 commit 09c9935

34 files changed

Lines changed: 1125 additions & 5429 deletions

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ celerybeat-schedule
8686
*.sage.py
8787

8888
# Environments
89-
.env
9089
.venv
9190
env/
9291
venv/
@@ -116,3 +115,6 @@ venv.bak/
116115
iso15118/shared/pki/iso15118_2
117116
iso15118/shared/pki/iso15118_20
118117
/iso15118/shared/pki/pki-ext/
118+
119+
# Everest
120+
workspace.yaml

CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2+
3+
install(
4+
DIRECTORY iso15118/secc/
5+
DESTINATION "${THIRD_PARTY_APP_DST}/josev/iso15118/secc"
6+
)
7+
install(
8+
DIRECTORY iso15118/shared/
9+
DESTINATION "${THIRD_PARTY_APP_DST}/josev/iso15118/shared"
10+
)
11+
12+
install(
13+
FILES iso15118/__init__.py
14+
DESTINATION "${THIRD_PARTY_APP_DST}/josev/iso15118"
15+
)

iso15118/secc/controller/simulator.py

Lines changed: 197 additions & 54 deletions
Large diffs are not rendered by default.

iso15118/secc/secc_settings.py

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
NoSupportedProtocols,
1212
)
1313
from iso15118.shared.messages.enums import AuthEnum, Protocol
14-
from iso15118.shared.settings import shared_settings
14+
from iso15118.shared.settings import shared_settings, set_ignoring_value_range
1515

1616
logger = logging.getLogger(__name__)
1717

@@ -144,3 +144,49 @@ def load_requested_auth_modes(self, read_auth_modes: Optional[List[str]]):
144144
f" file with key 'AUTH_MODES'"
145145
)
146146
self.supported_auth_options = [AuthEnum[x] for x in valid_auth_options]
147+
148+
def load_everest_config(self, everest_config: dict) -> None:
149+
150+
self.iface = str(everest_config["device"])
151+
152+
self.log_level = "INFO"
153+
154+
if everest_config["enforce_tls"] is True:
155+
self.enforce_tls = True
156+
else:
157+
self.enforce_tls = False
158+
159+
if everest_config["free_cert_install_service"] is True:
160+
self.free_cert_install_service = True
161+
else:
162+
self.free_cert_install_service = False
163+
164+
if everest_config["allow_cert_install_service"] is True:
165+
self.allow_cert_install_service = True
166+
else:
167+
self.allow_cert_install_service = False
168+
169+
protocols: List[str] = self.default_protocols
170+
if not everest_config["supported_DIN70121"]:
171+
protocols.remove("DIN_SPEC_70121")
172+
173+
if not everest_config["supported_ISO15118_2"]:
174+
protocols.remove("ISO_15118_2")
175+
176+
if not everest_config["supported_ISO15118_20_AC"]:
177+
protocols.remove("ISO_15118_20_AC")
178+
179+
if not everest_config["supported_ISO15118_20_DC"]:
180+
protocols.remove("ISO_15118_20_DC")
181+
182+
self.load_requested_protocols(protocols)
183+
184+
self.use_cpo_backend = False
185+
logger.info(f"Using CPO Backend: {self.use_cpo_backend}")
186+
187+
self.load_requested_auth_modes(self.default_auth_modes)
188+
189+
self.standby_allowed = False
190+
191+
set_ignoring_value_range(everest_config["ignore_physical_values_limits"])
192+

0 commit comments

Comments
 (0)