porting to rpi


Alberto Merciai
 

Hello,

I'm trying to move build sw into a pi.

Everything is fine but if I try to perform a charging session I got this error:

/usr/bin/manager --conf /home/root/config-sil-dc.yaml
2023-01-16 18:19:46.634886 [INFO] manager          :: 8< 8< 8< ------------------------------------------------------------------------------ 8< 8< 8<
2023-01-16 18:19:46.635226 [INFO] manager          :: EVerest manager starting using /home/root/config-sil-dc.yaml
2023-01-16 18:19:47.634018 [INFO] everest_ctrl     :: everest controller process started ...
2023-01-16 18:19:47.646433 [INFO] everest_ctrl     :: Launching controller service on port 8849
2023-01-16 18:19:54.540675 [INFO] energy_manager:  :: Module energy_manager initialized.
2023-01-16 18:19:54.708625 [INFO] grid_connection  :: Module grid_connection_point initialized.
2023-01-16 18:19:55.159670 [INFO] auth:Auth        :: Module auth initialized.
2023-01-16 18:19:55.473414 [INFO] api:API          :: Module api initialized.
2023-01-16 18:19:55.591248 [INFO] slac:EvseSlac    :: Module slac initialized.
2023-01-16 18:19:55.708490 [INFO] yeti_driver:Yet  :: Module yeti_driver initialized.
2023-01-16 18:19:55.871158 [INFO] evse_manager:Ev  :: Module evse_manager initialized.
2023-01-16 18:19:58.225050 [INFO] token_provider:  :: Module token_provider initialized.
2023-01-16 18:19:58.506605 [INFO] imd:JsIMDSimula  :: Module imd initialized.
2023-01-16 18:19:58.513026 [INFO] iso15118_car:Js  :: Module iso15118_car initialized.
2023-01-16 18:19:58.578473 [INFO] powersupply_dc:  :: Module powersupply_dc initialized.
2023-01-16 18:19:58.593826 [INFO] token_validator  :: Module token_validator initialized.
2023-01-16 18:20:05.360073 [INFO] iso15118_charge  :: Initializing framework for module iso15118_charger:PyJosev...
2023-01-16 18:20:05.396659 [INFO] iso15118_charge  :: Initializing module iso15118_charger:PyJosev...
2023-01-16 18:20:05.647368 [INFO] iso15118_charge  :: Module iso15118_charger initialized.
2023-01-16 18:20:05.681002 [INFO] manager          :: >>> All modules are initialized. EVerest up and running <<<
cobsDecode: Received nothing
cobsDecode: Received nothing
2023-01-16 18:20:22.363394 [INFO] evse_manager:Ev  :: �🌀�🌀�🌀 Ready to start charging �🌀�🌀�🌀
2023-01-16 18:21:24.684860 [INFO] evse_manager:Ev  :: SYS  Session logging started.
2023-01-16 18:21:24.685604 [INFO] evse_manager:Ev  :: EVSE IEC Session Started: EVConnected
2023-01-16 18:21:24.687267 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:24.848903 [INFO] token_provider:  :: Publishing new dummy token: { id_token: 'DEADBEEF', type: 'RFID' }
2023-01-16 18:21:24.884363 [INFO] auth:Auth        :: Received new token: {
    "id_token": "DEADBEEF",
    "type": "RFID"
}
2023-01-16 18:21:25.004251 [INFO] token_validator  :: Got validation request for token 'DEADBEEF'...
2023-01-16 18:21:25.293769 [INFO] token_validator  :: Returning validation result for token 'DEADBEEF': { authorization_status: 'Accepted', reason: 'Token seems valid' }
2023-01-16 18:21:25.324475 [INFO] auth:Auth        :: Providing authorization to connector#1
2023-01-16 18:21:25.422809 [INFO] evse_manager:Ev  :: EVSE IEC EIM Authorization received
2023-01-16 18:21:25.423208 [INFO] evse_manager:Ev  :: EVSE IEC Transaction Started (0 kWh)
2023-01-16 18:21:25.423921 [INFO] evse_manager:Ev  :: EVSE IEC DC mode. We are in 5percent mode so we can continue without further action.
2023-01-16 18:21:25.433286 [INFO] evse_manager:Ev  ::                                     CAR IEC Event EnterBCD
2023-01-16 18:21:25.448283 [INFO] auth:Auth        :: Result for token: DEADBEEF: ACCEPTED
2023-01-16 18:21:25.474638 [INFO] evse_manager:Ev  :: EVSE IEC Charger state: WaitAuth->PrepareCharging
2023-01-16 18:21:25.655055 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:27.250763 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHING
2023-01-16 18:21:28.014143 [WARN] slac:EvseSlac   EvseFSM::EvseFSM(SlacIO&)::<lambda(EvseFSM::FSMContextType&)> :: Timeout in sounding, send results
2023-01-16 18:21:40.072722 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHED
2023-01-16 18:21:47.437792 [INFO] evse_manager:Ev  ::                                     CAR ISO V2G SupportedAppProtocolReq{
    "supportedAppProtocolReq": {
        "AppProtocol": [
            {
                "Priority": 1,
                "ProtocolNamespace": "urn:din:70121:2012:MsgDef",
                "SchemaID": 1,
                "VersionNumberMajor": 2,
                "VersionNumberMinor": 0
            }
        ]
    }
}
2023-01-16 18:21:48.023132 [INFO] evse_manager:Ev  :: EVSE ISO V2G SupportedAppProtocolRes{
    "supportedAppProtocolRes": {
        "ResponseCode": "OK_SuccessfulNegotiation",
        "SchemaID": 1
    }
}
2023-01-16 18:21:50.907918 [ERRO] iso15118_charge static void Log::error(const string&) :: ERROR - iso15118.shared.utils (51): [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/utils.py", line 49, in wait_for_tasks
    task.result()
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/comm_session.py", line 449, in rcv_loop
    message = await asyncio.wait_for(self.reader.read(7000), timeout)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
    return fut.result()
  File "/usr/lib/python3.10/asyncio/streams.py", line 669, in read
    await self._wait_for_data('read')
  File "/usr/lib/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 854, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer


Have you already seen this kind of error?

Thanks


Anton Wöllert
 

It looks like, the sounding from the SLAC times out.  After that the HLC won't be able to connect to the EV (connection reset by peer), because the connection is not established via SLAC.  Could you probably record a pcap (tcpdump of the SLAC communication).
Do you use the latest main of everest-core (because there were recent changes in the EVSE Slac driver).

Am Di., 17. Jan. 2023 um 12:06 Uhr schrieb Alberto Merciai <alb3rt0.m3rciai@...>:

Hello,

I'm trying to move build sw into a pi.

Everything is fine but if I try to perform a charging session I got this error:

/usr/bin/manager --conf /home/root/config-sil-dc.yaml
2023-01-16 18:19:46.634886 [INFO] manager          :: 8< 8< 8< ------------------------------------------------------------------------------ 8< 8< 8<
2023-01-16 18:19:46.635226 [INFO] manager          :: EVerest manager starting using /home/root/config-sil-dc.yaml
2023-01-16 18:19:47.634018 [INFO] everest_ctrl     :: everest controller process started ...
2023-01-16 18:19:47.646433 [INFO] everest_ctrl     :: Launching controller service on port 8849
2023-01-16 18:19:54.540675 [INFO] energy_manager:  :: Module energy_manager initialized.
2023-01-16 18:19:54.708625 [INFO] grid_connection  :: Module grid_connection_point initialized.
2023-01-16 18:19:55.159670 [INFO] auth:Auth        :: Module auth initialized.
2023-01-16 18:19:55.473414 [INFO] api:API          :: Module api initialized.
2023-01-16 18:19:55.591248 [INFO] slac:EvseSlac    :: Module slac initialized.
2023-01-16 18:19:55.708490 [INFO] yeti_driver:Yet  :: Module yeti_driver initialized.
2023-01-16 18:19:55.871158 [INFO] evse_manager:Ev  :: Module evse_manager initialized.
2023-01-16 18:19:58.225050 [INFO] token_provider:  :: Module token_provider initialized.
2023-01-16 18:19:58.506605 [INFO] imd:JsIMDSimula  :: Module imd initialized.
2023-01-16 18:19:58.513026 [INFO] iso15118_car:Js  :: Module iso15118_car initialized.
2023-01-16 18:19:58.578473 [INFO] powersupply_dc:  :: Module powersupply_dc initialized.
2023-01-16 18:19:58.593826 [INFO] token_validator  :: Module token_validator initialized.
2023-01-16 18:20:05.360073 [INFO] iso15118_charge  :: Initializing framework for module iso15118_charger:PyJosev...
2023-01-16 18:20:05.396659 [INFO] iso15118_charge  :: Initializing module iso15118_charger:PyJosev...
2023-01-16 18:20:05.647368 [INFO] iso15118_charge  :: Module iso15118_charger initialized.
2023-01-16 18:20:05.681002 [INFO] manager          :: >>> All modules are initialized. EVerest up and running <<<
cobsDecode: Received nothing
cobsDecode: Received nothing
2023-01-16 18:20:22.363394 [INFO] evse_manager:Ev  :: �🌀�🌀�🌀 Ready to start charging �🌀�🌀�🌀
2023-01-16 18:21:24.684860 [INFO] evse_manager:Ev  :: SYS  Session logging started.
2023-01-16 18:21:24.685604 [INFO] evse_manager:Ev  :: EVSE IEC Session Started: EVConnected
2023-01-16 18:21:24.687267 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:24.848903 [INFO] token_provider:  :: Publishing new dummy token: { id_token: 'DEADBEEF', type: 'RFID' }
2023-01-16 18:21:24.884363 [INFO] auth:Auth        :: Received new token: {
    "id_token": "DEADBEEF",
    "type": "RFID"
}
2023-01-16 18:21:25.004251 [INFO] token_validator  :: Got validation request for token 'DEADBEEF'...
2023-01-16 18:21:25.293769 [INFO] token_validator  :: Returning validation result for token 'DEADBEEF': { authorization_status: 'Accepted', reason: 'Token seems valid' }
2023-01-16 18:21:25.324475 [INFO] auth:Auth        :: Providing authorization to connector#1
2023-01-16 18:21:25.422809 [INFO] evse_manager:Ev  :: EVSE IEC EIM Authorization received
2023-01-16 18:21:25.423208 [INFO] evse_manager:Ev  :: EVSE IEC Transaction Started (0 kWh)
2023-01-16 18:21:25.423921 [INFO] evse_manager:Ev  :: EVSE IEC DC mode. We are in 5percent mode so we can continue without further action.
2023-01-16 18:21:25.433286 [INFO] evse_manager:Ev  ::                                     CAR IEC Event EnterBCD
2023-01-16 18:21:25.448283 [INFO] auth:Auth        :: Result for token: DEADBEEF: ACCEPTED
2023-01-16 18:21:25.474638 [INFO] evse_manager:Ev  :: EVSE IEC Charger state: WaitAuth->PrepareCharging
2023-01-16 18:21:25.655055 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:27.250763 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHING
2023-01-16 18:21:28.014143 [WARN] slac:EvseSlac   EvseFSM::EvseFSM(SlacIO&)::<lambda(EvseFSM::FSMContextType&)> :: Timeout in sounding, send results
2023-01-16 18:21:40.072722 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHED
2023-01-16 18:21:47.437792 [INFO] evse_manager:Ev  ::                                     CAR ISO V2G SupportedAppProtocolReq{
    "supportedAppProtocolReq": {
        "AppProtocol": [
            {
                "Priority": 1,
                "ProtocolNamespace": "urn:din:70121:2012:MsgDef",
                "SchemaID": 1,
                "VersionNumberMajor": 2,
                "VersionNumberMinor": 0
            }
        ]
    }
}
2023-01-16 18:21:48.023132 [INFO] evse_manager:Ev  :: EVSE ISO V2G SupportedAppProtocolRes{
    "supportedAppProtocolRes": {
        "ResponseCode": "OK_SuccessfulNegotiation",
        "SchemaID": 1
    }
}
2023-01-16 18:21:50.907918 [ERRO] iso15118_charge static void Log::error(const string&) :: ERROR - iso15118.shared.utils (51): [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/utils.py", line 49, in wait_for_tasks
    task.result()
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/comm_session.py", line 449, in rcv_loop
    message = await asyncio.wait_for(self.reader.read(7000), timeout)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
    return fut.result()
  File "/usr/lib/python3.10/asyncio/streams.py", line 669, in read
    await self._wait_for_data('read')
  File "/usr/lib/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 854, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer


Have you already seen this kind of error?

Thanks


Cornelius Claussen
 


We need to look why slac times out, I guess it is because you are using a PLC modem with the STM32 in between and it takes a little longer. Maybe we need to increase the timeout settings, as Anton suggested a tcpdump recording would be helpful here. Slac still goes into matched state though, so HLC should be fine with that. The car actually kills the TCP connection after a timeout of >2 seconds as it does not get a response to a request probably. The actual request we cannot see here as maybe the EXI cannot be parsed or something else wrong with the next packet after the SupportedAppProtocolRes (which works fine). 

Try to enable python debugging here:

last line change:
log.debug(msg)
change to:
log.info(msg)

 Then you will get the output from the python iso stack. It probably has problems with the next request and we therefore never reply back. 
In the tcpdump we can also see the packet you cannot see in the console log of everest.

Which car are you using?

Thanks

Cornelius


Am Di., 17. Jan. 2023 um 12:10 Uhr schrieb Anton Wöllert via lists.lfenergy.org <anton.woellert=pionix.de@...>:

It looks like, the sounding from the SLAC times out.  After that the HLC won't be able to connect to the EV (connection reset by peer), because the connection is not established via SLAC.  Could you probably record a pcap (tcpdump of the SLAC communication).
Do you use the latest main of everest-core (because there were recent changes in the EVSE Slac driver).

Am Di., 17. Jan. 2023 um 12:06 Uhr schrieb Alberto Merciai <alb3rt0.m3rciai@...>:
Hello,

I'm trying to move build sw into a pi.

Everything is fine but if I try to perform a charging session I got this error:

/usr/bin/manager --conf /home/root/config-sil-dc.yaml
2023-01-16 18:19:46.634886 [INFO] manager          :: 8< 8< 8< ------------------------------------------------------------------------------ 8< 8< 8<
2023-01-16 18:19:46.635226 [INFO] manager          :: EVerest manager starting using /home/root/config-sil-dc.yaml
2023-01-16 18:19:47.634018 [INFO] everest_ctrl     :: everest controller process started ...
2023-01-16 18:19:47.646433 [INFO] everest_ctrl     :: Launching controller service on port 8849
2023-01-16 18:19:54.540675 [INFO] energy_manager:  :: Module energy_manager initialized.
2023-01-16 18:19:54.708625 [INFO] grid_connection  :: Module grid_connection_point initialized.
2023-01-16 18:19:55.159670 [INFO] auth:Auth        :: Module auth initialized.
2023-01-16 18:19:55.473414 [INFO] api:API          :: Module api initialized.
2023-01-16 18:19:55.591248 [INFO] slac:EvseSlac    :: Module slac initialized.
2023-01-16 18:19:55.708490 [INFO] yeti_driver:Yet  :: Module yeti_driver initialized.
2023-01-16 18:19:55.871158 [INFO] evse_manager:Ev  :: Module evse_manager initialized.
2023-01-16 18:19:58.225050 [INFO] token_provider:  :: Module token_provider initialized.
2023-01-16 18:19:58.506605 [INFO] imd:JsIMDSimula  :: Module imd initialized.
2023-01-16 18:19:58.513026 [INFO] iso15118_car:Js  :: Module iso15118_car initialized.
2023-01-16 18:19:58.578473 [INFO] powersupply_dc:  :: Module powersupply_dc initialized.
2023-01-16 18:19:58.593826 [INFO] token_validator  :: Module token_validator initialized.
2023-01-16 18:20:05.360073 [INFO] iso15118_charge  :: Initializing framework for module iso15118_charger:PyJosev...
2023-01-16 18:20:05.396659 [INFO] iso15118_charge  :: Initializing module iso15118_charger:PyJosev...
2023-01-16 18:20:05.647368 [INFO] iso15118_charge  :: Module iso15118_charger initialized.
2023-01-16 18:20:05.681002 [INFO] manager          :: >>> All modules are initialized. EVerest up and running <<<
cobsDecode: Received nothing
cobsDecode: Received nothing
2023-01-16 18:20:22.363394 [INFO] evse_manager:Ev  :: �🌀�🌀�🌀 Ready to start charging �🌀�🌀�🌀
2023-01-16 18:21:24.684860 [INFO] evse_manager:Ev  :: SYS  Session logging started.
2023-01-16 18:21:24.685604 [INFO] evse_manager:Ev  :: EVSE IEC Session Started: EVConnected
2023-01-16 18:21:24.687267 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:24.848903 [INFO] token_provider:  :: Publishing new dummy token: { id_token: 'DEADBEEF', type: 'RFID' }
2023-01-16 18:21:24.884363 [INFO] auth:Auth        :: Received new token: {
    "id_token": "DEADBEEF",
    "type": "RFID"
}
2023-01-16 18:21:25.004251 [INFO] token_validator  :: Got validation request for token 'DEADBEEF'...
2023-01-16 18:21:25.293769 [INFO] token_validator  :: Returning validation result for token 'DEADBEEF': { authorization_status: 'Accepted', reason: 'Token seems valid' }
2023-01-16 18:21:25.324475 [INFO] auth:Auth        :: Providing authorization to connector#1
2023-01-16 18:21:25.422809 [INFO] evse_manager:Ev  :: EVSE IEC EIM Authorization received
2023-01-16 18:21:25.423208 [INFO] evse_manager:Ev  :: EVSE IEC Transaction Started (0 kWh)
2023-01-16 18:21:25.423921 [INFO] evse_manager:Ev  :: EVSE IEC DC mode. We are in 5percent mode so we can continue without further action.
2023-01-16 18:21:25.433286 [INFO] evse_manager:Ev  ::                                     CAR IEC Event EnterBCD
2023-01-16 18:21:25.448283 [INFO] auth:Auth        :: Result for token: DEADBEEF: ACCEPTED
2023-01-16 18:21:25.474638 [INFO] evse_manager:Ev  :: EVSE IEC Charger state: WaitAuth->PrepareCharging
2023-01-16 18:21:25.655055 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:27.250763 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHING
2023-01-16 18:21:28.014143 [WARN] slac:EvseSlac   EvseFSM::EvseFSM(SlacIO&)::<lambda(EvseFSM::FSMContextType&)> :: Timeout in sounding, send results
2023-01-16 18:21:40.072722 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHED
2023-01-16 18:21:47.437792 [INFO] evse_manager:Ev  ::                                     CAR ISO V2G SupportedAppProtocolReq{
    "supportedAppProtocolReq": {
        "AppProtocol": [
            {
                "Priority": 1,
                "ProtocolNamespace": "urn:din:70121:2012:MsgDef",
                "SchemaID": 1,
                "VersionNumberMajor": 2,
                "VersionNumberMinor": 0
            }
        ]
    }
}
2023-01-16 18:21:48.023132 [INFO] evse_manager:Ev  :: EVSE ISO V2G SupportedAppProtocolRes{
    "supportedAppProtocolRes": {
        "ResponseCode": "OK_SuccessfulNegotiation",
        "SchemaID": 1
    }
}
2023-01-16 18:21:50.907918 [ERRO] iso15118_charge static void Log::error(const string&) :: ERROR - iso15118.shared.utils (51): [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/utils.py", line 49, in wait_for_tasks
    task.result()
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/comm_session.py", line 449, in rcv_loop
    message = await asyncio.wait_for(self.reader.read(7000), timeout)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
    return fut.result()
  File "/usr/lib/python3.10/asyncio/streams.py", line 669, in read
    await self._wait_for_data('read')
  File "/usr/lib/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 854, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer


Have you already seen this kind of error?

Thanks


Cornelius Claussen
 

Ah and please attach your current config

Cornelius Claussen via lists.lfenergy.org <cornelius.claussen=pionix.de@...> schrieb am Di., 17. Jan. 2023, 12:32:


We need to look why slac times out, I guess it is because you are using a PLC modem with the STM32 in between and it takes a little longer. Maybe we need to increase the timeout settings, as Anton suggested a tcpdump recording would be helpful here. Slac still goes into matched state though, so HLC should be fine with that. The car actually kills the TCP connection after a timeout of >2 seconds as it does not get a response to a request probably. The actual request we cannot see here as maybe the EXI cannot be parsed or something else wrong with the next packet after the SupportedAppProtocolRes (which works fine). 

Try to enable python debugging here:

last line change:
log.debug(msg)
change to:
log.info(msg)

 Then you will get the output from the python iso stack. It probably has problems with the next request and we therefore never reply back. 
In the tcpdump we can also see the packet you cannot see in the console log of everest.

Which car are you using?

Thanks

Cornelius


Am Di., 17. Jan. 2023 um 12:10 Uhr schrieb Anton Wöllert via lists.lfenergy.org <anton.woellert=pionix.de@...>:
It looks like, the sounding from the SLAC times out.  After that the HLC won't be able to connect to the EV (connection reset by peer), because the connection is not established via SLAC.  Could you probably record a pcap (tcpdump of the SLAC communication).
Do you use the latest main of everest-core (because there were recent changes in the EVSE Slac driver).

Am Di., 17. Jan. 2023 um 12:06 Uhr schrieb Alberto Merciai <alb3rt0.m3rciai@...>:
Hello,

I'm trying to move build sw into a pi.

Everything is fine but if I try to perform a charging session I got this error:

/usr/bin/manager --conf /home/root/config-sil-dc.yaml
2023-01-16 18:19:46.634886 [INFO] manager          :: 8< 8< 8< ------------------------------------------------------------------------------ 8< 8< 8<
2023-01-16 18:19:46.635226 [INFO] manager          :: EVerest manager starting using /home/root/config-sil-dc.yaml
2023-01-16 18:19:47.634018 [INFO] everest_ctrl     :: everest controller process started ...
2023-01-16 18:19:47.646433 [INFO] everest_ctrl     :: Launching controller service on port 8849
2023-01-16 18:19:54.540675 [INFO] energy_manager:  :: Module energy_manager initialized.
2023-01-16 18:19:54.708625 [INFO] grid_connection  :: Module grid_connection_point initialized.
2023-01-16 18:19:55.159670 [INFO] auth:Auth        :: Module auth initialized.
2023-01-16 18:19:55.473414 [INFO] api:API          :: Module api initialized.
2023-01-16 18:19:55.591248 [INFO] slac:EvseSlac    :: Module slac initialized.
2023-01-16 18:19:55.708490 [INFO] yeti_driver:Yet  :: Module yeti_driver initialized.
2023-01-16 18:19:55.871158 [INFO] evse_manager:Ev  :: Module evse_manager initialized.
2023-01-16 18:19:58.225050 [INFO] token_provider:  :: Module token_provider initialized.
2023-01-16 18:19:58.506605 [INFO] imd:JsIMDSimula  :: Module imd initialized.
2023-01-16 18:19:58.513026 [INFO] iso15118_car:Js  :: Module iso15118_car initialized.
2023-01-16 18:19:58.578473 [INFO] powersupply_dc:  :: Module powersupply_dc initialized.
2023-01-16 18:19:58.593826 [INFO] token_validator  :: Module token_validator initialized.
2023-01-16 18:20:05.360073 [INFO] iso15118_charge  :: Initializing framework for module iso15118_charger:PyJosev...
2023-01-16 18:20:05.396659 [INFO] iso15118_charge  :: Initializing module iso15118_charger:PyJosev...
2023-01-16 18:20:05.647368 [INFO] iso15118_charge  :: Module iso15118_charger initialized.
2023-01-16 18:20:05.681002 [INFO] manager          :: >>> All modules are initialized. EVerest up and running <<<
cobsDecode: Received nothing
cobsDecode: Received nothing
2023-01-16 18:20:22.363394 [INFO] evse_manager:Ev  :: �🌀�🌀�🌀 Ready to start charging �🌀�🌀�🌀
2023-01-16 18:21:24.684860 [INFO] evse_manager:Ev  :: SYS  Session logging started.
2023-01-16 18:21:24.685604 [INFO] evse_manager:Ev  :: EVSE IEC Session Started: EVConnected
2023-01-16 18:21:24.687267 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:24.848903 [INFO] token_provider:  :: Publishing new dummy token: { id_token: 'DEADBEEF', type: 'RFID' }
2023-01-16 18:21:24.884363 [INFO] auth:Auth        :: Received new token: {
    "id_token": "DEADBEEF",
    "type": "RFID"
}
2023-01-16 18:21:25.004251 [INFO] token_validator  :: Got validation request for token 'DEADBEEF'...
2023-01-16 18:21:25.293769 [INFO] token_validator  :: Returning validation result for token 'DEADBEEF': { authorization_status: 'Accepted', reason: 'Token seems valid' }
2023-01-16 18:21:25.324475 [INFO] auth:Auth        :: Providing authorization to connector#1
2023-01-16 18:21:25.422809 [INFO] evse_manager:Ev  :: EVSE IEC EIM Authorization received
2023-01-16 18:21:25.423208 [INFO] evse_manager:Ev  :: EVSE IEC Transaction Started (0 kWh)
2023-01-16 18:21:25.423921 [INFO] evse_manager:Ev  :: EVSE IEC DC mode. We are in 5percent mode so we can continue without further action.
2023-01-16 18:21:25.433286 [INFO] evse_manager:Ev  ::                                     CAR IEC Event EnterBCD
2023-01-16 18:21:25.448283 [INFO] auth:Auth        :: Result for token: DEADBEEF: ACCEPTED
2023-01-16 18:21:25.474638 [INFO] evse_manager:Ev  :: EVSE IEC Charger state: WaitAuth->PrepareCharging
2023-01-16 18:21:25.655055 [INFO] evse_manager:Ev  :: EVSE IEC Set PWM On (5.000000074505806%)
2023-01-16 18:21:27.250763 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHING
2023-01-16 18:21:28.014143 [WARN] slac:EvseSlac   EvseFSM::EvseFSM(SlacIO&)::<lambda(EvseFSM::FSMContextType&)> :: Timeout in sounding, send results
2023-01-16 18:21:40.072722 [INFO] evse_manager:Ev  :: EVSE ISO SLAC MATCHED
2023-01-16 18:21:47.437792 [INFO] evse_manager:Ev  ::                                     CAR ISO V2G SupportedAppProtocolReq{
    "supportedAppProtocolReq": {
        "AppProtocol": [
            {
                "Priority": 1,
                "ProtocolNamespace": "urn:din:70121:2012:MsgDef",
                "SchemaID": 1,
                "VersionNumberMajor": 2,
                "VersionNumberMinor": 0
            }
        ]
    }
}
2023-01-16 18:21:48.023132 [INFO] evse_manager:Ev  :: EVSE ISO V2G SupportedAppProtocolRes{
    "supportedAppProtocolRes": {
        "ResponseCode": "OK_SuccessfulNegotiation",
        "SchemaID": 1
    }
}
2023-01-16 18:21:50.907918 [ERRO] iso15118_charge static void Log::error(const string&) :: ERROR - iso15118.shared.utils (51): [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/utils.py", line 49, in wait_for_tasks
    task.result()
  File "/usr/libexec/everest/modules/PyJosev/../../3rd_party/josev/iso15118/shared/comm_session.py", line 449, in rcv_loop
    message = await asyncio.wait_for(self.reader.read(7000), timeout)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
    return fut.result()
  File "/usr/lib/python3.10/asyncio/streams.py", line 669, in read
    await self._wait_for_data('read')
  File "/usr/lib/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 854, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer


Have you already seen this kind of error?

Thanks


Alberto Merciai
 

Hello,

Attached is the configuration I'm using.
I'm using everest-core: 21cad0c3b8474d71739ce8cec86a8876a801c1c3

the latest message I receive after
image.png

from car is the following :
0000   d0 14 11 a0 0b 67 c4 00 ad 56 fe 6f 86 dd 60 00   .....g...V.o..`.
0010   00 00 00 20 06 40 fe 80 00 00 00 00 00 00 c6 00   ... .@..........
0020   ad ff fe 56 fe 6f fe 80 00 00 00 00 00 00 d2 14   ...V.o..........
0030   11 ff fe a0 0b 67 a2 9b c2 38 68 8f 89 79 b7 6f   .....g...8h..y.o
0040   8c 79 80 10 00 71 8e 48 00 00 01 01 08 0a 0a 03   .y...q.H........
0050   55 14 a4 5f ed e1                                 U.._..


How can I increase timeout?

Thanks!


Cornelius Claussen
 

Hi,

few things I noted:

  iso15118_charger:
    module: PyJosev
    config_module:
      device: eth0
      supported_DIN70121: true
      supported_ISO15118_20_DC: true
      supported_ISO15118_2: true

1) iso15118_charger is configured for eth0, but module slac has no config option and should default to eth1, so the slac will need to point to eth0 as well. 
2) On iso15118_charger please set the following option:
ignore_physical_values_limits: true
3) supported_ISO15118_20_DC: true : this is not really supported yet, better set to false for now
 
Then it will not complain if physical value types are out of range, which they usually are with real cars. 
If the problem persists, please send a complete tcp dump, then we can look at it with wireshark and decode the EXI. You can also send it to me privately if you do not want to share the file on the public mailing list. Also it would be interesting to know the car brand and type.

Concerning timeouts see
libslac/include/slac/slac.hpp:

const int C_EV_START_ATTEN_CHAR_INDS = 3;
const int C_EV_MATCH_RETRY = 2;
const int TP_EV_BATCH_MSG_INTERVAL_MS = 40; // 20ms - 50ms, interval between start_atten_char and mnbc_sound msgs
const int TT_EVSE_MATCH_MNBC_MS = 600;
const int TT_MATCH_SEQUENCE_MS = 400;
const int TT_MATCH_RESPONSE_MS = 200;
const int TT_EVSE_MATCH_SESSION_MS = 10000;
const int TT_EVSE_SLAC_INIT_MS = 40000; // (20s - 50s)
const int TT_MATCH_JOIN_MS = 12000; // max. 12s
const int T_STEP_EF_MS = 4000; // min. 4s

thanks

cornelius


Am Di., 17. Jan. 2023 um 13:29 Uhr schrieb Alberto Merciai <alb3rt0.m3rciai@...>:

Hello,

Attached is the configuration I'm using.
I'm using everest-core: 21cad0c3b8474d71739ce8cec86a8876a801c1c3

the latest message I receive after
image.png

from car is the following :
0000   d0 14 11 a0 0b 67 c4 00 ad 56 fe 6f 86 dd 60 00   .....g...V.o..`.
0010   00 00 00 20 06 40 fe 80 00 00 00 00 00 00 c6 00   ... .@..........
0020   ad ff fe 56 fe 6f fe 80 00 00 00 00 00 00 d2 14   ...V.o..........
0030   11 ff fe a0 0b 67 a2 9b c2 38 68 8f 89 79 b7 6f   .....g...8h..y.o
0040   8c 79 80 10 00 71 8e 48 00 00 01 01 08 0a 0a 03   .y...q.H........
0050   55 14 a4 5f ed e1                                 U.._..


How can I increase timeout?

Thanks!


Alberto Merciai
 

Finally I found the issue, my SD was too slow...

I will try the same meta layer with MMC, let's see how it goes, thanks a lot for your effort

Regards,
Alberto 

On Tue, 17 Jan 2023, 13:53 Cornelius Claussen via lists.lfenergy.org, <cornelius.claussen=pionix.de@...> wrote:

Hi,

few things I noted:

  iso15118_charger:
    module: PyJosev
    config_module:
      device: eth0
      supported_DIN70121: true
      supported_ISO15118_20_DC: true
      supported_ISO15118_2: true

1) iso15118_charger is configured for eth0, but module slac has no config option and should default to eth1, so the slac will need to point to eth0 as well. 
2) On iso15118_charger please set the following option:
ignore_physical_values_limits: true
3) supported_ISO15118_20_DC: true : this is not really supported yet, better set to false for now
 
Then it will not complain if physical value types are out of range, which they usually are with real cars. 
If the problem persists, please send a complete tcp dump, then we can look at it with wireshark and decode the EXI. You can also send it to me privately if you do not want to share the file on the public mailing list. Also it would be interesting to know the car brand and type.

Concerning timeouts see
libslac/include/slac/slac.hpp:

const int C_EV_START_ATTEN_CHAR_INDS = 3;
const int C_EV_MATCH_RETRY = 2;
const int TP_EV_BATCH_MSG_INTERVAL_MS = 40; // 20ms - 50ms, interval between start_atten_char and mnbc_sound msgs
const int TT_EVSE_MATCH_MNBC_MS = 600;
const int TT_MATCH_SEQUENCE_MS = 400;
const int TT_MATCH_RESPONSE_MS = 200;
const int TT_EVSE_MATCH_SESSION_MS = 10000;
const int TT_EVSE_SLAC_INIT_MS = 40000; // (20s - 50s)
const int TT_MATCH_JOIN_MS = 12000; // max. 12s
const int T_STEP_EF_MS = 4000; // min. 4s

thanks

cornelius


Am Di., 17. Jan. 2023 um 13:29 Uhr schrieb Alberto Merciai <alb3rt0.m3rciai@...>:
Hello,

Attached is the configuration I'm using.
I'm using everest-core: 21cad0c3b8474d71739ce8cec86a8876a801c1c3

the latest message I receive after
image.png

from car is the following :
0000   d0 14 11 a0 0b 67 c4 00 ad 56 fe 6f 86 dd 60 00   .....g...V.o..`.
0010   00 00 00 20 06 40 fe 80 00 00 00 00 00 00 c6 00   ... .@..........
0020   ad ff fe 56 fe 6f fe 80 00 00 00 00 00 00 d2 14   ...V.o..........
0030   11 ff fe a0 0b 67 a2 9b c2 38 68 8f 89 79 b7 6f   .....g...8h..y.o
0040   8c 79 80 10 00 71 8e 48 00 00 01 01 08 0a 0a 03   .y...q.H........
0050   55 14 a4 5f ed e1                                 U.._..


How can I increase timeout?

Thanks!