From f90cc8a11e766ca4cb59f260dedea473de3ac6e9 Mon Sep 17 00:00:00 2001 From: Shankari Date: Sun, 10 Mar 2024 21:20:16 -0700 Subject: [PATCH] Bump up the version of EVerest to the latest release - Bump up the version of EVerest to the latest one `2024.2.0` - Bump up our own tag (to `0.0.12`) - Change the preconfigured DB to match the new format - This involved copying out the unmodified DB and changing the connection URL as before (`update VARIABLE_ATTRIBUTE set "VALUE" = '[{"configurationSlot": 1, "connectionData": {"messageTimeout": 30, "ocppCsmsUrl": "ws://host.docker.internal/ws/cp001", "ocppInterface": "Wired0", "ocppTransport": "JSON", "ocppVersion": "OCPP20", "securityProfile": 1}}]' where VARIABLE_ID == 161;`) The station is able to connect successfully ``` 2024-03-11 04:26:37.025275 [INFO] ocpp:OCPP201 :: OCPP client successfully connected to plain websocket server 2024-03-11 04:26:37.034272 [INFO] ocpp:OCPP201 :: Received BootNotificationResponse: { "currentTime": "2024-03-11T04:26:37.000Z", "interval": 300, "status": "Accepted" } with messageId: 170dc257-4035-4fcd-868a-32da294db0ba ``` Although there are several weird errors related to the lack of errors :) ``` 2024-03-11 04:26:37.056587 [ERRO] manager void Everest::error::ErrorCommBridge::handle_request_clear_error(const json&) :: Error while clearing errors: No errors matched the request. 2024-03-11 04:26:37.065594 [INFO] evse_manager_2: :: All errors cleared ``` And some non-transaction (informational) errors ``` 2024-03-11 04:30:00.077355 [ERRO] ocpp:OCPP201 ocpp::EnhancedMessage ocpp::MessageQueue::receive(const std::string&) [with M = ocpp::v201::MessageType; std::string = std::__cxx11::basic_string] :: Received a CALLERROR for message with UID: 4851748d-6271-40dc-89d9-13a4c740e39f 2024-03-11 04:30:00.077503 [WARN] ocpp:OCPP201 void ocpp::MessageQueue::handle_timeout_or_callerror(const std::optional >&) [with M = ocpp::v201::MessageType] :: CALLERROR for: MeterValues (4851748d-6271-40dc-89d9-13a4c740e39f) 2024-03-11 04:30:00.077558 [WARN] ocpp:OCPP201 void ocpp::MessageQueue::handle_timeout_or_callerror(const std::optional >&) [with M = ocpp::v201::MessageType] :: Message is not transaction related, dropping it ``` I also don't see the enhanced error codes in the UI, but maybe we have to use a different nodered config to see it... Signed-off-by: Shankari --- .env | 2 +- manager/Dockerfile | 2 +- ...evice_model_storage_maeve_preconfigured.db | Bin 65536 -> 81920 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 36725d02..c0f4ac60 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -TAG=0.0.11 +TAG=0.0.12 EVEREST_MANAGER_CPUS='1.0' EVEREST_MANAGER_MEMORY='1024mb' diff --git a/manager/Dockerfile b/manager/Dockerfile index d21deea7..93a72e72 100644 --- a/manager/Dockerfile +++ b/manager/Dockerfile @@ -1,6 +1,6 @@ FROM --platform=linux/x86_64 ghcr.io/everest/build-kit-alpine:latest -ARG EVEREST_VERSION=2023.10.0 +ARG EVEREST_VERSION=2024.2.0 ENV EVEREST_VERSION=${EVEREST_VERSION} COPY install.sh ./ diff --git a/manager/device_model_storage_maeve_preconfigured.db b/manager/device_model_storage_maeve_preconfigured.db index 09aabb044d4d74e0abb8e5729312568405222de9..18a7ec6929bbab4c8db4031547edb01ad1493b6a 100644 GIT binary patch literal 81920 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