Open corneliusclaussen opened 1 month ago
What's missing: D20 module needs support for ::1 TCP connections via option, both modules need to allow PnC via option on TCP connection. Config files to be updated to actually use D20 module once it is merged.
Stopping reviewing here as most of the code base is copied from the EvseV2G module (and therefore this would be more like a review for that code base). Nice to see that the proxying can be implemented that easy via the
connection_proxy
functions. I would recommend for the next time, when copying source files, that they are checked in with their initial/original content in a first commit - so it would be possible to track changes.
Thanks for your review, I'm not sure if it makes sense to fix the issues that are copy past from the EvseV2G module as it will make it harder to merge fixes done to EvseV2G into this module. This module is also just an intermediate solution until the D20 module supports DIN and ISO-2 as well.
This module starts and SDP server and waits for incoming V2G connections (TCP, and optionally TLS). Upon connection, it reads the SupportedAppProtocol.req message to determine if the EV supports ISO-20 or not.
If ISO-20 is supported, it transparently bridges the connection to the ISO-20 module (using TLS->TCP).
If the EV does not support ISO-20, it bridges to the ISO-2 module instead.
Both the required iso-2 and iso-20 modules only need TCP enabled, but they require to accept e.g. PnC on TCP sessions (as the actual communication to the EV may be TLS). Also the need to listen on localhost (::1) instead of the actual PLC device.
Describe your changes
Issue ticket number and link
Checklist before requesting a review