<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Current Affairs - By Marc Mültin]]></title><description><![CDATA[Demystifying how EVs, chargers, and the grid talk — for engineers, operators, and innovators building the future of electric mobility.]]></description><link>https://currentaffairs.io</link><image><url>https://substackcdn.com/image/fetch/$s_!96R9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ecf94b-c27f-4787-865b-5519d2a94ba1_800x800.png</url><title>Current Affairs - By Marc Mültin</title><link>https://currentaffairs.io</link></image><generator>Substack</generator><lastBuildDate>Sun, 17 May 2026 02:40:55 GMT</lastBuildDate><atom:link href="https://currentaffairs.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Marc Mültin]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[marc@currentaffairs.io]]></webMaster><itunes:owner><itunes:email><![CDATA[marc@currentaffairs.io]]></itunes:email><itunes:name><![CDATA[Marc Mültin]]></itunes:name></itunes:owner><itunes:author><![CDATA[Marc Mültin]]></itunes:author><googleplay:owner><![CDATA[marc@currentaffairs.io]]></googleplay:owner><googleplay:email><![CDATA[marc@currentaffairs.io]]></googleplay:email><googleplay:author><![CDATA[Marc Mültin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[From pilots to products — the year V2G grew up]]></title><description><![CDATA[Four commercial V2G offers went live in the EU before this V2G conference. The question in M&#252;nster was no longer whether V2G works &#8212; it was whether the infrastructure and regulation could keep up.]]></description><link>https://currentaffairs.io/p/from-pilots-to-products-the-year-v2g-grew-up</link><guid isPermaLink="false">https://currentaffairs.io/p/from-pilots-to-products-the-year-v2g-grew-up</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 28 Apr 2026 08:27:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vqU7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The headline on pv magazine&#8217;s post-conference report put it precisely: <em>&#8220;Vehicle-to-Grid business models are emerging &#8212; but the market breakthrough remains distant.&#8221;</em> That honest duality, real progress alongside real distance still to cover, defined two days of debate at the <a href="https://www.vehicle-2-grid.eu/en/">5th Vehicle-2-Grid Conference in M&#252;nster</a> (Germany) on 15&#8211;16 April, where more than 100 participants from industry, research, and the energy sector gathered for the most commercially grounded V2G conversation the event has hosted.</p><p>Jan Figgener, Senior Visiting Scientist at RWTH Aachen and co-organiser of the conference, opened with a moment of reflection. Five years ago, the industry was still debating when smart charging would arrive. Three years ago, it was asking when V2G would follow. &#8220;Today&#8221;, Figgener said, &#8220;we are already discussing concrete business models.&#8221; <em>Es geht sp&#252;rbar voran</em> &#8212; it is noticeably advancing.</p><p>And it is. By day two, Mike Evans from Octopus Energy was on stage showing live customer discharge graphs dated 13&#8211;14 April: real vehicles, real customers, real kilowatt-hours flowing back to the grid. The live product is Octopus&#8217;s UK bundle (BYD vehicles on Zaptec Go2 chargers). Germany, where the Ford Explorer and Capri will connect to Ambibox DC wallboxes on the Kraken platform, was on the roadmap as the imminent next step. Not a distant announcement. A product already live in one market, with the German launch in the pipeline.</p><p>The same tension ran through every session across both days: the products are real; the infrastructure to support them at scale is not yet ready. The gap isn&#8217;t just smart meters and harmonised grid codes &#8212; major utilities haven&#8217;t yet built the billing logic, compliance workflows, and internal processes to operate V2G commercially. Five things from those two days are worth understanding properly:</p><ul><li><p>Why Germany&#8217;s headline V2G revenue figure of ~&#8364;700/year may differ sharply from what customers are currently receiving, and what the November 2025 double-taxation reform actually changed</p></li><li><p>Why 250,000 discharge sessions is the current price of entry for a single car OEM to approve a V2G charger, and what that demand says about where ISO 15118-20 standardisation actually stands</p></li><li><p>What Utrecht Energized&#8217;s &#8364;60-per-car-per-month result reveals about the difference between grid congestion contracts and frequency balancing markets</p></li><li><p>Why at least one established DC V2G charger manufacturer has decided not to take DC to the mass market, and what the inverter economics argument rests on</p></li><li><p>Why the gap between the marketed ~&#8364;700/year and the live customer experience isn&#8217;t just a communications problem &#8212; and what the industry risks if it doesn&#8217;t close it</p></li></ul><div><hr></div><h4>Latest articles:</h4><p>If you haven&#8217;t subscribed yet, here&#8217;s what was covered in the past weeks:</p><ul><li><p><a href="https://currentaffairs.io/p/how-ocpp-21-and-iso-15118-20-enable-v2g-grid-code-implementations">How OCPP 2.1 and ISO 15118-20 enable V2G grid code implementations</a></p></li><li><p><a href="https://currentaffairs.io/p/v2g-grid-codes-when-your-ev-becomes-a-power-plant">V2G grid codes - When your EV becomes a power plant</a></p></li><li><p><a href="https://currentaffairs.io/p/grid-codes-decoded-the-eu-rules-that-are-finally-coming-for-ev-chargers">Grid codes, decoded &#8212; The EU rules that are finally coming for EV chargers</a></p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vqU7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vqU7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vqU7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vqU7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vqU7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vqU7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg" width="1456" height="802" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:802,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:268127,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vqU7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vqU7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vqU7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vqU7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a246aba-92ed-4c62-bd2f-f0c54925a313_1920x1058.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The commercial map: where V2G is live today</h2><p>Europe&#8217;s V2G commercial timeline has moved faster than many expected, and the geography tells its own story.</p><p><strong>France, October 2024</strong>: Mobilize, Renault Group&#8217;s energy services sub-brand, partnered with The Mobility House to launch the first commercial V2G service in Europe. Built around the Renault 5 using AC architecture, the service is also available for the Alpine A290. Revenue in France averages &#8364;30&#8211;40 per month per vehicle, as reported at the conference by Renault&#8217;s Alain Thoral.</p><p><strong>Netherlands, June 2025</strong>: We Drive Solar launched Utrecht Energized, Europe&#8217;s first large-scale V2G car-sharing scheme. More than 200 Renault 5 vehicles now operate on 7kW AC bidirectional chargers in Utrecht, generating revenue from wholesale energy arbitrage and, uniquely, contracted grid congestion services. More on this project in a dedicated section below.</p><p><strong>United Kingdom, August 2025</strong>: Octopus Energy, already the operator of the world&#8217;s largest EV virtual power plant with 370,000 vehicles on smart tariffs in Great Britain, launched a V2G programme bundled with BYD. Zaptec brought the Go2, the first commercially available AC V2G charger in the UK, to market at the same time.</p><p><strong>Germany, September 2025</strong>: BMW and E.ON launched Germany&#8217;s first residential V2G offer at IAA Mobility, followed in February 2026 by the full commercial package: iX3, dedicated DC wallbox from Compleo, and energy tariff.</p><p><strong>Germany, forthcoming</strong>: Mike Evans (Octopus Energy) presented the German PowerDrive V2G tariff at the conference, with Ford Explorer and Capri vehicles connecting through Ambibox DC wallboxes on the Kraken platform. The German launch is the imminent next step following the live UK product.</p><p>The day after the conference opened, pv magazine <a href="https://www.pv-magazine.de/2026/04/16/volkswagen-kuendigt-vehicle-to-grid-angebot-an/">reported that Volkswagen had announced its own V2G product</a> through its energy subsidiary Elli: a DC bidirectional wallbox, launching in Germany in Q4 2026. Volkswagen estimates savings and earnings of &#8364;700&#8211;900 per year for participating customers, with registration opening in June 2026 and the service expanding across Europe thereafter. The statistic that gives the launch real commercial weight: approximately one million MEB platform vehicles are already on European roads and technically capable of bidirectional charging. They are waiting for the wallbox and the tariff.</p><p>Mercedes-Benz, meanwhile, announced its own <a href="https://www.mobilityhouse.com/usa_en/our-company/newsroom/article/mercedes-benz-bidirectional-charing-home">V2G product through The Mobility House</a>, completing what looks like a German OEM clean sweep in Q1 2026.</p><p>One thing worth stating explicitly: Germany&#8217;s current residential V2G market is predominantly DC. BMW/E.ON&#8217;s initial product, Ford/Octopus, and VW Elli&#8217;s forthcoming Q4 2026 offer all use DC architecture, in which the bidirectional inverter sits inside the charger rather than the vehicle. France and the Netherlands have deployed AC. The architecture question is not uniformly settled by geography or OEM strategy. More on this shortly.</p><div><hr></div><h2>The economics: what does &#8364;700 a year actually mean?</h2><p>The number that defined the conference was &#8364;700. It came from Dr Axel Sprenger, Managing Director of Uscale, who presented findings from the 2026 Bidi Charging Study: 11,177 respondents across five markets (Germany, UK, France, Netherlands, Sweden), comprising 4,505 BEV (Battery Electric Vehicle) drivers and 6,672 ICE (Internal Combustion Engine) drivers from different EV adopter segments. Sprenger mentioned a minimum revenue threshold of approximately <strong>&#8364;700 per year</strong> &#8212; the point on Uscale&#8217;s price-sales curve at which roughly 70% of respondents plugged in for 8&#8211;16 hours per day said they would participate. Uscale measures adoption likelihood using a Pain-Gain-Index: for a consumer to cross the adoption threshold, perceived benefits must outweigh the new friction V2G introduces by at least 3:1.</p><p>The figure is notable for a second reason: &#8364;700 is precisely what every major German commercial V2G product targets. BMW/E.ON markets up to &#8364;720 per year. VW Elli&#8217;s announcement lands at &#8364;700&#8211;900.</p><p>The question the conference addressed more honestly than most public communications do is what customers are actually likely to receive.</p><p>Mike Evans (Octopus Energy) showed a worked calculation for the German tariff. Based on a customer plugged in for approximately 300 hours per month, benefiting from a &#8722;&#8364;30/month V2G bonus and a discounted EV charging rate of 15 ct/kWh, the net annual electricity cost comes to <strong>minus &#8364;90</strong>. After all charges and credits, that customer is &#8364;90 ahead for the year. That suggests a saving of &#8364;594 + &#8364;90 = &#8364;684 per year, roughly in line with the &#8364;700 savings per year advertised across the board.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9ILg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9ILg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 424w, https://substackcdn.com/image/fetch/$s_!9ILg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 848w, https://substackcdn.com/image/fetch/$s_!9ILg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!9ILg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9ILg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:81093,&quot;alt&quot;:&quot;Octopus Energy (Michael Evans): V1G and V2G tariffs and economics for Germany&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Octopus Energy (Michael Evans): V1G and V2G tariffs and economics for Germany" title="Octopus Energy (Michael Evans): V1G and V2G tariffs and economics for Germany" srcset="https://substackcdn.com/image/fetch/$s_!9ILg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 424w, https://substackcdn.com/image/fetch/$s_!9ILg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 848w, https://substackcdn.com/image/fetch/$s_!9ILg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!9ILg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe546a2dd-202b-4677-839f-9a54f7db7058_2196x1234.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Octopus Energy (Michael Evans): V1G and V2G tariffs and economics for Germany</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VIUy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VIUy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 424w, https://substackcdn.com/image/fetch/$s_!VIUy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 848w, https://substackcdn.com/image/fetch/$s_!VIUy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 1272w, https://substackcdn.com/image/fetch/$s_!VIUy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VIUy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png" width="1280" height="718" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54917,&quot;alt&quot;:&quot;Octopus Energy (Michael Evans): Live V2G operation in the UK with BYD/Zaptec&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Octopus Energy (Michael Evans): Live V2G operation in the UK with BYD/Zaptec" title="Octopus Energy (Michael Evans): Live V2G operation in the UK with BYD/Zaptec" srcset="https://substackcdn.com/image/fetch/$s_!VIUy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 424w, https://substackcdn.com/image/fetch/$s_!VIUy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 848w, https://substackcdn.com/image/fetch/$s_!VIUy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 1272w, https://substackcdn.com/image/fetch/$s_!VIUy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F965eacea-9ef9-4264-82ba-91eb77b4a8d6_1280x718.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Octopus Energy (Michael Evans): Live V2G operation in the UK with BYD/Zaptec</figcaption></figure></div><p>For further context: one of Germany&#8217;s four major utilities, in a private conversation shared with me, assessed the realistic achievable revenue range for most residential V2G customers under current market conditions at <strong>&#8364;100&#8211;200 per year</strong>.</p><p>The gap between the marketed headline and the maybe more likely outcome has two structural explanations. The first, noted by one of Germany&#8217;s major utilities in conversation with me: the business cases underpinning current commercial V2G offers were often modelled on the extreme intraday price volatility of 2023, driven by the energy crisis. Those spreads were not expected to persist, and they have not.</p><p>The second explanation comes from Dr Johanna Bronisch of Neon Neue Energie&#246;konomik, who presented the pre-reform economics with forensic clarity. In Germany, grid fees, levies, and taxes applied when buying electricity could consume most or all of the arbitrage value available from V2G &#8212; leaving little, if anything, to share with consumers. Without sufficient buy-sell spreads, the pre-reform arithmetic simply didn&#8217;t work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kBZg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kBZg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 424w, https://substackcdn.com/image/fetch/$s_!kBZg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 848w, https://substackcdn.com/image/fetch/$s_!kBZg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 1272w, https://substackcdn.com/image/fetch/$s_!kBZg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kBZg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png" width="1280" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60929,&quot;alt&quot;:&quot;Neon Neue Energie&#246;konomik (Johanna Bronisch): Netting grid fees, taxes, and levies&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Neon Neue Energie&#246;konomik (Johanna Bronisch): Netting grid fees, taxes, and levies" title="Neon Neue Energie&#246;konomik (Johanna Bronisch): Netting grid fees, taxes, and levies" srcset="https://substackcdn.com/image/fetch/$s_!kBZg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 424w, https://substackcdn.com/image/fetch/$s_!kBZg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 848w, https://substackcdn.com/image/fetch/$s_!kBZg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 1272w, https://substackcdn.com/image/fetch/$s_!kBZg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda25bc1d-a923-49f3-9291-e230aa991f55_1280x762.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Neon Neue Energie&#246;konomik (Johanna Bronisch): Netting grid fees, taxes, and levies</figcaption></figure></div><p>The German Bundestag&#8217;s amendment to &#167;118 EnWG (German Energy Act), passed on 14 November 2025, changed this. Bidirectional charge points are now treated like home batteries: round-trip energy is exempt from grid fees and electricity tax for the first time. The arbitrage economics are now real.</p><p>But there is a catch in the implementation. The metering rules that define how bidirectional energy flows are measured, colour-coded (grid-sourced versus PV-generated electrons), and billed &#8212; collectively known as MiSpeL (<em>Marktintegration von Speichern und Ladepunkten</em>, or Market Integration of Storage and Charge Points) &#8212; have not yet been finalised by the Federal Network Agency. MiSpeL ... German regulators have a remarkable talent for turning five words of compound-noun machinery into something that sounds like a mild cough drop.</p><p>Until they are, expected in June 2026, grid operators and energy suppliers cannot reliably implement the &#167;118 exemption at scale. And a structural conflict that will not be resolved until at least 2029 remains: the &#167;118 round-trip netting exemption and the &#167;14a EnWG Modul 3 time-of-use grid fee reduction cannot currently be combined. Customers must choose one regime or the other. The AgNes framework initiated by the Federal Network Agency, which redesigns the entire German grid fee system and takes effect on 1 January 2029, is expected to address this through new &#8220;grid-serving&#8221; (Netzdienlichkeit) provisions.</p><p>The honest conclusion: &#8364;700 per year is probably achievable, but it requires the right customer (smart meter already installed, compatible vehicle, willingness to leave the car plugged in regularly and for long hours), the right market conditions, and the right offer. Under current conditions, it is the top end of a realistic range, not the baseline.</p><div><hr></div><h2>Three things still standing in the way</h2><p>There was no shortage of commercial momentum at the conference. But the most useful sessions were the ones that refused to paper over the structural obstacles. Three blockers emerged clearly.</p><h3>Smart meters: Germany at 5% when 90% is needed</h3><p>Tina Hadler, SVP Sales &amp; Partnerships at metrify, delivered the conference&#8217;s most uncomfortable statistic. Only approximately <strong>5% of German metering points</strong> had an intelligent metering system (iMSys) installed by the end of 2025. Germany needs 25&#8211;30 million by 2032. Without an iMSys, a household cannot participate in dynamic electricity tariffs, V2G billing cannot be settled correctly, and the DSO cannot legally send control signals to the charger under &#167;14a EnWG.</p><p>metrify is, according to Hadler&#8217;s presentation, Germany&#8217;s largest competitive smart meter operator, and a subsidiary of the solar company Enpal. With more than 140,000 iMSys installed and a rollout pace of around 2,500 per month, it is among the most active players in the market. And 2,500 per month against a target of 25&#8211;30 million by 2032 requires a very optimistic reading of what lies ahead.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cWbZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cWbZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 424w, https://substackcdn.com/image/fetch/$s_!cWbZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 848w, https://substackcdn.com/image/fetch/$s_!cWbZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 1272w, https://substackcdn.com/image/fetch/$s_!cWbZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cWbZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png" width="1280" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174474,&quot;alt&quot;:&quot;metrify (Tina Hadler): state of smart meter rollout in Germany&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="metrify (Tina Hadler): state of smart meter rollout in Germany" title="metrify (Tina Hadler): state of smart meter rollout in Germany" srcset="https://substackcdn.com/image/fetch/$s_!cWbZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 424w, https://substackcdn.com/image/fetch/$s_!cWbZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 848w, https://substackcdn.com/image/fetch/$s_!cWbZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 1272w, https://substackcdn.com/image/fetch/$s_!cWbZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0e7f47-e229-4ce0-a86d-0f2024fc80f1_1280x741.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">metrify (Tina Hadler): state of smart meter rollout in Germany</figcaption></figure></div><p>The reasons run deep. Germany&#8217;s Federal Office for Information Security (BSI) specified an architecture that is unique in the world: a dedicated hardware security module &#8212; the Smart Meter Gateway (SMGW) &#8212; that encrypts all communications between the meter, grid operators, energy suppliers, and in-home devices at what the BSI describes as &#8220;intelligence service level&#8221;. No other country has built anything comparable. The certification requirements were so exacting that manufacturers spent years in disputes. The result is genuinely world-class cybersecurity for critical energy infrastructure. Whether that security premium was worth a decade of delay is a question the energy transition is now forcing into the open &#8212; the Netherlands deployed simpler meters first and addressed privacy concerns through iterative regulatory amendments.</p><p>The contrast with the Netherlands, where We Drive Solar operates Utrecht Energized on a grid with <strong>90% smart meter penetration</strong>, is stark. The conditions that make Utrecht work, including granular metering data, real-time pricing signals, and DSO visibility of bidirectional flows, will take years to replicate in Germany. That contrast is not a reason to despair about the German trajectory; it is a reason to be realistic about the timeline.</p><h3>The regulatory implementation lag</h3><p>The legal architecture is largely in place. The execution is still catching up.</p><p>Grid operators have 9&#8211;12 months from the November 2025 amendment to update their IT systems, putting the window for practical implementation between August and November 2026. MiSpeL finalisation is expected in the coming weeks. The ToU-versus-netting conflict remains until AgNes takes effect on 1 January 2029. Three separate implementation horizons, none of which the industry can accelerate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B9EW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B9EW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 424w, https://substackcdn.com/image/fetch/$s_!B9EW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 848w, https://substackcdn.com/image/fetch/$s_!B9EW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 1272w, https://substackcdn.com/image/fetch/$s_!B9EW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B9EW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png" width="1280" height="724" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107845,&quot;alt&quot;:&quot;metrify (Tina Hadler): Regulatory landscape for V2G in Germany&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="metrify (Tina Hadler): Regulatory landscape for V2G in Germany" title="metrify (Tina Hadler): Regulatory landscape for V2G in Germany" srcset="https://substackcdn.com/image/fetch/$s_!B9EW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 424w, https://substackcdn.com/image/fetch/$s_!B9EW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 848w, https://substackcdn.com/image/fetch/$s_!B9EW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 1272w, https://substackcdn.com/image/fetch/$s_!B9EW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc7a261d-a82a-46b6-8390-9296fc149126_1280x724.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">metrify (Tina Hadler): Regulatory landscape for V2G in Germany</figcaption></figure></div><p>One development from the conference sidelines worth noting: a possible evolution in VDE 4105&#8217;s (German grid code) certification approach was verbally discussed, moving from system-level certification (each vehicle + cable + wallbox combination certified as a unit) towards unit-level certification (each V2G device certified independently). If adopted, unit-level certification would significantly ease AC V2G scalability in Germany, since a unit-certified wallbox could work with any unit-certified vehicle without requiring pairwise approval. The detail has not yet been officially confirmed. If it materialises before end of 2026, it would be a meaningful unlock for the residential AC market.</p><h3>Interoperability: a language with many dialects</h3><p>ISO 15118-20, the communication protocol between EV and charger that underpins V2G sessions, is &#8220;a language with many dialects&#8221;, as pv magazine put it adequately. The phrase circulated widely at the conference itself: different manufacturers implement the same standard differently, producing systems that are individually conformant but mutually incompatible.</p><p>The most concrete illustration of what this costs in practice came from the conference floor: one wallbox manufacturer completed <strong>250,000 discharge sessions</strong> with a single car manufacturer before that OEM would approve them as a V2G hardware partner. That arithmetic applies per OEM, per charger brand, per country. It is not a criticism of any individual player; it is the state of the art. As one presenter put it plainly: &#8220;V2G is not standardised yet.&#8221;</p><p>The industry&#8217;s main instrument for narrowing this interpretation space is IEA EV-TCP <a href="https://task53.org/">Task 53</a>, formally known as INBID &#8212; Interoperability of Bidirectional Charging for AC, DC, and wireless. Marco Piffaretti, its Operating Agent since May 2024 and a figure with 39 years in eMobility, presented the project&#8217;s progress at the conference. Task 53 is now supported by 18 countries and the European Commission, proposed originally by Switzerland. What distinguishes it from existing industry interoperability work &#8212; notably <a href="https://www.charin.global/events/global-testivals/">CharIN&#8217;s bilateral testing events</a> &#8212; is scope. CharIN tests pair one EV with one EVSE; the results are private. Task 53 targets something more demanding: <strong>three EV manufacturers, three EVSE (charger) manufacturers</strong>, and <strong>five DSOs</strong> (Distribution System Operators, i.e. grid operators) all <strong>interoperating at once, with results shared among all project participants</strong>. The <strong>Golden Guidelines</strong> that Task 53 is developing are not a new standard and not a deviation from ISO 15118-20. They define a mandatory subset of the existing standard &#8212; the minimum required implementation for a prioritised set of use cases &#8212; specifically to close the space where &#8220;fully ISO-conformant but incompatible&#8221; implementations currently proliferate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vkrt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vkrt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 424w, https://substackcdn.com/image/fetch/$s_!vkrt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 848w, https://substackcdn.com/image/fetch/$s_!vkrt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 1272w, https://substackcdn.com/image/fetch/$s_!vkrt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vkrt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png" width="1280" height="734" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:734,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:101153,&quot;alt&quot;:&quot;Task53 (Marco Piffaretti): Partners and cooperations&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Task53 (Marco Piffaretti): Partners and cooperations" title="Task53 (Marco Piffaretti): Partners and cooperations" srcset="https://substackcdn.com/image/fetch/$s_!vkrt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 424w, https://substackcdn.com/image/fetch/$s_!vkrt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 848w, https://substackcdn.com/image/fetch/$s_!vkrt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 1272w, https://substackcdn.com/image/fetch/$s_!vkrt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacb6de9-f52b-4802-b53e-2ea908f82a30_1280x734.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Task53 (Marco Piffaretti): Partners and cooperations</figcaption></figure></div><p>The project runs from 2025 to 2028. At the time of the conference, the initiative was moving from planning into actual multi-party cross-testing &#8212; DC results expected by late 2027, AC and the Final Golden Guidelines by late 2028. This is the honest timeline: serious, progressing, but the ISO 15118-20 mandate for charger manufacturers that takes effect on 1 January 2027 arrives well before the results are in.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PorM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PorM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 424w, https://substackcdn.com/image/fetch/$s_!PorM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 848w, https://substackcdn.com/image/fetch/$s_!PorM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 1272w, https://substackcdn.com/image/fetch/$s_!PorM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PorM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png" width="1280" height="745" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:745,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88578,&quot;alt&quot;:&quot;Task53 (Marco Piffaretti): Industry testing partners&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Task53 (Marco Piffaretti): Industry testing partners" title="Task53 (Marco Piffaretti): Industry testing partners" srcset="https://substackcdn.com/image/fetch/$s_!PorM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 424w, https://substackcdn.com/image/fetch/$s_!PorM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 848w, https://substackcdn.com/image/fetch/$s_!PorM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 1272w, https://substackcdn.com/image/fetch/$s_!PorM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a59dc88-de6f-46cb-9a0f-cea2f2529c04_1280x745.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Task53 (Marco Piffaretti): Industry testing partners</figcaption></figure></div><div><hr></div><h2>AC or DC? Why the architecture question matters for cost</h2><p>The AC versus DC debate that occupied earlier V2G conferences has not been settled uniformly. But the direction of travel is becoming clear.</p><p>In DC V2G, the bidirectional inverter lives inside the charging station. The vehicle contributes its battery; the charger handles the DC-to-AC conversion and connects to the grid. Grid code compliance is the responsibility of the charger manufacturer. Any compatible vehicle can, in principle, connect to a certified DC V2G charger. The pairing constraint is looser. The cost implication runs the other way: that inverter is significant hardware, and charger manufacturers build it in volumes measured in tens of thousands, not millions.</p><p>In AC V2G, the inverter is the vehicle&#8217;s own on-board charger (OBC). The wallbox becomes, in principle, a smart socket with communication capability: substantially cheaper hardware. The challenge shifts to certification. Grid code compliance now also belongs to the vehicle, and each specific vehicle&#8211;charger pairing must be certified separately as a grid-compliant unit. This is the paired certification constraint that currently limits AC V2G roaming. A Renault 5 approved for V2G with a LomboxNet charger is not automatically compliant when connected to a different wallbox brand.</p><p>The EU&#8217;s RfG (Requirements for Generators) 2.0 technical annex &#8212; discussed in my <a href="https://currentaffairs.io/p/v2g-grid-codes-when-your-ev-becomes-a-power-plant">previous article</a> &#8212; is expected in October 2026 and should define harmonised AC V2G grid compliance requirements that would eventually allow type-approval-level certification to decouple the EV from the specific EVSE, opening up the kind of roaming that makes a large AC V2G market viable. Until then, every AC deployment requires pairwise certification work.</p><p>Germany&#8217;s residential market in 2026 is predominantly DC: BMW/E.ON&#8217;s initial iX3 offer with a Compleo wallbox, Ford/Octopus via an Ambibox wallbox, and VW Elli&#8217;s Q4 2026 product all use DC architecture. AC is commercially live in France (Renault 5 and A290 via Mobilize), the Netherlands (Utrecht Energized), and the UK (Octopus/BYD, Zaptec Go2).</p><p>The most significant signal on the long-term direction came not from the presentations but from the conversations during the conference. At least one established charger manufacturer present at M&#252;nster &#8212; one that has already delivered DC V2G hardware commercially &#8212; has decided not to take DC V2G to the mass market. The reasoning is structural: vehicle manufacturers build inverters at automotive scale, amortising the unit cost across millions of vehicles. Those economics are orders of magnitude better than anything a charger company can achieve in dedicated wallbox volumes. When the inverter moves into the EV, it gets cheaper with every additional vehicle sold. The wallbox cost drops dramatically as a result. That is the mass-market AC proposition: cheaper hardware, powered by scale that no charger OEM can match.</p><p>The short-run picture is mixed between architectures. The long-run cost structure points clearly towards AC, at least in the residential space. For fleets, with heavy-duty vehicles carrying big batteries, a DC V2G charger with higher power throughput may still make more sense.</p><div><hr></div><h2>Utrecht Energized &#8212; what scaled V2G actually looks like</h2><p>Everything discussed above (economics, architecture, bottlenecks) is easier to evaluate against a project where V2G is not a concept but an operating service.</p><p>Robin Berg, founder and CEO of We Drive Solar, presented eight-month results from Utrecht Energized at the conference. Launched in June 2025, the project places bidirectional Renault 5 vehicles into the Utrecht car-sharing fleet and operates them as grid assets in real time.</p><p>The current facts: <strong>220 Renault 5 E-tech Electric vehicles</strong> on dedicated 7kW AC V2G charge posts operated by LomboxNet in Utrecht, with a target of 500 vehicles by end of 2026 (expanding to include Renault 4, Megane, Scenic, and Twingo). The technical architecture runs entirely on open standards: ISO 15118-20 (tested at Renault&#8217;s headquarters) and OCPP 2.1.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cMgA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cMgA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 424w, https://substackcdn.com/image/fetch/$s_!cMgA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 848w, https://substackcdn.com/image/fetch/$s_!cMgA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 1272w, https://substackcdn.com/image/fetch/$s_!cMgA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cMgA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png" width="1280" height="708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:708,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:466090,&quot;alt&quot;:&quot;We Drive Solar (Robin Berg): Renault 5 in myWheels car sharing service in Utrecht (The Netherlands)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="We Drive Solar (Robin Berg): Renault 5 in myWheels car sharing service in Utrecht (The Netherlands)" title="We Drive Solar (Robin Berg): Renault 5 in myWheels car sharing service in Utrecht (The Netherlands)" srcset="https://substackcdn.com/image/fetch/$s_!cMgA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 424w, https://substackcdn.com/image/fetch/$s_!cMgA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 848w, https://substackcdn.com/image/fetch/$s_!cMgA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 1272w, https://substackcdn.com/image/fetch/$s_!cMgA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46843a07-6a6b-4cfe-b5dc-b31b30a7fef9_1280x708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">We Drive Solar (Robin Berg): Renault 5 in myWheels car sharing service in Utrecht (The Netherlands)</figcaption></figure></div><p>Over the first eight months of operation with a growing fleet of now 220 vehicles: <strong>100,000 kWh discharged</strong> in total, approximately <strong>2,000 kWh per car</strong> over <strong>200 hours of V2G operation per vehicle</strong>. At the conference, Robin Berg stated verbally that the project generates approximately <strong>&#8364;60 per month per car</strong> in V2G revenues. This accrues to We Drive Solar as fleet operator, not to individual car-share users, who access the vehicles on a booking basis through MyWheels, the Netherlands&#8217; largest car-sharing provider.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rghl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rghl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 424w, https://substackcdn.com/image/fetch/$s_!Rghl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 848w, https://substackcdn.com/image/fetch/$s_!Rghl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 1272w, https://substackcdn.com/image/fetch/$s_!Rghl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rghl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png" width="1280" height="702" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c611cde-b774-4724-817d-4058155f2277_1280x702.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:702,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:218459,&quot;alt&quot;:&quot;We Drive Solar (Robin Berg): May to June 2025 charging and discharging stats with 50 Renault 5&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="We Drive Solar (Robin Berg): May to June 2025 charging and discharging stats with 50 Renault 5" title="We Drive Solar (Robin Berg): May to June 2025 charging and discharging stats with 50 Renault 5" srcset="https://substackcdn.com/image/fetch/$s_!Rghl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 424w, https://substackcdn.com/image/fetch/$s_!Rghl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 848w, https://substackcdn.com/image/fetch/$s_!Rghl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 1272w, https://substackcdn.com/image/fetch/$s_!Rghl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c611cde-b774-4724-817d-4058155f2277_1280x702.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">We Drive Solar (Robin Berg): May to June 2025 charging and discharging stats with 50 Renault 5</figcaption></figure></div><p>A <a href="https://www.sps.ed.ac.uk/sites/default/files/assets/Charged%20with%20potential%20-%20Utrecht.pdf">University of Edinburgh research paper</a> published in April 2026, drawing on interviews with We Drive Solar, Stedin (Dutch grid operator), the Municipality of Utrecht, and ELAAD, reports that the hourly electricity cost from EPEX Spot day-ahead prices serves as a proxy for grid congestion, with the two aligning approximately <strong>95% of the time</strong>. This allows the project to optimise for both commercial arbitrage and grid congestion relief simultaneously, without needing separate congestion forecasting infrastructure.</p><p>Berg made a point at the conference that deserves more prominence than it received. We Drive Solar has signed the <strong>first V2G grid congestion services contract</strong> in the Netherlands, with Stedin (the local DSO). His assessment was unambiguous: <strong>grid congestion services are a better V2G revenue stream than aFRR</strong> (the automatic frequency restoration reserve market used for grid balancing). The reason is reliability. Congestion contracts are structured and predictable: you know when the grid is under stress, you know what volume is expected, and you can plan dispatch around driver bookings. The aFRR market, by contrast, requires short-notice response that complicates fleet scheduling. For a car-sharing operator, predictability wins over intermittent high-value calls.</p><p>Stedin&#8217;s own calculus sharpens the point further. The DSO calculates that for each EV charging station that is &#8220;off&#8221; during the evening peak, one additional home can be connected to the network. The <strong>Netherlands currently has 10,000 large users on grid connection waiting lists.</strong> Robin Berg&#8217;s view: with 10,000&#8211;20,000 bidirectional EVs and sufficient bidi chargers positioned in the right locations, the Dutch grid congestion problem is solvable. <strong>Companies blocked from grid connections can unlock capacity by committing to flexible V2G assets.</strong> That is a DSO willing to pay for exactly what We Drive Solar can provide.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S0Mo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S0Mo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 424w, https://substackcdn.com/image/fetch/$s_!S0Mo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 848w, https://substackcdn.com/image/fetch/$s_!S0Mo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 1272w, https://substackcdn.com/image/fetch/$s_!S0Mo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S0Mo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png" width="1280" height="908" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:908,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:275395,&quot;alt&quot;:&quot;We Drive Solar (Robin Berg): Severe grid congestion in The Netherlands&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/195719141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="We Drive Solar (Robin Berg): Severe grid congestion in The Netherlands" title="We Drive Solar (Robin Berg): Severe grid congestion in The Netherlands" srcset="https://substackcdn.com/image/fetch/$s_!S0Mo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 424w, https://substackcdn.com/image/fetch/$s_!S0Mo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 848w, https://substackcdn.com/image/fetch/$s_!S0Mo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 1272w, https://substackcdn.com/image/fetch/$s_!S0Mo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4236a32-c13a-4ed3-a265-5d90aed307f0_1280x908.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">We Drive Solar (Robin Berg): Severe grid congestion in The Netherlands</figcaption></figure></div><p>We Drive Solar is scaling the model to Eindhoven, Rotterdam, and Amsterdam, and is beginning expansion into France. Its Solar Life home wallbox, winner of the NL Laadinfra Award 2025, signals ambition beyond the fleet segment.</p><h3>Why Utrecht works &#8212; and why it may not transfer directly</h3><p>The University of Edinburgh authors draw a conclusion that is probably the most transferable lesson from Utrecht: near-term viable V2G business models require <strong>bundled propositions</strong>: vehicle, charger, tariff, and fleet operator integrated into a single product. The vision of &#8220;any car, any charger, any tariff&#8221; remains a second-generation story.</p><p>Utrecht&#8217;s success rests on a specific set of enabling conditions. The Netherlands has 90% smart meter penetration (versus Germany&#8217;s 5%). The Dutch Energy Act, effective January 2026, requires all electricity suppliers to offer dynamic tariffs, giving We Drive Solar the pricing signals it needs. Stedin, as a publicly owned DSO, has a direct mandate to support grid innovation and has invested &#8364;8 billion in network expansion since 2023. The Municipality of Utrecht has mapped grid constraints at neighbourhood level and inserted V2G capability requirements into its EV charging procurement. ELAAD, the publicly funded testing body, provides free OEM certification services that would cost private operators significantly more to replicate.</p><p>None of these conditions assembled themselves. They were built over years by what the Edinburgh authors call &#8220;determined disruptors&#8221;: a small group of motivated actors in both public and private roles who were willing to navigate regulatory and technical barriers and who had access to decision-makers throughout.</p><p>The template exists. Replicating it requires the underlying infrastructure to catch up. And determined, pragmatic disruptors willing to go the extra mile to turn the V2G dream into reality.</p><div><hr></div><h2>The milestones that matter</h2><p>From the conference discussions, a credible timeline of what must happen before Germany&#8217;s V2G mass market can function:</p><p><strong>June 2026</strong>: MiSpeL finalised &#8212; the metering and billing rules for bidirectional energy flows that unlock &#167;118 EnWG (German Energy Act) implementation at scale. The single most important near-term regulatory event for German commercial V2G.</p><p><strong>August&#8211;November 2026</strong>: Grid operators complete the IT system updates required following the November 2025 amendment. The &#167;118 round-trip tax and levies exemption begins to take practical effect in energy billing.</p><p><strong>Q4 2026</strong>: Volkswagen Elli launches in Germany. Approximately one million MEB platform vehicles (already on European roads, already technically capable of bidirectional charging) gain access to a commercial offer.</p><p><strong>October 2026</strong>: RfG 2.0 technical annex published &#8212; the EU-level harmonised AC V2G grid compliance requirements that should, eventually, reduce the paired certification burden and open up roaming for AC V2G across member states.</p><p><strong>January 2027</strong>: AFIR mandate &#8212; all new public chargers installed in the EU must support ISO 15118-20. The communication standard that underpins V2G is (hopefully) embedded into millions of new chargers from this date.</p><p><strong>2028&#8211;2029</strong>: AgNes takes effect on 1 January 2029, expected to address the structural conflict between &#167;118 round-trip netting and &#167;14a Modul 3 of EnWG time-of-use grid fees. This is when the incentive architecture for residential V2G becomes coherent enough to model reliably.</p><p>One question the conference pointedly left unresolved: data ownership. Vehicle manufacturers want direct access to vehicle data and the customer relationship. Wallbox manufacturers see themselves as the natural interface between the consumer and the energy market. Energy companies see the customer as theirs. All three positions reflect legitimate commercial interests, and the distribution of value in a V2G ecosystem is a direct function of who controls the customer touchpoint. Regulation will not resolve this quickly. Commercial negotiation will, over time, find its own equilibrium. The process will be visible in every product launch and partnership announcement between now and 2030.</p><div><hr></div><h2>The bottom line</h2><p>The 5th Vehicle-2-Grid Conference in M&#252;nster marked a genuine crossing point. The industry has moved from pilots to products, and from &#8220;when will V2G arrive?&#8221; to &#8220;how quickly can the infrastructure and compliance regulation catch up?&#8221; Utrecht Energized answers the technical question: AC V2G at fleet scale works commercially, today, using available hardware and open protocols. Octopus&#8217;s live customer bill answers the economic question: the revenues are real, if smaller than the marketing suggests.</p><p>Three structural bottlenecks remain. Germany&#8217;s smart meter penetration is at 5% when the market needs Dutch-level coverage. The regulatory framework is sound but incomplete, with MiSpeL, grid operator IT updates, and AgNes spread across 2026&#8211;2029. ISO 15118-20 is the right protocol but still a language with too many dialects.</p><p>There is a quieter risk that the conference discussed less directly. If V2G revenues settle at &#8364;100&#8211;200 per year &#8212; and the product requires a dedicated V2G-capable charger costing maybe several thousand euros, potentially an OEM fee to unlock bidirectional capability, and a battery warranty conversation &#8212; many EV drivers will make a rational alternative choice: optimise for home solar self-consumption instead. A smart energy management system that charges the car from surplus rooftop PV and draws on that stored energy in the evening is a credible, straightforward substitute. No grid-services complexity. No aggregator relationship. No uncertainty about warranty. For any aggregator or energy supplier counting on residential V2G as a significant revenue stream, that substitution is a real competitive threat. The industry&#8217;s response cannot be a more persuasive marketing narrative. It needs to be a genuinely simpler product: one that earns revenue without the driver ever having to think about it, and one that is honest about what it actually pays. The gap between the marketed headline number and the live customer experience is not just a communications problem &#8212; it is a trust problem, and trust is harder to rebuild than it is to lose.</p><p>None of these are permanent obstacles. All of them carry timelines. The private assessment from the people closest to the German market is that the mass-market, meaning real volumes of residential customers earning meaningful V2G revenues, is before 2030, not before 2028. That is not a failure. It is a realistic sequencing of the work that remains to be done.</p><p>The next Vehicle-2-Grid conference in Aachen (April 2027) will have more live products to count. If MiSpeL lands on schedule and grid operators deliver their IT updates, it may have materially better economics to report as well.</p><div><hr></div><p style="text-align: center;">Enjoyed this deep dive? <br>Then please <strong>share with your professional (social) network</strong> <br>and restack for your readers.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/p/from-pilots-to-products-the-year-v2g-grew-up?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/p/from-pilots-to-products-the-year-v2g-grew-up?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Subscribe to</strong> <em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[How OCPP 2.1 and ISO 15118-20 enable V2G grid code implementations]]></title><description><![CDATA[Grid codes define what a V2G unit must do. OCPP 2.1 and ISO 15118-20 are how those rules actually travel, from a grid operator&#8217;s control room to the inverter inside your car.]]></description><link>https://currentaffairs.io/p/how-ocpp-21-and-iso-15118-20-enable-v2g-grid-code-implementations</link><guid isPermaLink="false">https://currentaffairs.io/p/how-ocpp-21-and-iso-15118-20-enable-v2g-grid-code-implementations</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Wed, 15 Apr 2026 05:00:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7LLB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When an EV feeds power back to the grid, it stops being a consumer and becomes a generator. And generators, as explored in the <a href="https://currentaffairs.io/p/v2g-grid-codes-when-your-ev-becomes-a-power-plant">previous article</a>, don&#8217;t get to play by their own rules. The grid operator says: when frequency drops, ramp up discharge. When voltage rises, absorb reactive power. When the grid is in emergency, trip off. These are not suggestions, they are the grid code obligations that come with being a power-producing device.</p><p>But a rule written in a regulation is only the theory. To put the theory into practice, we need a way of reaching the power electronics inside an electric vehicle. Something has to carry each instruction from the grid operator&#8217;s systems into the on-board charger inside the car. That carrier is a chain of communication protocols, each layer passing the baton to the next. Understanding that chain is what this article is about.</p><p>The protocol names may be unfamiliar to some readers. The goal is not to leave you quoting message parameters, but to understand what each layer is responsible for, how they connect to one another, and where the chain is still being built.</p><p>In this article, you will learn:</p><ul><li><p>How grid code parameters travel from a grid operator all the way to your EV&#8217;s on-board inverter, via a three-layer protocol stack</p></li><li><p>What OCPP 2.1&#8217;s two V2G sections do: Section Q (how bidirectional power is orchestrated) and Section R (how grid compliance parameters are delivered), and how they relate to each other</p></li><li><p>What ISO 15118-20 offers for bidirectional charging: DC and AC power transfer services, message flows, and the difference between scheduled and dynamic control</p></li><li><p>Why bidirectional power control alone is not sufficient for grid code compliance, and what ISO 15118-20 Amendment 1 adds to close that gap</p></li><li><p>How the European and US approaches diverge, and what IEC 61851, IEEE 1547, and SAE J3072 each represent</p></li><li><p>Where the certification landscape stands in 2026</p></li></ul><blockquote><p>What you are about to read is a summary of material spread across hundreds of pages in the OCPP 2.1 and ISO 15118-20 standards. I&#8217;ve done my best to be as accurate as possible while making it digestible. Given the complexity of the subject, this article runs longer than most, but I&#8217;ll guide you through it step by step.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7LLB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7LLB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 424w, https://substackcdn.com/image/fetch/$s_!7LLB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 848w, https://substackcdn.com/image/fetch/$s_!7LLB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 1272w, https://substackcdn.com/image/fetch/$s_!7LLB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7LLB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png" width="1456" height="1051" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1051,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:510319,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/194213516?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7LLB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 424w, https://substackcdn.com/image/fetch/$s_!7LLB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 848w, https://substackcdn.com/image/fetch/$s_!7LLB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 1272w, https://substackcdn.com/image/fetch/$s_!7LLB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a487b85-ab01-4d64-8049-5fc1d14ac50d_1456x1051.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The three-layer chain</h2><p>Grid code parameters need to travel from a utility control room to the inverter inside an EV. They do this in three hops, each handled by a different protocol:</p><pre><code><code>Grid Operator
     &#8595;  IEC 61850 / IEEE 2030.5 / OpenADR
CSMS (Charging Station Management System)
     &#8595;  OCPP 2.1  (Sections Q and R)
Charging Station
     &#8595;  ISO 15118-20  (base standard + Amendment 1)
EV On-board Inverter
</code></code></pre><blockquote><p><strong>A quick note</strong>: I use <strong>CSMS</strong> (Charging <strong>Station</strong> Management System) here rather than CPMS as in previous articles. They mean the same thing. CSMS is the term OCPP uses, so I&#8217;ve followed the standard&#8217;s lead here.</p></blockquote><p>The first hop &#8212; from grid operator to CSMS &#8212; uses utility-to-aggregator protocols. In Europe these are typically IEC 61850 or OpenADR; in North America, IEEE 2030.5 and OpenADR are widely used. This article will not go deep on those; the more important story is what happens in the next two hops.</p><p>The CSMS &#8212; the cloud backend that manages a fleet of charging stations &#8212; is the translator and aggregator. It receives grid signals from the operator (or an intermediary V2G aggregator that sits between a CSMS and the grid operator), interprets them, and pushes them to individual chargers. The OCPP 2.1 protocol, which has become an official IEC standard (<a href="https://webstore.iec.ch/en/publication/106900">IEC 63584-210</a>) in 2025, handles both legs of this: Section Q defines how bidirectional power flow is controlled, and Section R defines how grid compliance parameters are delivered. From the charging station to the EV, ISO 15118-20 carries the baton &#8212; including a new addition, Amendment 1, that enables the last and hardest mile of all.</p><h2>OCPP 2.1 Section Q: eight ways to orchestrate bidirectional power</h2><p>OCPP is the language charging stations and their backend management systems use to communicate. Version 2.0.1, now being deployed across the globe, handles session management, authentication, metering, and smart charging, among other use cases. OCPP 2.1 extends this with bidirectional power transfer as a native, first-class capability, and is backwards-compatible to OCPP 2.0.1.</p><p>The central contribution of Section Q is a set of <strong>eight operation modes</strong> that define how the CSMS controls power flow at a bidirectional charging station:</p><ul><li><p><strong>ChargingOnly: </strong>Default; no bidirectional operation. Also used as fallback when no mode is explicitly set.</p></li><li><p><strong>ExternalSetpoint: </strong>An external Energy Management System (EMS) controls the power target; the CSMS grants permission.</p></li><li><p><strong>ExternalLimits: </strong>An EMS controls power ceilings for charge and discharge, rather than a specific target.</p></li><li><p><strong>CentralSetpoint: </strong>The CSMS provides a specific power target, updated in real time.</p></li><li><p><strong>CentralFrequency: </strong>Similar to LocalFrequency, but frequency is measured centrally. A single calibrated meter feeds the CSMS, which continuously pushes updated setpoints to stations as frequency changes. Used where the cost of a precision meter in every charger is prohibitive. Falls back automatically to LocalFrequency if the CSMS stops sending updates.</p></li><li><p><strong>LocalFrequency: </strong>The charging station reads local grid frequency and responds autonomously using a pre-configured frequency-power curve. No CSMS instruction required per event.</p></li><li><p><strong>LocalLoadBalancing: </strong>The charging station monitors the building&#8217;s upstream power meter and adjusts output to stay within defined thresholds.</p></li><li><p><strong>Idle: </strong>The EV is connected but neither charging nor discharging. Used for preconditioning or standby.</p></li></ul><p>For grid stability services, the two most relevant modes are <strong>CentralFrequency</strong> and <strong>LocalFrequency</strong>. The table above describes both; the key distinction is that LocalFrequency relies on nobody at all. The charging station reads frequency directly at the socket, compares it to a curve configured in advance, and adjusts its output immediately. No message, no round-trip, no delay.</p><p>This matters because frequency events happen fast. When a large power plant trips offline, grid frequency can drop within seconds. The industry uses two distinct tiers of frequency response to manage this:</p><p><strong>FCR: Frequency Containment Reserve</strong> (also called primary frequency response) is the first line of defence. It must activate within seconds, automatically, without any external command. In LocalFrequency mode, the charging station holds a frequency-power lookup table &#8212; the same <a href="https://currentaffairs.io/i/193552070/v2g-frequency-response-when-discharging-power">droop curve described in the previous article</a> &#8212; and adjusts its output continuously as frequency deviates. When frequency falls, the station discharges more. When it rises, it charges more. The response is proportional and instantaneous, requiring no involvement from the CSMS.</p><p><strong>aFRR: automatic Frequency Restoration Reserve</strong> (secondary frequency response) is the second tier. It begins gradually replacing FCR from around 30 seconds after a frequency event and must reach full contracted capacity within 15 minutes. Unlike FCR&#8217;s autonomous response, aFRR is coordinated: the CSMS sends an activation signal to the charging station, which then adds a power delta on top of its configured baseline. The spec also specifies a minimum ramp rate of around 20% of offered power per minute.</p><p>Section Q also extends the existing OCPP charging schedule mechanism with three new power-control fields:</p><ul><li><p><code>setpoint</code> (signed, &#177;): the power target the EV should follow as closely as possible. Positive means charging; negative means discharging.</p></li><li><p><code>limit</code> (+): a ceiling on charging power. The EV must not exceed it.</p></li><li><p><code>dischargeLimit</code> (&#8722;): a ceiling on discharge power. The EV must not exceed it in the discharge direction.</p></li></ul><p>The setpoint/limit distinction matters in practice. A <strong>setpoint</strong> is a target, i.e. the EV is expected to hit it. A <strong>limit</strong> is a boundary: the EV must not cross it, but has freedom to operate anywhere below. The CSMS uses setpoints for grid service delivery (where hitting a specific value matters) and limits for constraint management (where staying below a threshold is all that matters).</p><h2>OCPP 2.1 Section R: delivering grid compliance parameters to the charger</h2><p>Section Q handles power flow orchestration: the dispatch and scheduling layer. Section R handles something entirely different: delivering the technical grid code parameters that determine how a bidirectional asset behaves under grid stress.</p><p>These two sections are not alternatives. Section Q says &#8220;discharge at 8 kW between 5 pm and 7 pm.&#8221; Section R says &#8220;if voltage rises above 110% of nominal, trip within two seconds&#8221; and &#8220;if frequency drops below 49.8 Hz, increase discharge with a 2% droop.&#8221; One governs commercial dispatch; the other governs grid safety behaviour. Both are needed.</p><p>The central OCPP message in Section R is <code>SetDERControlRequest</code>. <strong>DER (Distributed Energy Resource</strong>) is the utility industry&#8217;s label for any small-scale generation or storage asset connected to the distribution grid. This message allows the CSMS to push grid code parameters directly to a charging station, where they are stored persistently, meaning they must survive a reboot or a power cycle.</p><p>The range of parameters it can carry maps directly to the grid code requirements covered in the previous two articles:</p><ul><li><p><strong>FreqDroop</strong>: The autonomous frequency-power response curve &#8212; the <a href="https://currentaffairs.io/i/193552070/v2g-frequency-response-when-discharging-power">LFSM/FCR</a> mechanism in OCPP terms. Configures three things: the dead band (the frequency range around 50 Hz where no response is required), the droop factor (how much power changes per Hz of deviation &#8212; typically 2% for V2G), and the response time. Once set, the station responds to frequency events without any CSMS involvement.</p></li><li><p><strong>VoltVar</strong>: The <a href="https://currentaffairs.io/i/193552070/reactive-power-control-the-part-everyone-finds-confusing">Q(U) reactive power curve</a> covered in the previous article. Defines how the inverter adjusts reactive power as local voltage rises or falls &#8212; injecting reactive power when voltage dips, absorbing it when voltage climbs. Configures the voltage breakpoints, the reactive power levels at each point, and a dead band around nominal voltage where no action is taken.</p></li><li><p><strong>VoltWatt</strong>: Active power as a function of local voltage. When voltage rises too high &#8212; typically because of excess solar generation on the local network &#8212; the inverter automatically reduces its active power output rather than continuing to push energy into an already-overvoltage network. Less commonly used than <code>VoltVar</code>, but important in high-PV neighbourhoods.</p></li><li><p><strong>HVMustTrip / LVMustTrip</strong>: The hard voltage trip thresholds for interface protection. If voltage exceeds the high-voltage (HV) limit or falls below the low-voltage (LV) limit and stays there beyond the defined hold time, the unit must disconnect from the grid. These are the <a href="https://currentaffairs.io/i/193552070/interface-protection-the-emergency-circuit-breaker">UV1/OV1 thresholds</a> (80% and 110% of nominal voltage, 2-second trip time) from the previous article, delivered here as configurable OCPP parameters.</p></li><li><p><strong>HFMustTrip / LFMustTrip</strong>: The hard frequency trip thresholds &#8212; equivalent to the voltage trips but for the frequency dimension. If frequency rises above the high limit or falls below the low limit beyond the defined hold time, the unit must disconnect. Under EN 50549-1 these are set at 47.5 Hz and 51.5 Hz; the exact values and timing are configured here per site.</p></li><li><p><strong>EnterService</strong>: Reconnection rules after a trip event. When a V2G unit disconnects because voltage or frequency went out of bounds, it cannot simply reconnect the moment conditions return to normal, since a mass simultaneous reconnection by thousands of devices would cause a fresh grid disturbance. <code>EnterService</code> defines the voltage and frequency window within which reconnection is permitted, a mandatory intentional delay before attempting it, and the ramp rate at which power must be restored gradually. It is the orderly queue that prevents the cure from becoming a second crisis.</p></li><li><p><strong>LimitMaxDischarge</strong>: A configurable ceiling on discharge power, expressed as a percentage of the station&#8217;s rated capacity. Used by grid operators to cap how much power a V2G asset &#8212; or a whole fleet of them &#8212; can export into a constrained network segment, without needing to stop the session entirely.</p></li></ul><blockquote><p>Getting confused with all the acronyms? Don&#8217;t worry, I got you covered with the <a href="https://currentaffairs.io/p/acronyms">Acronym Survival Guide</a>.</p></blockquote><p>Controls come in two varieties. <strong>Default controls</strong> have no expiry, they are always active and define the station&#8217;s permanent grid behaviour at a given site. <strong>Scheduled controls</strong> have a defined start time and duration; they activate at the specified moment, supersede any lower-priority default of the same type, and are automatically removed when their duration expires. This lets a grid operator push a temporary configuration change &#8212; tightening discharge limits during a congestion event, for instance &#8212; without permanently altering the site&#8217;s baseline settings.</p><p>Here is where the architecture forks depending on whether the deployment is DC or AC V2G.</p><p>For <strong>DC V2G</strong>, the inverter is inside the charging station. The station receives <code>SetDERControlRequest</code>, stores the parameters, and its own power electronics execute them directly. The EV&#8217;s role is to provide battery capacity; grid compliance responsibility sits entirely with the EVSE (Electric Vehicle Supply Equipment, i.e. the charging station&#8217;s device that controls the power flow). ISO 15118-20 tells the charger what power the EV can deliver, but the charger&#8217;s inverter is the regulated grid asset.</p><p>For <strong>AC V2G</strong>, the inverter is inside the EV. The charging station is, in grid compliance terms, a smart connection point. When the CSMS pushes DER parameters via <code>SetDERControlRequest</code>, the charger receives them. Active power limits &#8212; such as a maximum discharge ceiling &#8212; can be enforced by the charging station directly, by capping the target value it sends in each <code>ChargeLoopRes</code> (&#8217;Res&#8217; = response) during the session. Inverter configuration parameters &#8212; frequency droop curves, Q(U) reactive power curves, trip thresholds &#8212; are different: those must be loaded into the EV&#8217;s own inverter, which is only possible via ISO 15118-20 Amendment 1&#8217;s AC DER services (<code>AC_DER_IEC</code> for Europe, <code>AC_DER_SAE</code> for North America). We&#8217;ll cover those in a second.</p><p>Section R also closes the reporting loop. When a grid event triggers a DER control &#8212; say, an over-voltage event activates the VoltWatt curve and the station reduces its discharge power &#8212; it sends a <code>NotifyDERAlarmRequest</code> to the CSMS, identifying which control was triggered and what grid fault caused it. When the event clears, it sends the alarm-ended notification. The CSMS has a live picture not just of what it instructed, but of what actually happened.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N7FN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N7FN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 424w, https://substackcdn.com/image/fetch/$s_!N7FN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 848w, https://substackcdn.com/image/fetch/$s_!N7FN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 1272w, https://substackcdn.com/image/fetch/$s_!N7FN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N7FN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png" width="1082" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:1082,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25299,&quot;alt&quot;:&quot;How Section Q (power dispatch) and Section R (DER parameters) of OCPP 2.1 reach the charging station, and fork for DC vs AC V2G&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/194213516?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How Section Q (power dispatch) and Section R (DER parameters) of OCPP 2.1 reach the charging station, and fork for DC vs AC V2G" title="How Section Q (power dispatch) and Section R (DER parameters) of OCPP 2.1 reach the charging station, and fork for DC vs AC V2G" srcset="https://substackcdn.com/image/fetch/$s_!N7FN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 424w, https://substackcdn.com/image/fetch/$s_!N7FN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 848w, https://substackcdn.com/image/fetch/$s_!N7FN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 1272w, https://substackcdn.com/image/fetch/$s_!N7FN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f1fdbb-5be7-4587-8d6c-e0f019be8d4a_1082x904.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How Section Q (power dispatch) and Section R (DER parameters) of OCPP 2.1 reach the charging station, and the fork for DC vs AC V2G</figcaption></figure></div><p></p><h2>ISO 15118-20: the charger-to-EV conversation &#8212; BPT services</h2><p>ISO 15118 is the standard that governs communication between an EV and a charging station over the charging cable. ISO 15118-2 &#8212; covering unidirectional AC and DC charging and <a href="https://currentaffairs.io/p/plug-and-charge-the-technology-ecosystem-and-road-ahead-of-seamless-charging">Plug &amp; Charge</a> &#8212; became mandatory at newly installed EU public chargers in January 2026. ISO 15118-20 is the successor standard, adding bidirectional power transfer as a native capability.</p><p>As you can see, OCPP 2.1 and ISO 15118-20 both treat bidirectional power flow as first-class citizens and are essential to unlock V2X (Vehicle-to-Home and Vehicle-to-Grid) use cases.</p><p>For bidirectional charging, ISO 15118-20 defines two BPT (Bidirectional Power Transfer) services: <strong>AC_BPT</strong> and <strong>DC_BPT</strong>. The architectural difference mirrors the <a href="https://currentaffairs.io/i/193552070/ac-or-dc-the-answer-determines-who-gets-certified">previous article&#8217;s AC/DC split</a>.</p><p>In <strong>DC_BPT</strong>, the inverter is in the charging station. The EV connects via a DC link (e.g. a CCS plug), providing battery capacity. The EV declares its charge and discharge capabilities; the charger manages the DC-to-AC conversion. The EV and charger negotiate power envelopes at the start of the session and exchange updated limits during the (dis-)charging message cycle loop.</p><p>In <strong>AC_BPT</strong>, the inverter is in the EV&#8217;s on-board charger (OBC). The charging station is essentially a metered connection point. The EV must handle the AC-to-DC conversion in both directions, and its inverter is the grid-facing device.</p><h3>Session setup</h3><p>Both services follow the same session flow. Before power starts flowing, there is a four-step negotiation phase:</p><p><strong>Service Discovery</strong>: the EV asks the charging station what services it offers. The charging station responds with its list of supported ServiceIDs. For a BPT-capable site, this list includes <code>AC_BPT</code> (ServiceID 5) or <code>DC_BPT</code> (ServiceID 6). For a site using Amendment 1, it will also include <code>AC_DER_IEC</code> (ServiceID 10) or <code>AC_DER_SAE</code> (ServiceID 11).</p><p><strong>Service Detail</strong>: the EV requests the parameter set for each service it is interested in. The charging station responds with the service parameter list for that service. This is where operationally important choices are surfaced: the control mode (Scheduled or Dynamic, see below), the connector type, and &#8212; for the AC DER services &#8212; the DER capability requirements or supported functions. Selecting Dynamic control mode here is what enables real-time setpoint following during charging.</p><p><strong>Service Selection</strong>: the EV confirms its chosen service and parameter set. From this point, both sides know exactly what the session will look like.</p><p><strong>Charge Parameter Discovery</strong>: EVCC and SECC exchange their physical capabilities and limits for the chosen energy transfer service. In a BPT session, the EV declares its discharge capabilities &#8212; maximum and minimum discharge power, current limits &#8212; and the charger responds with its own discharge limits. For the AC DER services, this is also where the detailed DER configuration is delivered: droop curve parameters, voltage and frequency trip thresholds, Q(U) reactive power curve breakpoints, and enter-service settings. This mutual handshake establishes what the session will look like before a single watt moves.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-eG8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-eG8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 424w, https://substackcdn.com/image/fetch/$s_!-eG8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 848w, https://substackcdn.com/image/fetch/$s_!-eG8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 1272w, https://substackcdn.com/image/fetch/$s_!-eG8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-eG8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png" width="1130" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1130,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22271,&quot;alt&quot;:&quot;ISO 15118-20 Session Setup Flow&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/194213516?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ISO 15118-20 Session Setup Flow" title="ISO 15118-20 Session Setup Flow" srcset="https://substackcdn.com/image/fetch/$s_!-eG8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 424w, https://substackcdn.com/image/fetch/$s_!-eG8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 848w, https://substackcdn.com/image/fetch/$s_!-eG8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 1272w, https://substackcdn.com/image/fetch/$s_!-eG8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b25bdce-9609-4360-9a71-f053555c1357_1130x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ISO 15118-20 session setup flow</figcaption></figure></div><h3>Control modes and the <code>ChargeLoop</code></h3><p>After this exchange, the session enters one of two <strong>control modes</strong>.</p><p><strong>Scheduled mode</strong> follows a pre-agreed power schedule, which is a time-indexed list of setpoints agreed at session start and applied throughout. This works well for predictable use cases: overnight energy arbitrage, for example, where the EV discharges during the evening peak and charges cheaply at night according to a schedule the CSMS prepared in advance.</p><p><strong>Dynamic mode</strong> allows setpoints to be updated throughout the session without interrupting it. With every <code>ChargeLoop</code> message (continuously exchanged during power flow), the charger can send the EV a new power target. This is the mode required for genuine real-time grid services &#8212; frequency response, congestion management, direct grid operator setpoints &#8212; where the optimal power level may change every few seconds.</p><p>The <code>ChargeLoop</code> is the operational heartbeat of the session. Each cycle, the EV sends its current limits and status; the charger responds with updated targets. ISO 15118-20 governs both sides of each exchange: the charger must respond within 0.5 seconds of receiving the EV&#8217;s request (the message timeout), and the EV must send its next request within 0.5 seconds of receiving the response (the sequence timer). Taken together, these two constraints bound <strong>each full </strong><code>ChargeLoop</code><strong> cycle</strong> to <strong>under one second</strong>. This is a protocol guarantee, not just typical behaviour. For frequency response applications, where the relevant timescale is seconds, that guaranteed cycle rate sits right at the practical boundary of what is achievable over a software-based connection.</p><p>At this point, however, we reach the limit of what BPT services alone can do. DC_BPT and AC_BPT are <strong>power flow protocols</strong>. They can instruct an EV to &#8220;charge at 7 kW&#8221; or &#8220;discharge at 7 kW.&#8221; They can agree on power envelopes and exchange state-of-charge information. What they cannot do is say &#8220;configure your inverter with this frequency droop curve&#8221; or &#8220;enable Q(U) voltage support with these specific voltage breakpoints.&#8221; That is the domain of DER control. And for AC V2G, it requires a separate protocol extension. That extension is Amendment 1.</p><h2>ISO 15118-20 Amendment 1: the DER layer reaches the car</h2><p>Amendment 1 &#8212; currently in draft form, expected to be finalised in the second half of 2026 &#8212; adds two new AC DER services to ISO 15118-20. These are not replacements for AC_BPT; they are extensions of it that add the grid code compliance layer on top of bidirectional power control.</p><p>The two new services reflect a fundamental divergence in grid code standards between Europe and the United States:</p><ul><li><p><strong>AC_DER_IEC</strong> is built on IEC 61851-1 Edition 4: the foundational IEC standard for EV conductive charging systems, the latest edition of which introduced specific DER behaviour requirements for bidirectional AC charging. This is the European path, aligned with <a href="https://currentaffairs.io/i/193552070/a-patchwork-of-national-grid-codes-converging-slowly">EN 50549-1 across the EU and VDE 4105 for Germany</a>, in particular.</p></li><li><p><strong>AC_DER_SAE</strong> is built on IEEE 1547-2018 and SAE J3072: the US standards for grid interconnection of distributed energy resources and V2G communication specifically. This is the path for North American deployments, aligned with state interconnection rules, California Rule 21, and UL 1741 certification.</p></li></ul><p>The two services accomplish the same goal &#8212; configuring an EV inverter for grid code compliance &#8212; but they differ fundamentally in who declares what.</p><p><strong>AC_DER_IEC is site-driven.</strong> During <code>ServiceDetail</code> &#8212; the second step of the pre-session negotiation, as discussed above &#8212; the <em>charging station</em> sends the EV a requirements bitmap (12 flags, one per DER function) declaring which grid compliance functions are required at this location. For instance, &#8220;you must support frequency-watt response, Q(U) reactive power support, and fault ride-through.&#8221; The EV can only select this service if it supports all the required functions. The site sets the bar; the EV qualifies or doesn&#8217;t.</p><p><strong>AC_DER_SAE is EV-driven.</strong> The capability declaration comes later than in the IEC path: during <code>ChargeParameterDiscovery</code> &#8212; the fourth step &#8212; the <em>EV</em> sends a capabilities bitmap (<code>SupportedModes</code>, 27 flags) declaring which IEEE 1547 functions it supports. The charger responds in the same handshake with an <code>EnabledModes</code> bitmap confirming the subset it wants active for this session. The EV declares what it can do; the site configures accordingly.</p><p>The difference in bitmap size reflects the underlying standards. IEC 61851-1 Edition 4 defines a compact European DER function set; IEEE 1547-2018 is more granular: it treats may-trip, must-trip, and momentary cessation as distinct trip categories for both over- and under-voltage, and adds functions such as enter-service authorisation and constant setpoint modes that have no direct IEC equivalent. Both services then use <code>ChargeParameterDiscovery</code> to deliver the full DER configuration to the EV&#8217;s inverter.</p><p>In AC_DER_SAE, this means a complete set of IEEE 1547 trip curves: six voltage trip curves (overvoltage and undervoltage, in must-trip, momentary cessation, and may-trip variants) and four frequency trip curves (over and under, must-trip and may-trip). It means frequency droop settings. And it means an <strong>enter-service authorisation</strong> &#8212; a boolean flag that grants the EV explicit permission to discharge at this specific site. Not every site allows export, and this flag is the formal, protocol-level mechanism by which the site grants or withholds that permission.</p><p>In AC_DER_IEC, the equivalent block delivers fault ride-through parameters, reactive power support curves (Q(U), Q(P)), and active power response curves (frequency-watt, volt-watt) &#8212; all determined by the requirements bitmap the site set in ServiceDetail.</p><p>Once the session is active, both services extend the <code>ChargeLoop</code> heartbeat with DER reporting. With every cycle, the EV reports back: its operational state, its connection status relative to the grid, and a bitmap of any active alarm conditions &#8212; overvoltage, undervoltage, over-frequency, under-frequency, and several others. The charging station &#8212; and via OCPP 2.1 Section R, the CSMS &#8212; has a continuous live view of what each connected EV inverter is seeing and doing.</p><p>In AC_DER_IEC, the charger can additionally pass real-time DSO setpoints with every <code>ChargeLoop</code> cycle: a reactive power setpoint or a power factor setpoint, updated continuously as grid conditions evolve.</p><h3>The two paths: static configuration and dynamic setpoints</h3><p>This is what genuinely dynamic, remotely managed grid code compliance looks like &#8212; but it operates on two distinct timescales, through two distinct paths.</p><p>The <strong>static configuration path</strong> handles droop curves, trip thresholds, Q(U) curve shapes, and enter-service settings. These are pre-loaded onto the charging station by the CSMS via OCPP 2.1 Section R. When an EV connects and the session reaches <code>ChargeParameterDiscovery</code>, the charging station delivers this configuration to the EV&#8217;s inverter in full. From that point, the EV acts autonomously &#8212; no further signal from the grid operator is required for FCR droop response or fault ride-through.</p><p>The <strong>dynamic setpoint path</strong> handles real-time power targets and reactive power setpoints. In <code>CentralFrequency</code> or <code>CentralSetpoint</code> mode, the CSMS continuously pushes updated values to the charging station via OCPP 2.1 Section Q. The charging station embeds the current setpoint into each <code>ChargeLoop</code> response to the EV. This is the path used for aFRR activation and for DSO-dispatched reactive power instructions in AC_DER_IEC sessions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9DWU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9DWU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 424w, https://substackcdn.com/image/fetch/$s_!9DWU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 848w, https://substackcdn.com/image/fetch/$s_!9DWU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 1272w, https://substackcdn.com/image/fetch/$s_!9DWU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9DWU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png" width="1456" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:35256,&quot;alt&quot;:&quot;The Two Paths: Static Configuration and Dynamic Setpoints&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/194213516?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Two Paths: Static Configuration and Dynamic Setpoints" title="The Two Paths: Static Configuration and Dynamic Setpoints" srcset="https://substackcdn.com/image/fetch/$s_!9DWU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 424w, https://substackcdn.com/image/fetch/$s_!9DWU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 848w, https://substackcdn.com/image/fetch/$s_!9DWU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 1272w, https://substackcdn.com/image/fetch/$s_!9DWU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F931da566-e294-4c45-a451-7806e51ac2e2_1686x858.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The two paths: static configuration and dynamic setpoints</figcaption></figure></div><p>A word of caution, though, on what &#8220;every cycle&#8221; means in practice. The 0.5-second figure is the heartbeat rate of the EV-to-charger conversation, not the latency of the full chain. A setpoint change originating at a grid operator must travel through IEC 61850 (or IEEE 2030.5, for example) to the CSMS, be translated into OCPP, travel over a WebSocket connection to the charging station, and then appear in the next <code>ChargeLoop</code> response to the EV. That full round-trip is measured in seconds, not milliseconds &#8212; and on a congested network it may be longer still. This is precisely why <strong>LocalFrequency mode</strong> in OCPP 2.1 exists, and why the autonomous frequency droop pre-configured via Section R is the practical mechanism for FCR: fast-response grid services cannot rely on a central command reaching the device in time. The 0.5-second cycle mentioned above for the <code>ChargeLoop</code> messages serves a different purpose: it keeps the EV and charger in tight synchronisation during an active session, so that when a locally-detected grid event triggers an autonomous response, the charger knows exactly what the EV&#8217;s inverter is doing.</p><h3>The certification fork</h3><p>The AC_DER services bring different certification requirements depending on which side of the Atlantic you are on.</p><p>In the <strong>United States</strong>:</p><ul><li><p>For DC V2G, the EVSE inverter is certified against <strong>UL 1741 SB</strong> (Supplement B), which implements IEEE 1547-2018 requirements for inverter-based DERs. This path is well-established and commercially available.</p></li><li><p>For AC V2G, the vehicle&#8217;s on-board inverter is certified against <strong>SAE J3072</strong> (the EV-specific IEEE 1547 compliance standard), and the EVSE against <strong>UL 1741 SC</strong> (Supplement C), finalisation expected in 2026. <a href="https://v2gnews.com/blog/steves-top-3-takeaways-from-the-october-2025-detroit-v2g-forum/">Stellantis demonstrated a complete SAE J3072-compliant AC V2G stack at the Detroit V2G Forum in October 2025</a>, with NREL (the US National Renewable Energy Laboratory, a federal research lab under the Department of Energy) confirming IEEE 1547 ride-through compliance. This is the first public end-to-end US demonstration of the full stack.</p></li></ul><p>In <strong>Europe</strong>:</p><ul><li><p>For either DC or AC V2G, the system is certified against <strong>EN 50549-1</strong> using a test report based on EN 50549-10 (or VDE 0124-100 for Germany). Under VDE 4105, notably, certification is system-level: a specific vehicle model, charging cable, and wallbox must be certified together as an integrated unit.</p></li><li><p>ISO 15118-20 conformance can, hopefully from 2026, be verified through <strong>ISO 15118-21</strong> (common requirements), <strong>ISO 15118-22</strong> (AC requirements), and <strong>ISO 15118-23</strong> (DC requirements), the dedicated conformance testing standards.</p><p></p></li></ul><h2>The complete picture</h2><p>Let me trace the full chain through a single concrete example. A German grid operator detects rising voltage in a residential network zone on a sunny July afternoon &#8212; rooftop solar is flooding the local grid. It needs the V2G fleet in that zone to absorb reactive power to bring voltage back down.</p><p><strong>1. Grid operator &#8594; CSMS.</strong> The operator signals updated Q(U) reactive power requirements to the aggregator&#8217;s CSMS via IEC 61850. The CSMS translates this into OCPP.</p><p><strong>2. CSMS &#8594; Charging Station (Section R).</strong> The CSMS sends a <code>SetDERControlRequest</code> carrying a <code>VoltVar</code> control with an updated Q(U) curve &#8212; specifying how much reactive power each station should inject or absorb at each voltage level. For DC V2G stations, this is executed directly by the EVSE inverter, immediately and autonomously.</p><p><strong>3. CSMS &#8594; Charging Station (Section Q).</strong> Simultaneously, the CSMS sends a <code>ChargingProfile</code> with <code>operationMode = CentralSetpoint</code>, directing each station&#8217;s active power schedule for the afternoon. Commercial dispatch and grid compliance parameters travel through separate mechanisms but arrive at the same device.</p><p><strong>4. Charging Station &#8594; EV (ISO 15118-20 Amendment 1, AC V2G).</strong> For AC V2G sessions, the VoltVar configuration &#8212; the Q(U) curve breakpoints and the reactive power levels at each voltage step &#8212; is delivered to the EV&#8217;s on-board charger during the <code>ChargeParameterDiscovery</code> phase, before power flows. Once loaded, the EV inverter applies the Q(U) profile autonomously in response to voltage it measures locally. Mid-session, the CSMS can push a real-time <strong>reactive power setpoint</strong> (a single scalar value) to the EV via the <code>ChargeLoop</code> response in Dynamic mode; this is not a curve change but a DSO dispatch instruction on top of the configured curve. Changing the Q(U) curve shape mid-session would require a service renegotiation.</p><p><strong>5. EV &#8594; Charging Station &#8594; CSMS (reporting path).</strong> During every <code>ChargeLoop</code> cycle, the EV reports its DER operational state and any active grid events. Significant events &#8212; an over-voltage alarm, a frequency trip &#8212; are forwarded by the charging station to the CSMS via <code>NotifyDERAlarmRequest</code>. The operator has visibility of what each asset is doing.</p><p>This is what a fully instrumented, dynamically configurable V2G grid asset looks like. And it requires every link in this chain to function.</p><p>To tie it all together visually, here is the complete message flow &#8212; from grid operator signal to EV inverter response &#8212; as a sequence diagram.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VkEO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VkEO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 424w, https://substackcdn.com/image/fetch/$s_!VkEO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 848w, https://substackcdn.com/image/fetch/$s_!VkEO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 1272w, https://substackcdn.com/image/fetch/$s_!VkEO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VkEO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png" width="1456" height="1791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df871141-1350-4c0b-948e-966e598c0fee_2280x2805.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:255424,&quot;alt&quot;:&quot;Complete V2G Protocol Chain &#8212; Sequence Diagram&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/194213516?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Complete V2G Protocol Chain &#8212; Sequence Diagram" title="Complete V2G Protocol Chain &#8212; Sequence Diagram" srcset="https://substackcdn.com/image/fetch/$s_!VkEO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 424w, https://substackcdn.com/image/fetch/$s_!VkEO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 848w, https://substackcdn.com/image/fetch/$s_!VkEO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 1272w, https://substackcdn.com/image/fetch/$s_!VkEO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf871141-1350-4c0b-948e-966e598c0fee_2280x2805.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example sequence diagram of the complete V2G protocol chain</figcaption></figure></div><p></p><p><strong>Where things stand in 2026</strong>: OCPP 2.1 has been published; Sections Q and R are available for implementation. ISO 15118-20 is published and being deployed, though some commercial programmes today &#8212; including Ford/Octopus &#8212; are still running on ISO 15118-2 with proprietary extensions. Amendment 1 is in draft form, expected to finalise in H2 2026. The EU&#8217;s AFIR regulation mandates ISO 15118-20 compliance for bidirectional charging communication by 1 January 2027 &#8212; a tight window for charger manufacturers to have Amendment 1-capable hardware in production.</p><p>The commercial V2G market is running slightly ahead of its standardised communication layer, and that is not a problem in itself &#8212; pilots and bespoke arrangements are how the industry builds experience. What the completion of this chain unlocks is different: Section Q and Section R form the CSMS layer, ISO 15118-20 base is the power control layer, and Amendment 1 is the last mile from charger to inverter. The pieces are in place. The chain is not yet complete everywhere &#8212; but the direction is clear.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to</strong> <em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X).</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[V2G grid codes - When your EV becomes a power plant]]></title><description><![CDATA[V2G turns your EV from a grid consumer into a generator. That changes which rules apply, and how they get communicated all the way from the grid operator to your car's inverter.]]></description><link>https://currentaffairs.io/p/v2g-grid-codes-when-your-ev-becomes-a-power-plant</link><guid isPermaLink="false">https://currentaffairs.io/p/v2g-grid-codes-when-your-ev-becomes-a-power-plant</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Wed, 08 Apr 2026 10:33:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!S4Ti!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In November 2025, the German Parliament quietly removed one of the biggest commercial obstacles to Vehicle-to-Grid: the double taxation of electricity that had been charged twice when an EV fed power back to the grid &#8212; once when stored, once when discharged. BMW and E.ON <a href="https://www.press.bmwgroup.com/global/article/detail/T0455460EN/germany%E2%80%99s-first-bidirectional-vehicle-to-grid-v2g-charging-offer-from-bmw-group-and-e-on:-wallbox-and-electricity-tariff-now-available-to-order?language=en">launched Germany&#8217;s first commercial V2G service</a>, making the full package &#8212; wallbox, smart meter, and energy tariff &#8212; available to order in February 2026, following their announcement at IAA Mobility in September 2025. Ford and Octopus Energy <a href="https://octopusenergy.de/newsroom/octopus-energy-und-ford-starten-mit-bidirektionalem-laden-bis-zu-16-000-kilometer-kostenfrei-moeglich">announced their own residential V2G programme</a> the same month, with the service due to go live in Summer 2026. Of the 1.65 million registered EVs in Germany, only around 10% are currently capable of bidirectional charging according to <a href="https://www.env.vc/blog/vehicle-to-grid-key-barriers-and-startup-solutions.html">EnBW Energy Ventures</a>. That number is about to move fast.</p><p>Here is the part that matters for grid stability: when a BMW iX3 feeds 11 kW back to the grid at six o&#8217;clock in the evening, it is no longer just a car. It is a generator. And generators do not play by the same rules as consumers.</p><p>In the <a href="https://currentaffairs.io/p/grid-codes-decoded-the-eu-rules-that-are-finally-coming-for-ev-chargers">previous article</a>, I covered the Demand Connection Code (DCC) &#8212; the EU rulebook for devices that consume electricity from the grid. Fault Ride-Through, LFSM-UC, RoCoF: those requirements govern EV chargers as so-called demand facilities. The moment an EV discharges energy back into the grid, a completely different regulation takes over: the <strong>Requirements for Generators (RfG)</strong>, Commission Regulation (EU) 2016/631.</p><p>In this article, you&#8217;ll learn what changes the moment your EV starts feeding power back to the grid, and what that means for the standards, protocols, and certifications shaping V2G today:</p><ul><li><p>Why AC and DC V2G have fundamentally different compliance architectures, and who is responsible for grid code certification in each case</p></li><li><p>What the Requirements for Generators (RfG) demands from a V2G unit: frequency response, interface protection, and reactive power control</p></li><li><p>How national grid codes in Germany, the Netherlands, and the UK differ &#8212; and why they are slowly converging</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S4Ti!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S4Ti!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 424w, https://substackcdn.com/image/fetch/$s_!S4Ti!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 848w, https://substackcdn.com/image/fetch/$s_!S4Ti!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 1272w, https://substackcdn.com/image/fetch/$s_!S4Ti!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S4Ti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png" width="1456" height="1051" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1051,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1141457,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/193552070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!S4Ti!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 424w, https://substackcdn.com/image/fetch/$s_!S4Ti!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 848w, https://substackcdn.com/image/fetch/$s_!S4Ti!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 1272w, https://substackcdn.com/image/fetch/$s_!S4Ti!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f3c83e4-96d0-49a3-bf2c-c559deb0169b_2184x1577.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>AC or DC? The answer determines who gets certified</h2><p>Before getting into what the grid codes require, there is an architectural question that changes everything: where is the inverter?</p><p>V2G requires converting between DC (Direct Current, the format in which a battery stores energy) and AC (Alternating Current, the format the grid runs on). The inverter is the device that does this conversion. In normal charging it runs in one direction; in V2G it must run in both. The critical question is where that inverter physically sits, and the answer differs between AC and DC V2G.</p><p><strong>DC V2G</strong> (CCS DC, CHAdeMO): the inverter is built into the charging station. When the session reverses, it is the charger&#8217;s inverter that handles DC-to-AC conversion and connects to the grid. Grid code compliance &#8212; frequency response, reactive power control, interface protection &#8212; is the responsibility of the <strong>charging station manufacturer</strong>. The EV contributes its battery and nothing else. The Ford Explorer and Ford Capri are DC V2G vehicles: they connect via CCS Combo 2 to the Ambibox ambiCHARGE DC wallbox, which carries the inverter and bears the compliance burden.</p><p><strong>AC V2G</strong> (Type 2 AC bidirectional, as used by the Renault 5, for example): the inverter is the EV&#8217;s own on-board charger (OBC). It already converts AC from the grid into DC to charge the battery. For V2G, it must also run in reverse: DC from battery back to AC into the grid. That means grid code compliance for the <strong>inverter functions</strong> is the responsibility of the <strong>vehicle manufacturer</strong> &#8212; but, as we will see, the charging station carries its own compliance obligations too.</p><p>In DC V2G, a charger manufacturer can build and certify a grid-compliant charging station independently of any specific vehicle. In AC V2G, the EV manufacturer must ensure the OBC meets all generator requirements. And because that inverter is inside the car, it must be certified as part of the vehicle itself.</p><p><strong>The function split for AC V2G certification</strong> flows directly from this architecture. For a complete AC V2G system to be compliant, responsibilities are divided:</p><ul><li><p><strong>The EV must handle</strong>: LFSM-U (increasing active power output during under-frequency) and LFSM-O (reducing active power output during over-frequency). These are the inverter functions that restore grid stability &#8212; the EV&#8217;s contribution to active power control. Quick reminder: LFSM-U  stands for Limited Frequency Sensitivity Mode &#8211; Underfrequency, and the &#8220;-O&#8221; stands for Overfrequency.</p></li><li><p><strong>The charging station must handle</strong>: interface protection (automatic disconnection when voltage or frequency exceeds safe limits) and anti-islanding (detecting and disconnecting from an unintentionally isolated section of the grid). These are the grid protection functions, which are the EVSE&#8217;s responsibility, not the vehicle&#8217;s.</p></li><li><p><strong>Both must handle</strong>: Frequency Ride Through (staying connected during frequency deviations), RoCoF Ride Through (staying connected during rapid frequency changes), logic interface, and automatic (re)connection. And critically: the communication link. The EV inverter must stay connected during a voltage dip, but so must the ISO 15118-20 session running over the charging cable. If the charging station drops its Power Line Communication (PLC) session during a fault event, the EV loses its control signals and may trip off regardless of what its inverter would otherwise do. Ride-through is a system requirement, not just an inverter requirement.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z_5Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 424w, https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 848w, https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 1272w, https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png" width="1456" height="850" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:850,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:250960,&quot;alt&quot;:&quot;Overview of certification requirements for EV and charger in AC V2G (Source: ElaadNL's V2G Implementation Guide 2025)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/193552070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Overview of certification requirements for EV and charger in AC V2G (Source: ElaadNL's V2G Implementation Guide 2025)" title="Overview of certification requirements for EV and charger in AC V2G (Source: ElaadNL's V2G Implementation Guide 2025)" srcset="https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 424w, https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 848w, https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 1272w, https://substackcdn.com/image/fetch/$s_!Z_5Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ea16cb-fba7-47c3-b17e-b11bbec7d689_2660x1552.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Overview of certification requirements for EV and charger in AC V2G (Source: ElaadNL's &#8216;V2G Implementation Guide 2025&#8217;)</figcaption></figure></div><p></p><h2>The generator rulebook</h2><p>When a V2G unit discharges to the grid, it falls under the <strong>Requirements for Generators (RfG)</strong>, EU Regulation 2016/631. The RfG sets the principles: generating plants must meet certain technical requirements to connect. For the actual numbers &#8212; voltage thresholds, frequency ranges, protection settings &#8212; it points to European standards. Understanding the layering matters, because these three instruments are frequently conflated:</p><p><strong>RfG</strong> is the EU legal instrument. It is the law that states &#8220;generating plants must comply with technical connection requirements.&#8221; It applies across all EU member states and cannot be overridden at national level. But it deliberately avoids specifying every parameter. Instead, it delegates specifics to European standards.</p><p><strong>EN 50549-1</strong> (a CENELEC standard) is where those specifics live for distribution-level generators at low voltage (&#8804;1 kV). This covers most residential and commercial V2G: a BMW iX3 or Ford Explorer on a home wallbox, a Renault 5 fleet depot, a neighbourhood V2G hub. EN 50549-2 covers medium voltage (1&#8211;35 kV), relevant for larger fleet installations.</p><p><strong>EN 50549-10</strong> is the test standard. To prove compliance with EN 50549-1, you need a formal test report based on EN 50549-10. This is the compliance verification document. Without it, you cannot certify your V2G unit as grid-compliant.</p><p><strong>ACER&#8217;s proposed amendments to the RfG</strong> introduce three dedicated V2G categories within this framework: EV1 (0.8&#8211;2.4 kW), EV2 (2.4&#8211;50 kW), and EV3 (50 kW&#8211;1 MW), with proportionate compliance requirements at each tier. Most residential V2G systems &#8212; Ford/Octopus at 11 kW, BMW/E.ON &#8212; fall into <strong>EV2</strong>.</p><p></p><h3>V2G frequency response when discharging power</h3><p>In the <a href="https://currentaffairs.io/p/grid-codes-decoded-the-eu-rules-that-are-finally-coming-for-ev-chargers">previous article</a>, I explained LFSM-U<strong>C</strong> (Limited Frequency Sensitivity Mode &#8211; Underfrequency <strong>Control</strong>): when grid frequency drops below 49.8 Hz, V1G chargers must automatically <em>reduce consumption</em> to help stabilise the grid (5% droop). The &#8220;C&#8221; is deliberate &#8212; it is the demand-side variant, defined in the Demand Connection Code for units that <em>control</em> their consumption; the generator-side equivalent in the RfG drops the C and is simply called LFSM-U. V2G adds the mirror image, and it&#8217;s more demanding.</p><p>When frequency drops, a V2G unit must not just reduce consumption. It must <em>increase discharge, i.e. act like a generator ramping up output to rescue the grid.</em> The droop setting for this response is 2% &#8212; the value mandated by VDE 4105 and ElaadNL, and the tightest end of EN 50549-1&#8217;s 2&#8211;12% range.</p><p>&#8220;2% droop&#8221; sounds abstract. Here is what it means in practice.</p><p>Most electricity grids run at exactly 50 Hz (with the exception of e.g. the US, which runs on 60 Hz) because that frequency is what keeps generators, motors, and devices in sync. It is a constant tightrope walk between how much power is being generated and how much is being consumed. When demand spikes &#8212; everyone&#8217;s kettle on at half time &#8212; frequency starts to fall. Left uncorrected, that becomes a blackout.</p><p>V2G units are part of the answer. The moment they detect falling frequency, they discharge more power into the grid &#8212; automatically, with no command from anyone. But how much more? That&#8217;s what <em>droop</em> defines.</p><p>Think of it like a dimmer switch, not a light switch. A regular switch is binary: fully on or fully off. A dimmer gives a graduated response &#8212; push it a little, a little more light; push it further, much brighter. Droop makes a V2G unit behave the same way: the further frequency falls below the threshold, the more power it adds. Proportionally. Continuously. Without anyone touching anything.</p><p>At 2% droop, that proportionality works out to one simple rule:</p><blockquote><p><strong>For every 0.1 Hz the frequency falls below the 49.8 Hz threshold, the unit increases its discharge by 10% of its rated power.</strong></p></blockquote><p>In practice, for a 7.4 kW V2G unit currently discharging at 3 kW:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_RuQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_RuQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 424w, https://substackcdn.com/image/fetch/$s_!_RuQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 848w, https://substackcdn.com/image/fetch/$s_!_RuQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 1272w, https://substackcdn.com/image/fetch/$s_!_RuQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_RuQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png" width="1456" height="409" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:409,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19416,&quot;alt&quot;:&quot;Relation between grid frequency and discharge power&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/193552070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Relation between grid frequency and discharge power" title="Relation between grid frequency and discharge power" srcset="https://substackcdn.com/image/fetch/$s_!_RuQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 424w, https://substackcdn.com/image/fetch/$s_!_RuQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 848w, https://substackcdn.com/image/fetch/$s_!_RuQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 1272w, https://substackcdn.com/image/fetch/$s_!_RuQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6a43e3c-4daf-49d4-becc-64bedd07af78_1500x421.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Relation between grid frequency and discharge power</figcaption></figure></div><p>No operator call, no message from a control room. The inverter reads the frequency at the socket, in real time, and adjusts.</p><p>The &#8220;2%&#8221; label comes from the engineering definition of droop, for those who want it:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\text{droop} = \\frac{\\Delta f / f_\\text{nom}}{\\Delta P / P_\\text{rated}}&quot;,&quot;id&quot;:&quot;BARXDEMMJL&quot;}" data-component-name="LatexBlockToDOM"></div><p>Plugging in the extreme case: a 1 Hz drop is exactly 2% of 50 Hz, demanding 100% of rated output. The droop setting is designed so the worst realistic emergency triggers maximum response. Everything between zero and 1 Hz scales linearly between those extremes.</p><p>The threshold is configurable between 49.5 and 49.8 Hz; the default is 49.8 Hz.</p><p>I&#8217;ve tried to capture the above in an illustrative example. Here&#8217;s the thing: I understand the protocols that carry these parameters better than the power engineering that defines them. If the diagram below is making a grid engineer somewhere reach for a red pen, please do reach out. I would rather be corrected than confidently wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p_mm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p_mm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 424w, https://substackcdn.com/image/fetch/$s_!p_mm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 848w, https://substackcdn.com/image/fetch/$s_!p_mm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 1272w, https://substackcdn.com/image/fetch/$s_!p_mm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p_mm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png" width="1456" height="938" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:938,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37422,&quot;alt&quot;:&quot;he LFSM-U droop curve: discharge ramps up automatically as frequency falls below 49.8 Hz&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/193552070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="he LFSM-U droop curve: discharge ramps up automatically as frequency falls below 49.8 Hz" title="he LFSM-U droop curve: discharge ramps up automatically as frequency falls below 49.8 Hz" srcset="https://substackcdn.com/image/fetch/$s_!p_mm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 424w, https://substackcdn.com/image/fetch/$s_!p_mm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 848w, https://substackcdn.com/image/fetch/$s_!p_mm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 1272w, https://substackcdn.com/image/fetch/$s_!p_mm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd522e0e0-b4d1-4b0f-933b-9b244570fe38_1800x1160.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The LFSM-U droop curve: discharge ramps up automatically as frequency falls below 49.8 Hz.</figcaption></figure></div><p>Multiply this across tens of thousands of V2G EVs connected across a country on a winter evening, and that autonomous response aggregates into gigawatts of fast-acting frequency support.</p><p></p><h3>Interface protection: the emergency circuit breaker</h3><p>Frequency response governs how V2G units behave during normal grid disturbances. Interface protection governs what they do during a full emergency.</p><p>When voltage or frequency goes outside safe limits and stays there long enough, the V2G unit must disconnect automatically. Not to protect itself primarily, but to prevent an inverter from continuing to energise a section of grid that may be isolated or under fault. This is the fail-safe that sits behind the ride-through requirements: Frequency Ride-Through says &#8220;stay connected through minor events&#8221;; interface protection says &#8220;when it is a real emergency, get off the grid fast.&#8221;</p><p>Under EN 50549-1, the disconnection thresholds for units rated between 0.8 and 11 kW are:</p><ul><li><p><strong>UV1</strong> (under-voltage): below 80% of nominal voltage &#8594; disconnect within 2 seconds</p></li><li><p><strong>OV1</strong> (over-voltage): above 110% of nominal voltage &#8594; disconnect within 2 seconds</p></li><li><p><strong>UF1</strong> (under-frequency): below 47.5 Hz &#8594; disconnect within 2 seconds</p></li><li><p><strong>UF2</strong> (over-frequency): above 51.5 Hz &#8594; disconnect within 2 seconds</p></li></ul><p>For units above 11 kW, there is an additional, faster threshold: <strong>UV2</strong> at 70% of nominal voltage &#8594; disconnect within 0.2 seconds. The reasoning is proportionate: a higher-power unit can cause more damage if it keeps operating during a deep voltage sag, so it must trip faster.</p><p>To put this in context from my previous article: the ride-through curves (FRT, LFSM) describe where the unit must stay connected and contribute. Interface protection describes where it must finally let go. These are the same boundaries explored for demand units &#8212; now approached from the generator side.</p><p></p><h3>Reactive power control: the part everyone finds confusing</h3><p>Frequency and voltage are two different problems. We&#8217;ve just covered how V2G units respond to frequency deviations by adjusting active power &#8212; the real energy flowing in and out. Voltage is a separate challenge: it can drift and sag at the local level even when the wider grid is stable, and the tool for managing it is <strong>reactive power.</strong></p><p>If reactive power, power factor, and the difference between &#8220;lagging&#8221; and &#8220;leading&#8221; are not already in your vocabulary, Paul from The Engineering Mindset explains all of it far better than I can in prose: <strong>Power Factor Explained</strong>. Ten minutes, very much worth it. The rest of this section picks up from there.</p><div id="youtube2-Tv_7XWf96gg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Tv_7XWf96gg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Tv_7XWf96gg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The reason V2G matters for reactive power is simple: an inverter that can push energy in both directions can also push reactive power in both directions. That makes it a voltage control device as well as a storage device.</p><p>EN 50549-1 specifies four modes through which V2G units can provide reactive power support. Think of them as a spectrum from fully manual to fully autonomous:</p><p><strong>Q setpoint mode</strong> (manual). The grid operator sends a direct command: &#8220;inject 1 kVAr.&#8221; The inverter holds that value until told otherwise. Precise, but operationally intensive: every adjustment requires a new instruction.</p><p><strong>Cos &#966; setpoint mode</strong> (set-and-forget). A fixed power factor is programmed in (e.g. 0.95 lagging), and the inverter maintains it automatically regardless of what is happening on the local network. No ongoing commands needed, but it cannot respond to changing conditions. It does what it was told, not what the grid currently needs.</p><p><strong>Cos &#966;(P) mode</strong> (rule-based). The power factor shifts automatically depending on how much active power the unit is delivering: at low output, unity power factor; at high output, a lagging or leading contribution defined by a curve set at installation. Automatic, but the rules are fixed.</p><p><strong>Q(U) mode</strong> (fully autonomous, and the most powerful of the four). A note on the notation first: in European power engineering, Q is the standard symbol for reactive power and U is the IEC symbol for voltage (European standards use U rather than V to avoid confusion with the unit volt). Q(U) simply means &#8220;reactive power as a function of voltage.&#8221;</p><p>Reactive power adjusts continuously based on the actual voltage the inverter measures at the socket. When voltage climbs above a threshold, it absorbs reactive power, pulling voltage back down. When voltage dips, it injects reactive power, pushing it back up. No command. No update. Just the inverter reading the voltage and acting.</p><p>Within a deadband around nominal voltage &#8212; typically &#177;5%, so 218.5&#8211;241.5 V on a 230 V network &#8212; the unit does nothing. Normal voltage requires no intervention. The response only activates outside that window.</p><p>The exact voltage breakpoints and deadband width are set by the distribution network operator and can be updated remotely &#8212; which is precisely what OCPP 2.1&#8217;s <code>SetDERControlRequest</code> enables, which we&#8217;ll cover in the upcoming article.</p><p>In practice: it is a sunny July afternoon, rooftop solar generation is high, and local voltage has climbed to 247 V &#8212; 7% above nominal 230 V. Every V2G EV on a home wallbox in the neighbourhood has Q(U) mode enabled. Each one automatically absorbs reactive power, attenuating the voltage rise without anyone issuing a command. By 6 pm when those same EVs begin discharging into the evening peak, the local voltage is already under control. That is distributed voltage regulation. No control centre, no communication overhead, no manual instruction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U3K5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U3K5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 424w, https://substackcdn.com/image/fetch/$s_!U3K5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 848w, https://substackcdn.com/image/fetch/$s_!U3K5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!U3K5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U3K5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png" width="1456" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43884,&quot;alt&quot;:&quot;Representative Q(U) curve for EN 50549-1 / VDE 4105:2026-03&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/193552070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Representative Q(U) curve for EN 50549-1 / VDE 4105:2026-03" title="Representative Q(U) curve for EN 50549-1 / VDE 4105:2026-03" srcset="https://substackcdn.com/image/fetch/$s_!U3K5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 424w, https://substackcdn.com/image/fetch/$s_!U3K5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 848w, https://substackcdn.com/image/fetch/$s_!U3K5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!U3K5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf107d63-b531-4e24-a1c0-c8677a508b99_1800x1180.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Representative Q(U) curve for EN 50549-1 / VDE 4105:2026-03</figcaption></figure></div><p></p><h2>A patchwork of national grid codes &#8212; converging slowly</h2><p>The EU-level RfG amendment covering V2G is still progressing through the Commission's comitology process. Mandatory compliance is realistically around 2030. In the meantime, national grid codes govern V2G deployments &#8212; and they differ.</p><p>The table below represents my best effort to gather accurate data, but if you are an electrical / power engineer and spot an error, then please do reach out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UZIr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UZIr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 424w, https://substackcdn.com/image/fetch/$s_!UZIr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 848w, https://substackcdn.com/image/fetch/$s_!UZIr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 1272w, https://substackcdn.com/image/fetch/$s_!UZIr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UZIr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png" width="1456" height="968" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:968,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43979,&quot;alt&quot;:&quot;Comparison of national grid codes&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/193552070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison of national grid codes" title="Comparison of national grid codes" srcset="https://substackcdn.com/image/fetch/$s_!UZIr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 424w, https://substackcdn.com/image/fetch/$s_!UZIr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 848w, https://substackcdn.com/image/fetch/$s_!UZIr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 1272w, https://substackcdn.com/image/fetch/$s_!UZIr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35bfbf1c-694b-4e70-b126-d12cd5ab045f_1500x997.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Comparison of national grid codes</figcaption></figure></div><p>A note on the UK column: G99 Issue 2 (March 2025) extended coverage to storage-based generating units &#8212; including V2G &#8212; effective March 2026. Unlike Germany and the Netherlands, G98/G99 does not mandate a fixed droop value; the setting is configurable within the 2&#8211;10% range, determined by the DNO at connection approval. The voltage trip thresholds marked [VERIFY] should be confirmed against the current G99 Issue 2 text. If you happen to know more details, please let me know.</p><p>Germany&#8217;s <strong>VDE-AR-N 4105:2026-03</strong>, effective March 2026, deserves particular attention: it is the first national standard to formally include V2G and V2H requirements, making Germany the first EU country with an active, enforceable V2G grid code. As far as I know, Ford &#215; Octopus and BMW &#215; E.ON are both operating under it today.</p><p>One aspect of VDE 4105 stands out: unlike PV inverters &#8212; where only the inverter unit needs certification &#8212; V2G under VDE 4105 requires certification of the <strong>entire functional system</strong>: vehicle model, charging cable type, and wallbox model as an integrated unit. A specific Ford Explorer certified with a specific Ambibox wallbox does not automatically certify the same Explorer with a different wallbox. For V2G to scale across millions of vehicles and hundreds of charger models, this system-level certification requirement needs to evolve. It is part of what EU-level RfG harmonisation will eventually need to address. In the meantime: if you have a certified V2G system, cherish it. Don&#8217;t even change the cable (never touch a running system, remember?)</p><p><strong>A notable point in the Dutch framework</strong>: the <a href="https://elaad.nl/wp-content/uploads/downloads/V2G-Implementation-Guide-2025.pdf">ElaadNL V2G Implementation Guide 2025</a> explicitly states that a unit certified under VDE 4105 (with a VDE 0124-100 test report) or Belgian C10/11 (with a C10/26 test report) is accepted as compliant in the Netherlands. This might seem surprising &#8212; why would a German national standard satisfy Dutch requirements?</p><p>The answer is that VDE 4105, C10/11, and the Dutch framework are all national implementations of the same underlying standard: EN 50549-1. Their core interface protection parameters &#8212; voltage trip thresholds, frequency limits &#8212; are harmonised to the same values. A device that passes VDE 0124-100 testing has effectively demonstrated compliance with EN 50549-1. The Netherlands recognises this equivalence explicitly, and it is EN 50549&#8217;s design working as intended: national codes with minimal technical divergence in the parameters that actually matter for grid safety.</p><p></p><h2>The rulebook is ready. The wiring is almost there.</h2><p>That, in brief, is where the grid code landscape stands today. I do realise that I&#8217;ve been focusing on the UK and EU and left out the US, Australia, or other parts of the globe in this article. Please feel free to reach out to me if you have information on grid codes in these regions and I&#8217;ll make sure to include this information in a future post. </p><p>V2G turns an EV from a consumer into a generator, and the regulatory apparatus that governs generators is catching up. The RfG provides the legal foundation. EN 50549-1 specifies the technical parameters. VDE 4105:2026-03 enforces them in Germany right now, with BMW &#215; E.ON and Ford &#215; Octopus both operating under it today. Other national codes are converging to the same baseline.</p><p>But grid codes on paper don&#8217;t configure inverters in cars. Getting those parameters &#8212; droop curves, Q(U) profiles, voltage trip thresholds &#8212; from a grid operator&#8217;s systems into the on-board charger inside a vehicle requires a protocol chain that most of the industry has barely started thinking about.</p><p>In the next article, we&#8217;ll cover OCPP 2.1&#8217;s DER (Distributed Energy Resource) control messages, the last-mile problem from charging station to EV inverter, and why ISO 15118-20 Amendment 1 is the piece that makes dynamic grid code compliance possible at all.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to</strong> <em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X).</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Grid codes, decoded — The EU rules that are finally coming for EV chargers]]></title><description><![CDATA[ACER is proposing the first dedicated grid connection rules for EVs and chargers. Here's what FRT, LFSM-UC, and RoCoF mean in practice &#8212; and why the industry isn't waiting for Brussels to catch up.]]></description><link>https://currentaffairs.io/p/grid-codes-decoded-the-eu-rules-that-are-finally-coming-for-ev-chargers</link><guid isPermaLink="false">https://currentaffairs.io/p/grid-codes-decoded-the-eu-rules-that-are-finally-coming-for-ev-chargers</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 17 Mar 2026 10:21:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u66G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every time an EV plugs into a charger, it draws power from the grid. Now multiply that by tens of millions of vehicles. Add heat pumps, solar panels feeding energy back in, and factories running heavy machinery &#8212; all connected to the same electrical system. How does the grid not collapse?</p><p>The answer: grid codes. These are the rulebook that every device connected to the electricity grid must follow. And yet, in the EV charging industry, very few people truly understand what they are, how they work, and why they&#8217;re about to become a lot more relevant.</p><p>In this article, I&#8217;ll explain what grid codes actually are, why they exist, what the key technical requirements look like (with concrete examples you can actually understand), and what&#8217;s changing with the upcoming amendments to the European Demand Connection Code &#8212; a regulation that directly impacts EV chargers and electric vehicles.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u66G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u66G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!u66G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!u66G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!u66G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u66G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:557383,&quot;alt&quot;:&quot;Title image: Grid codes decoded&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/191191351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Title image: Grid codes decoded" title="Title image: Grid codes decoded" srcset="https://substackcdn.com/image/fetch/$s_!u66G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!u66G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!u66G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!u66G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F315b0709-92f8-4bf9-b6a6-d38a4825dcbc_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Grid codes are building codes &#8212; for the electricity grid</h2><p>Think of grid codes like building codes for a city&#8217;s electrical infrastructure. Just as building codes ensure that every structure can withstand earthquakes, support certain loads, and meet fire safety standards, grid codes ensure that every device connected to the electricity grid behaves in a way that keeps the system stable and safe.</p><p>Without building codes, one poorly constructed building could collapse and damage its neighbours. Without grid codes, one misbehaving device &#8212; or millions of them &#8212; could destabilise the entire electricity system.</p><p>Grid codes define the technical rules that equipment (like EVs and charging stations) must follow to connect to and operate on the electricity grid. They cover things like:</p><ul><li><p><strong>What voltage and frequency ranges</strong> equipment must tolerate without disconnecting</p></li><li><p><strong>How equipment must behave during grid faults</strong> (e.g. a short circuit on a transmission line)</p></li><li><p><strong>What power quality standards</strong> equipment must meet</p></li><li><p><strong>What information</strong> must be exchanged between the equipment owner and the grid operator</p></li></ul><p>These aren&#8217;t guidelines or recommendations, they&#8217;re binding regulations. Grid codes exist in every country.</p><p>In this article, we&#8217;re focusing on the European grid code regulation as there are important changes underway that will help harmonise the integration of EVs and chargers into the European electricity grid across all member states.</p><h2>The European grid code family</h2><p>Europe has developed a comprehensive set of grid codes under the Third Energy Package. The three core <strong>connection codes</strong> are:</p><ol><li><p><strong>Requirements for Generators (RfG)</strong>: Commission Regulation (EU) 2016/631. Covers power plants, wind farms, solar parks &#8212; anything that generates and feeds electricity into the grid.</p></li><li><p><strong>Demand Connection Code (DCC)</strong>: Commission Regulation (EU) 2016/1388. Covers everything that consumes electricity from the grid: factories, buildings, EV chargers, heat pumps, data centres &#8212; all demand-side equipment.</p></li><li><p><strong>High Voltage Direct Current Code (HVDC)</strong>: Commission Regulation (EU) 2016/1447. Covers HVDC systems and the DC-connected power park modules used in subsea cables and long-distance interconnectors.</p></li></ol><p>Together, these codes form a coherent regulatory architecture. Generators, consumers, and interconnectors each have their own rulebook &#8212; but all three are designed to work in harmony to keep the grid stable.</p><p>For EV charging, the relevant code is the <strong>Demand Connection Code</strong>.</p><h2>The Demand Connection Code: what it covers</h2><p>The DCC, formally Commission Regulation (EU) 2016/1388, was adopted in August 2016. It establishes harmonised technical requirements for connecting demand facilities to transmission and distribution networks across the EU. In plain English: it defines the technical minimum standard that any electricity-consuming equipment must meet to be allowed onto the grid.</p><p>The DCC applies to:</p><ul><li><p><strong>Transmission-connected demand facilities</strong>: large industrial consumers connected directly to high-voltage transmission networks</p></li><li><p><strong>Distribution-connected demand facilities</strong>: anything connected to the lower-voltage distribution grid, including commercial buildings, EV charging sites, and residential connections above certain thresholds</p></li><li><p><strong>Closed distribution systems</strong>: private networks like airports, ports, or large campuses</p></li><li><p><strong>Demand units providing demand response services</strong>: equipment that actively participates in grid balancing (though this is changing &#8212; more on that below)</p></li></ul><p>So where does EV charging fit in? EV chargers are demand facilities connected to the distribution grid. As charging infrastructure scales up &#8212; large charging hubs with dozens of high-power chargers drawing hundreds of kilowatts &#8212; these installations become significant grid assets. The grid code ensures they play by the rules.</p><h2>Grid codes in practice: what the technical requirements actually look like</h2><p>This is where most explanations of grid codes lose people. Let me try to make this tangible with concrete examples from the DCC.</p><h3>Frequency: staying in the safe zone</h3><p>The European electricity grid operates at a nominal frequency of <strong>50 Hz</strong>. This frequency is a direct indicator of the balance between electricity generation and consumption across the entire interconnected system. When supply and demand are perfectly matched, frequency sits at 50.00 Hz. When demand exceeds supply (more power consumed than generated), frequency drops. When supply exceeds demand, frequency rises.</p><p>The DCC requires demand facilities to remain connected and operational across a frequency range of <strong>47.5 Hz to 52.0 Hz</strong>. That might sound like a small window, but in grid terms, even a 0.5 Hz deviation from 50 Hz signals a serious imbalance.</p><p>Think of grid frequency like a resting heart rate. A healthy grid beats at exactly 50 Hz. A drop of just 0.5 Hz &#8212; one percent &#8212; already signals a serious imbalance. A drop to 47.5 Hz is a full-blown emergency. It&#8217;s like a resting heart rate that&#8217;s supposed to sit at 60 bpm &#8212; if it dips to 57, most people wouldn&#8217;t worry. But the grid is far less forgiving. In grid terms, that same 5% deviation is the difference between normal operation and the threshold where equipment is allowed to disconnect. Every fraction of a Hertz matters. The grid code says: your equipment must stay connected and <strong>ride through</strong> these events, not trip and disconnect &#8212; because mass disconnection of loads would make the problem worse, not better.</p><p>You can actually trace the current and past frequency of the European, British, and the Nordic electricity grid at <a href="https://gridradar.net/en/mains-frequency">Gridradar</a>. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yoSg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yoSg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 424w, https://substackcdn.com/image/fetch/$s_!yoSg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 848w, https://substackcdn.com/image/fetch/$s_!yoSg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 1272w, https://substackcdn.com/image/fetch/$s_!yoSg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yoSg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png" width="1456" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:35987,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/191191351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yoSg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 424w, https://substackcdn.com/image/fetch/$s_!yoSg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 848w, https://substackcdn.com/image/fetch/$s_!yoSg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 1272w, https://substackcdn.com/image/fetch/$s_!yoSg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65afeeef-d0e9-4766-8c1f-e4b8eaa29fa0_1604x1044.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The nominal grid frequency (Source: Gridradar)</figcaption></figure></div><p></p><h3>Voltage: keeping it within bounds</h3><p>The DCC also specifies voltage requirements. Equipment must remain connected and operational across a voltage range of <strong>0.85 pu to 1.10 pu</strong> at the connection point. The unit &#8220;pu&#8221; stands for <em>per unit</em> &#8212; it&#8217;s a normalised way of expressing voltage relative to the nominal value. So 1.0 pu = nominal voltage (e.g. 230V for low-voltage or 400V for three-phase), 0.85 pu = 85% of nominal, and 1.10 pu = 110% of nominal.</p><p>Why does voltage fluctuate? Every time a large load switches on or off &#8212; a factory starting a production line, a charging hub ramping up &#8212; the local voltage dips or rises. The grid code says: your equipment must handle these fluctuations without tripping. If your EV charger shuts down every time the voltage dips to 210V (0.91 pu), that&#8217;s a problem.</p><h3>Fault Ride-Through: don&#8217;t abandon ship</h3><p><strong>Fault Ride-Through (FRT)</strong> is one of the most important and least understood grid code requirements. Here&#8217;s the scenario: a tree falls on a transmission line, causing a short circuit. The voltage at the fault point drops to near zero. This voltage dip propagates through the network, reaching your EV charging hub as a brief but significant voltage drop.</p><p>The old behaviour of connected equipment was simple: detect low voltage, disconnect, protect yourself. But when millions of devices all disconnect simultaneously during a grid fault, the sudden loss of load creates a massive imbalance that can cascade into a wider blackout. That&#8217;s exactly what grid codes are designed to prevent.</p><p>FRT requires equipment to <strong>remain connected during short-duration voltage dips</strong> &#8212; riding through the fault rather than disconnecting. The DCC defines a voltage-against-time profile: how deep the voltage can drop and for how long the equipment must stay connected.</p><p>Under the proposed ACER (EU <strong>A</strong>gency for the <strong>C</strong>ooperation of <strong>E</strong>nergy <strong>R</strong>egulators) amendments to the DCC, there will be a <strong>harmonised, binding FRT profile</strong> specifically for EV chargers, V1G electric vehicles, heat pumps, and power-to-gas units. This means a single European-wide standard &#8212; no more varying national requirements. Manufacturers can design one product that works everywhere.</p><p>The diagram shows the minimum voltage behaviour required at the connection point during and after a grid fault, expressed as a fraction of normal voltage (1.0 pu). Voltage drops to U_ret when the fault strikes and holds there until the fault is cleared at t_clear. Recovery then happens in stages: voltage rises to U_rec1 by t_rec1, briefly plateaus, then climbs to U_rec2 by t_rec3. Equipment must remain connected for any voltage path that stays on or above this curve.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AiE3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AiE3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 424w, https://substackcdn.com/image/fetch/$s_!AiE3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 848w, https://substackcdn.com/image/fetch/$s_!AiE3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 1272w, https://substackcdn.com/image/fetch/$s_!AiE3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AiE3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:167679,&quot;alt&quot;:&quot;Predefined Fault ride-through profile (Source: Acer Recommendation 03-2023)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/191191351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Predefined Fault ride-through profile (Source: Acer Recommendation 03-2023)" title="Predefined Fault ride-through profile (Source: Acer Recommendation 03-2023)" srcset="https://substackcdn.com/image/fetch/$s_!AiE3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 424w, https://substackcdn.com/image/fetch/$s_!AiE3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 848w, https://substackcdn.com/image/fetch/$s_!AiE3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 1272w, https://substackcdn.com/image/fetch/$s_!AiE3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21555362-c20b-4961-9e1b-223f586b7360_2076x1238.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Predefined Fault ride-through profile (Source: Acer Recommendation 03-2023)</figcaption></figure></div><p>The voltage parameters (in pu, i.e. per unit &#8212; see above) for the fault-ride-through capability of V1G (unidirectional charging) EVs and associated EV chargers are:</p><ul><li><p>U_ret: 0.05</p></li><li><p>U_clear: 0.15</p></li><li><p>U_rec1: 0.15</p></li><li><p>U_rec2: 0.85</p></li></ul><p>The time parameters (in seconds) are:</p><ul><li><p>t_clear: 0.15</p></li><li><p>t_rec1: 0.15</p></li><li><p>t_rec2: 0.15</p></li><li><p>t_rec3: 3.0</p></li></ul><p></p><h3>LFSM-UC: automatic power reduction when the grid is stressed</h3><p><strong>Limited Frequency Sensitive Mode &#8211; Underfrequency Control (LFSM-UC)</strong> is a requirement for certain demand equipment to automatically reduce its power consumption when grid frequency drops below a threshold. This is particularly relevant for EV chargers.</p><p>Here&#8217;s how it works for EVs, chargers, and power-to-gas units under the proposed amendments:</p><ul><li><p><strong>Frequency threshold</strong>: 49.8 Hz (or 49.5 Hz for the Irish and Nordic synchronous areas)</p></li><li><p><strong>Droop setting</strong>: 5% &#8212; this defines how aggressively power is reduced per Hz of frequency deviation</p></li><li><p><strong>Response time</strong>: 0.5 seconds or less</p></li><li><p>When frequency drops below 49.8 Hz, the charger must <strong>automatically reduce its power consumption</strong>, scaling down proportionally until it reaches its minimum operating level</p></li><li><p>If the minimum operating level exceeds 20% of rated power, the unit must disconnect entirely</p></li><li><p>After disconnection, a <strong>random reconnection delay of up to 5 minutes</strong> prevents all devices from reconnecting simultaneously (which would cause a second frequency dip)</p></li></ul><p>Think of this like a thermostat for the grid. When the system is under stress (frequency dropping), every connected device needs to ease off &#8212; automatically, without waiting for a human command. Your EV charger might slow down from 11 kW to 6 kW for a few minutes. You probably wouldn&#8217;t even notice, but multiplied across millions of chargers, that reduction can prevent a blackout.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qaLl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qaLl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 424w, https://substackcdn.com/image/fetch/$s_!qaLl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 848w, https://substackcdn.com/image/fetch/$s_!qaLl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 1272w, https://substackcdn.com/image/fetch/$s_!qaLl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qaLl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png" width="1456" height="618" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:618,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14107,&quot;alt&quot;:&quot;LFSM-UC diagram with 5% droop slope, frequency threshold at 49.8 Hz (Source: ACER Recommendation 03-2023)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/191191351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="LFSM-UC diagram with 5% droop slope, frequency threshold at 49.8 Hz (Source: ACER Recommendation 03-2023)" title="LFSM-UC diagram with 5% droop slope, frequency threshold at 49.8 Hz (Source: ACER Recommendation 03-2023)" srcset="https://substackcdn.com/image/fetch/$s_!qaLl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 424w, https://substackcdn.com/image/fetch/$s_!qaLl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 848w, https://substackcdn.com/image/fetch/$s_!qaLl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 1272w, https://substackcdn.com/image/fetch/$s_!qaLl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc476eb7-c540-4064-a6c4-0eb533adbb33_1768x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">LFSM-UC diagram with 5% droop slope, frequency threshold at 49.8 Hz (Source: ACER Recommendation 03-2023)</figcaption></figure></div><h3>RoCoF: riding out rapid frequency changes</h3><p><strong>Rate-of-Change-of-Frequency (RoCoF)</strong> measures how quickly the grid frequency is changing &#8212; expressed in Hz per second. During sudden imbalances (e.g. a large power plant tripping offline), the frequency doesn&#8217;t just drop &#8212; it drops <em>fast</em>. Equipment must be able to withstand these rapid changes without disconnecting.</p><p>The proposed DCC amendments specify binding RoCoF withstand values for EVs, EV chargers, and heat pumps:</p><ul><li><p>&#177;4,0 Hz/s over a period of 0,25 s</p></li><li><p>&#177;2,0 Hz/s over a period of 0,5 s</p></li><li><p>&#177;1,5 Hz/s over a period of 1 s</p></li><li><p>&#177;1,25 Hz/s over a period of 2 s</p></li></ul><p>The faster the frequency change, the shorter the equipment needs to withstand it &#8212; but it must not disconnect during these transients. This is a new, harmonised EU-wide requirement that replaces previously varying national specifications, giving manufacturers a single design target.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!19fs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!19fs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 424w, https://substackcdn.com/image/fetch/$s_!19fs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 848w, https://substackcdn.com/image/fetch/$s_!19fs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 1272w, https://substackcdn.com/image/fetch/$s_!19fs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!19fs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png" width="1456" height="817" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84a923e3-34ef-4391-8808-74016446d591_2464x1382.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:817,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43864,&quot;alt&quot;:&quot;RoCoF tolerances for over-frequency (Source: ACER Recommendation 03-2023)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/191191351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="RoCoF tolerances for over-frequency (Source: ACER Recommendation 03-2023)" title="RoCoF tolerances for over-frequency (Source: ACER Recommendation 03-2023)" srcset="https://substackcdn.com/image/fetch/$s_!19fs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 424w, https://substackcdn.com/image/fetch/$s_!19fs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 848w, https://substackcdn.com/image/fetch/$s_!19fs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 1272w, https://substackcdn.com/image/fetch/$s_!19fs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84a923e3-34ef-4391-8808-74016446d591_2464x1382.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">RoCoF tolerances for over-frequency (Source: ACER Recommendation 03-2023)</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GVaz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GVaz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 424w, https://substackcdn.com/image/fetch/$s_!GVaz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 848w, https://substackcdn.com/image/fetch/$s_!GVaz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!GVaz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GVaz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37272,&quot;alt&quot;:&quot;RoCoF tolerances for under-frequency (Source: ACER Recommendation 03-2023)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/191191351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="RoCoF tolerances for under-frequency (Source: ACER Recommendation 03-2023)" title="RoCoF tolerances for under-frequency (Source: ACER Recommendation 03-2023)" srcset="https://substackcdn.com/image/fetch/$s_!GVaz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 424w, https://substackcdn.com/image/fetch/$s_!GVaz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 848w, https://substackcdn.com/image/fetch/$s_!GVaz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 1272w, https://substackcdn.com/image/fetch/$s_!GVaz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc17ba4-6e77-4770-bd26-b8c24ce8c8fb_2402x1354.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">RoCoF tolerances for under-frequency (Source: ACER Recommendation 03-2023)</figcaption></figure></div><p></p><h2>What&#8217;s changing: the ACER amendments and why they matter</h2><p>ACER submitted <a href="https://www.acer.europa.eu/news-and-events/news/acer-proposes-amendments-electricity-grid-connection-network-codes">Recommendation 03-2023</a> to the European Commission in December 2023, covering amendments to two of the three grid connection regulations: the Requirements for Generators (RfG) and the Demand Connection Code (DCC).</p><p>The RfG &#8212; which covers power plants, wind farms, and anything that generates electricity &#8212; was written in 2016, before EVs and battery storage became serious grid players. ACER&#8217;s proposals bring them into scope: updated definitions to reflect today&#8217;s technology mix, a process for modernising older generation equipment rather than forcing it through the full new compliance regime, and dedicated technical requirements for EVs, EV charging parks, and electricity storage modules.</p><p>The DCC proposals follow the same logic on the demand side: expand scope to include EVs, EV chargers, heat pumps, and power-to-gas units (none of which featured meaningfully in the 2016 original), create a similar modernisation pathway for existing connected facilities, and introduce updated technical requirements for transmission-connected demand facilities and distribution systems.</p><p>This article focuses on the DCC. Within those amendments, the most significant structural change is a <strong>separation of concerns</strong>:</p><ul><li><p>The <strong>DCC</strong> retains all <em>technical connection requirements</em> &#8212; the rules your equipment must meet to physically connect to the grid (frequency, voltage, FRT, RoCoF, etc.)</p></li><li><p><strong>Service-related provisions</strong> (demand response participation, flexibility market access, aggregation) are being moved out of the DCC and into the System Operation Guideline (SO GL) and the forthcoming Network Code on Demand Response (NC DR)</p></li></ul><p>Why does this matter? Because it creates a clean distinction between two things that were previously tangled together:</p><ol><li><p><strong>Grid-compliant</strong>: your equipment meets the baseline technical connection standards. It can safely connect to the grid.</p></li><li><p><strong>Grid-service capable</strong>: your equipment has enhanced functionalities &#8212; it can actively participate in frequency support, demand response, and flexibility markets.</p></li></ol><p>For EV charger and vehicle manufacturers, this is significant. The amended DCC explicitly includes <strong>V1G (uni-directional charging) electric vehicles and EVSEs</strong> (Electric Vehicle Supply Equipments, i.e. charging stations in DCC terminology) for the first time as a distinct category with dedicated technical requirements. You&#8217;ll know exactly what your product must do to be grid-compliant across all EU Member States &#8212; and anything beyond that (like participating in flexibility markets) is governed by a separate regulation.</p><p>This is also the first time the DCC introduces <strong>harmonised, binding technical requirements</strong> (FRT, LFSM-UC, RoCoF) for EV/EV chargers that override national variations. One set of rules. One compliance target. One product for the whole EU market.</p><h2>What the EV charging industry should do now</h2><p>This isn&#8217;t a distant regulatory exercise. The amendments are being finalised, and manufacturers, charge point operators, and facility owners need to start preparing:</p><ul><li><p><strong>Manufacturers</strong>: verify that your hardware and power electronics can meet the harmonised FRT, LFSM-UC, and RoCoF requirements. Start preparing compliance documentation &#8212; certificates and Demand Unit Documents (DUDs) will be required for equipment connected above 1,000V.</p></li><li><p><strong>Charge point operators</strong>: assess your existing charging sites against the new technical thresholds. Early compliance avoids costly retrofits.</p></li><li><p><strong>Facility owners</strong>: understand the separation between connection compliance (mandatory) and market participation (optional). Plan your investments accordingly.</p></li></ul><p><strong>Important caveat</strong>: The ACER amendments described in this article are currently at the <strong>recommendation stage</strong> &#8212; they are not yet adopted EU law. ACER submitted its <a href="https://www.acer.europa.eu/news-and-events/news/acer-proposes-amendments-electricity-grid-connection-network-codes">Recommendation 03-2023</a> to the European Commission in December 2023, proposing amendments to both the RfG and DCC. A separate <a href="https://www.acer.europa.eu/news/new-network-code-demand-response-will-further-advance-energy-transition">Recommendation 01-2025</a> on the new Network Code on Demand Response (NC DR) followed in March 2025. The Commission must still run its comitology process (Member State vote) before adoption &#8212; no date has been set. Once published in the Official Journal, moreover, most technical requirements don&#8217;t apply immediately: Article 59 of the draft specifies they take effect <strong>three years after publication</strong>. As an EU Regulation rather than a Directive, there&#8217;s no national transposition step &#8212; it applies directly in all Member States &#8212; but that built-in lead time means manufacturers and CPOs wouldn&#8217;t face compliance obligations until around 2030 at the earliest. You can read the full proposed amended DCC text in <a href="https://www.acer.europa.eu/sites/default/files/documents/Recommendations_annex/ACER_Recommendation_03-2023_Annex_2_NC_DC_clean.pdf">Annex 2 of ACER Recommendation 03-2023</a>, and the original Demand Connection Code on <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2016.223.01.0010.01.ENG">EUR-Lex</a>.</p><p>None of this means the industry is standing still waiting for the regulation to catch up. Commercial V2G (Vehicle-to-Grid, bidirectional charging) &#8212; far more technically demanding than V1G &#8212; is already live in Europe: in France (Renault Mobilize and The Mobility House), Germany (BMW and E.ON, and Octopus Energy with Ford), and the Netherlands (the Utrecht Energized V2G car-sharing fleet). These work through bespoke arrangements with individual utilities and grid operators, negotiating existing national codes project by project. </p><p>What the DCC amendments would change is not whether V1G or V2G <em>can</em> happen &#8212; clearly they already can &#8212; but whether they can <strong>scale across all 27 EU member states</strong> without every deployment requiring its own regulatory workaround.</p><blockquote><p><strong>On EU regulatory speed.</strong> Macron himself <a href="https://www.weforum.org/meetings/world-economic-forum-annual-meeting-2026/sessions/special-address-by-emmanuel-macron-president-of-france-fe783bf5fe/">acknowledged at Davos</a> that Europe is &#8220;sometimes too slow, <em>for sure</em>, and needs to be reformed, <em>for sure</em>&#8220; (see min 21:45). The ACER amendment was submitted in December 2023. It might be adopted in 2027. Under Article 59 of the draft, technical requirements then apply three years after publication &#8212; so mandatory compliance is realistically closer to 2030. That&#8217;s seven years from proposal to enforcement &#8212; not exactly a speedy process, <em><a href="https://www.youtube.com/watch?v=Tuglc1n19kE">for sure</a></em> (it&#8217;s worth watching this amusing video, here&#8217;s the <a href="https://www.lemonde.fr/en/pixels/article/2026/01/28/for-sure-two-impromptu-words-by-macron-go-viral_6749902_13.html">context for the uninitiated</a> &#128513;).</p></blockquote><p>Much of the technical analysis in this article draws on an excellent white paper the <a href="https://www.charin.global/">CharIN</a> Focus Group Grid Integration &amp; Energy (in collaboration with P3 Group) released end of February: <em><a href="https://www.charin.global/media/pages/technology/knowledge-base/fe680c26b0-1773135856/260227_charin_p3_eu_dcc_whitepaper_v1.pdf">ACER&#8217;s amendment proposals for the European Grid Codes (2026)</a></em>. It provides a detailed, EV/EVSE-focused breakdown of the proposed DCC amendments and is well worth reading if you want to go deeper.</p><div><hr></div><h2>The bottom line</h2><p>Grid codes are invisible to the end user &#8212; and that&#8217;s exactly the point. They&#8217;re the rules that keep the lights on when millions of devices are pulling power from the same system. As EV charging infrastructure scales, these rules are becoming more specific, more harmonised, and more relevant to our industry than ever.</p><p>The ACER amendments to the Demand Connection Code mark a turning point: for the first time, EV chargers and electric vehicles have their own dedicated set of EU-wide technical requirements. One standard. No national patchwork. That&#8217;s good for manufacturers, good for operators, and good for the grid.</p><p>The grid doesn&#8217;t care about your brand or your business model. It cares about physics. And grid codes are how we make sure physics wins.</p><p>You may wonder: but what about grid codes for V2G? And what role does OCPP and ISO 15118 play in relation to these grid codes? That, my dear friend, is a story for future articles. So stay tuned and watch out for more grid code / V2G related news in the coming weeks and months (and subscribe, if you haven&#8217;t done so yet).</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to</strong> <em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X).</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[ISO 15118 is no longer the future — it's becoming reality]]></title><description><![CDATA[Key insights from the ISO 15118 expert panel at Etrel's Re-Charging Days in Ljubljana]]></description><link>https://currentaffairs.io/p/iso-15118-is-no-longer-the-future-it-is-becoming-reality</link><guid isPermaLink="false">https://currentaffairs.io/p/iso-15118-is-no-longer-the-future-it-is-becoming-reality</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 03 Mar 2026 08:01:11 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/189645393/5f3e660b709104037da257d7868681bc.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>At the end of January 2026, Slovenian AC charging station manufacturer <a href="https://etrel.com/">Etrel</a> hosted their Re-Charging Days event in Ljubljana. One of the highlights was an expert panel discussion on ISO 15118 &#8212; the standard that defines how electric vehicles communicate with charging stations, enabling features like Plug &amp; Charge, smart charging, and Vehicle-to-Grid (V2G).</p><blockquote><p>Learn more about Plug &amp; Charge in my five-part articles series. It covers everything from market actors to cryptographic foundations and the complete workflow to create, install and use the all-important digital contract certificate that enables and secure seamless EV charging. All you need to know to master Plug &amp; Charge.</p></blockquote><p>The panel brought together perspectives from across the EV charging ecosystem: a standards expert (myself), two leading European charge point operators (CPOs), and a charger manufacturer&#8217;s R&amp;D lead. Here&#8217;s what they had to say.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Meet the panellists</h2><p><strong>Marc M&#252;ltin (myself)</strong>: Director of Technology Strategy &amp; Innovation at <a href="https://believ.com/">Believ</a> in the UK. I&#8217;m a globally recognised expert and co-author of ISO 15118 and OCPP 2.0.1. With a PhD in Computer Science and over 15 years in e-mobility, I have trained 80+ companies worldwide on EV communication standards and run this popular <strong>Current Affairs</strong> newsletter educating the industry on what&#8217;s really happening behind the scenes.</p><p><strong>Daniel Porubcs&#225;nszki</strong>: Charging Solutions Engineer at <a href="https://www.allego.eu/">Allego</a> in The Netherlands. Daniel works at one of Europe&#8217;s top CPOs, which operates over 34,000 public charging points across 16 countries. He brought the real-world deployment perspective &#8212; having personally driven the rollout of OCPP 2.0.1 and Plug &amp; Charge across Allego&#8217;s high-power DC charging network.</p><p><strong>Kasper Dahl</strong>: Responsible for Product Strategy and Portfolio at <a href="https://clever.dk/">Clever</a> in Denmark. Clever is the leading CPO in Denmark, operating both AC and DC chargers across public and semi-public locations. Kasper joined remotely and brought the market and user experience lens, particularly from a market where 90% of new car sales are already fully electric.</p><p><strong>Matej Anzin</strong>: Head of R&amp;D at <a href="https://etrel.com/">Etrel</a> in Slovenia. With over seven years at Etrel, first as R&amp;D Manager and now heading the department, Matej brought the charger manufacturer&#8217;s perspective on implementing ISO 15118 and the practical challenges of making it work in hardware.</p><p>The panel was moderated by <strong>Erazem &#352;tancar</strong>, Regional Sales Manager at Etrel.</p><p></p><h2>Key insights from the discussion</h2><p>You can listen to the full panel discussion in the audio recording linked above. Unfortunately, the video recording was corrupted &#8212; but look on the bright side: for once you get to hear my voice instead of just reading another one of my lengthy articles. </p><p>Below are the 11 highlights summarised.</p><h3>1. Regulation is driving adoption faster than expected</h3><p>One of the biggest drivers of ISO 15118 adoption is regulation and compliance. Since January 2026, all newly installed charging stations in the EU must support ISO 15118-2. As Daniel from Allego noted, Plug &amp; Charge interest and usage &#8220;is picking up and it&#8217;s more popular than we expected.&#8221; What was once a nice-to-have is now becoming a must-have, and the industry is responding.</p><h3>2. &#8220;Following the standard&#8221; isn&#8217;t enough for interoperability</h3><p>In theory, everyone implementing the same standard should guarantee interoperability. In practice, different interpretations of ISO 15118 &#8212; plus gaps in implementation &#8212; still cause systems that should work together to fail. I illustrated this with a concrete example: one message in ISO 15118 called <code>PowerDeliveryReq </code>(request message the EV sends to the charger) contains a parameter for the <code>ChargingProfile</code> that communicates how the EV intends to charge, and it&#8217;s marked as &#8220;optional.&#8221; But it&#8217;s only optional because the same message is used both to start and stop a session. When starting, the parameter is actually required. Some less diligent implementers skip it because it says &#8220;optional&#8221; &#8212; and interoperability goes down the drain.</p><h3>3. Compliance testing is only 50% of the effort</h3><p>Getting certified against the conformance test specifications (ISO 15118-4 and -5) is important, but it&#8217;s only half the battle. The other half is real-world interoperability testing, because you can be fully compliant with the standard and still run into issues. The interoperability testing events, also known as &#8220;Testivals&#8221;, have been running since around 2016 and hosted by CharIN since 2019 &#8212; since then also known as <a href="http://CharIN Testival">CharIN Testivals</a>. These events remain the best venue for discovering edge cases, until a comprehensive &#8220;golden test device&#8221; exists that covers all possible scenarios.</p><h3>4. Collaboration is the real bottleneck</h3><p>Plug &amp; Charge isn&#8217;t built by one player. It requires tight coordination between vehicle and charger manufacturers (aka OEMs), Charge Point Operators (CPOs), Mobility Service Providers (MSPs), and public key infrastructure (PKI) providers like Hubject or Irdeto. Daniel shared how it took significant cross-company effort to get Plug &amp; Charge working across Allego&#8217;s network with even just one charger vendor. The message: start working together as early as possible. Don&#8217;t wait until you think your implementation is &#8220;ready&#8221; &#8212; get it into testing with real partners immediately.</p><h3>5. Smart charging is a massive (and underappreciated) value driver</h3><p>While Plug &amp; Charge gets most of the attention, the panellists highlighted that smart charging &#8212; already possible with ISO 15118-2 &#8212; is an equally important value driver. I stressed that ISO 15118 is the only way to know how much energy the EV needs and when the driver intends to leave the charging station. Without these data points, real smart charging is impossible. And you don&#8217;t need the newer ISO 15118-20 for this &#8212; it&#8217;s already built into the existing standard.</p><h3>6. V2G is the biggest long-term business case</h3><p>For Kasper at Clever, the biggest value proposition of ISO 15118 is the potential for Vehicle-to-Grid services. Bidirectional charging, energy arbitrage (charging during cheap hours), and providing grid stability services represent a &#8220;very positive business case.&#8221; ISO 15118-20 is the key enabler for V2G, alongside wireless charging and Megawatt Charging. While some grid-side standardisation still needs to mature, the potential is enormous.</p><h3>7. Cybersecurity matters more than people realise</h3><p>Daniel emphasised that one of Allego&#8217;s primary motivations for moving to ISO 15118 was cybersecurity. The TLS-based security in ISO 15118 is a significant step up from RFID cards, which are trivially cloneable. As Daniel put it: &#8220;It&#8217;s just not that marketable to say we are doing the move because of cybersecurity&#8221; &#8212; but it&#8217;s becoming increasingly critical as the charging infrastructure scales.</p><h3>8. The charger screen is crucial for the user experience</h3><p>When Plug &amp; Charge goes wrong, the CPO often doesn&#8217;t know who the user is (since authentication failed), and therefore can&#8217;t send them a message via their app. The charger&#8217;s display becomes the only communication channel. I stressed that charger manufacturers need to enable CPOs to surface meaningful error information &#8212; not just &#8220;computer says no&#8221; but specific guidance like &#8220;your certificate has expired, please check with your mobility service provider.&#8221; I also noted the <a href="https://www.charin.global/news/din-dke-spec-99003-unified-error-codes/">CharIN initiative on unified error codes</a> across ISO 15118 and OCPP, which could be a significant step forward for troubleshooting.</p><h3>9. The RFID vs. Plug &amp; Charge conflict is real &#8212; and tricky</h3><p>A practical challenge the panellists discussed at length: what happens when a user plugs in their EV and it starts the Plug &amp; Charge process, but they actually want to use their RFID card? Or when someone swipes their card first and then plugs in? This can lead to &#8220;interruption errors&#8221; and even double-charging customers. One approach is  once the cable is plugged in, the RFID reader is blocked for a period to avoid conflicts. But this creates its own UX problems. I suggested that chargers could prompt users on screen: &#8220;Your car supports Plug &amp; Charge. Do you want to use it? Yes/No&#8221;,  giving them a 30-second window before defaulting to Plug &amp; Charge.</p><h3>10. Multi-contract handling is key for user convenience</h3><p>Not all charging sessions should go to the same billing account. I highlighted BMW as a good example: they support up to five different MSP contracts for Plug &amp; Charge, so drivers can choose which one to use &#8212; similar to selecting a different card in Apple Pay. This is particularly relevant for company car drivers who sometimes charge privately and sometimes on the company account. Some OEMs do a much better job than others at making Plug &amp; Charge activation intuitive in their in-car HMI. Some drivers don&#8217;t even know the feature exists in their car.</p><h3>11. Don&#8217;t reinvent the wheel</h3><p>ISO 15118 and OCPP 2.0.1 are becoming baseline capabilities, not differentiators. I pointed out that there are now a handful of proven software stack providers for charger manufacturers, including the open-source <a href="https://lfenergy.org/projects/everest/">EVerest</a> from Pionix, <a href="https://ecog.io/ecog-os">EcoG OS</a> from EcoG, and <a href="https://www.vector.com/int/en/products/products-a-z/software/vsecclib/">vSECClib</a> from Vector. Plus charge controllers you can get from vendors like <a href="https://chargebyte.com/">chargebyte</a> (for both EV and charger). The advice: use what&#8217;s proven, integrate it, and differentiate on other things &#8212; like user experience, hardware design, and smart services on top.</p><div><hr></div><h3>The Bottom Line</h3><p>ISO 15118 is transitioning from a niche technical standard to a foundational layer of the EV charging experience. The panellists agreed that we are likely just one to two years away from widespread rollout across Europe and the UK, and possibly also the US. But getting there requires more than technical compliance &#8212; it demands cross-industry collaboration, rigorous real-world testing, and an unrelenting focus on making the user experience seamless.</p><p>As Kasper from Clever put it: &#8220;If we start requiring customers to educate themselves or do things in a particular way, I think we&#8217;ve failed as an industry&#8221;.</p><p>The tech can be complex. The experience can&#8217;t be.</p><p>Below is also a short presentation from Etrel with some high-level insights from the panel discussion.</p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Re Charging Days 2026 Iso 15118 Insights</div><div class="file-embed-details-h2">4.96MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://currentaffairs.io/api/v1/file/1ab3e9ec-9853-4aa4-a247-5ebc88da68c5.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://currentaffairs.io/api/v1/file/1ab3e9ec-9853-4aa4-a247-5ebc88da68c5.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X).</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How EVs, chargers and the CPMS talk: a tech deep dive into smart charging]]></title><description><![CDATA[Understanding the protocol handshake that enables dynamic load management, price signals, and grid integration]]></description><link>https://currentaffairs.io/p/how-evs-chargers-and-the-cpms-talk-a-tech-deep-dive-into-smart-charging</link><guid isPermaLink="false">https://currentaffairs.io/p/how-evs-chargers-and-the-cpms-talk-a-tech-deep-dive-into-smart-charging</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 17 Feb 2026 07:02:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3ZSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You plug in your EV, tap your card or app (or not if both &#8220;speak&#8221; Plug &amp; Charge), and power flows. Simple, right? Well, behind that simple act is a surprisingly sophisticated three-way conversation happening between your car, the charger, and a backend system somewhere in the cloud. </p><p>In this article, I&#8217;ll walk you through exactly how smart charging works when ISO 15118-2 (EV-to-charger communication) meets OCPP 2.0.1 (charger-to-backend communication). By the end, you&#8217;ll understand:</p><ul><li><p><strong>The complete message flow</strong> from when an EV states its charging needs (<code>ChargeParameterDiscoveryReq</code>) through to the backend&#8217;s response (<code>SetChargingProfileRequest</code>) and back to the vehicle</p></li><li><p><strong>What data the EV actually shares</strong> &#8212; and critically, what it doesn&#8217;t (spoiler: SOC is mandatory, but energy capacity and need are optional, which can create a real problem for CPOs)</p></li><li><p><strong>How charging schedules are built</strong> &#8212; the layered profile system, composite schedules, and the &#8220;minimum of all limits&#8221; rule that guarantees safety</p></li><li><p><strong>Mid-session renegotiation</strong> &#8212; what happens when grid conditions change or the driver updates their departure time</p></li><li><p><strong>Why this matters commercially</strong> &#8212; from fleet depot optimisation to future V2G revenue streams</p></li></ul><p>I&#8217;ll use a VW ID.4 as our example vehicle throughout, with actual message structures and realistic parameters. Whether you&#8217;re a CPO trying to implement smart charging, an EV or charger manufacturer working on protocol compliance, or just a curious techie wanting to understand the mechanics, this should give you a solid foundation.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3ZSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3ZSy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 424w, https://substackcdn.com/image/fetch/$s_!3ZSy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 848w, https://substackcdn.com/image/fetch/$s_!3ZSy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 1272w, https://substackcdn.com/image/fetch/$s_!3ZSy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3ZSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png" width="1456" height="1046" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1046,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:554318,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/187292862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3ZSy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 424w, https://substackcdn.com/image/fetch/$s_!3ZSy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 848w, https://substackcdn.com/image/fetch/$s_!3ZSy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 1272w, https://substackcdn.com/image/fetch/$s_!3ZSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bd0b1ad-ba23-4e9e-9335-a748b0ae7471_1456x1046.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The cast of characters</h2><p>Before we dive in, let&#8217;s meet our three protagonists:</p><p>The <strong>Electric Vehicle (EV)</strong> knows how much energy it needs, when you want to leave (provided that you input this information in the car OEM&#8217;s in-car or mobile app), and what its battery can handle. It communicates this through ISO 15118 &#8212; a protocol that runs over the charging cable itself (yes, the cable carries both power and data).</p><p>The <strong>Charging Station</strong> is the intermediary. It speaks ISO 15118 to the car and OCPP to the cloud. ISO 15118 actually refers to that specific communication component inside the charger as the <strong>SECC</strong> (Supply Equipment Communication Controller).</p><p>The <strong>Charge Point Management System (CPMS)</strong> is the brains of the operation. It sits in the cloud, monitors the entire network, and decides how much power each charger can deliver based on power available at the site, grid constraints, energy prices, or whatever other factors the operator cares about.</p><h2>Act one: the EV states its case</h2><p>When your EV plugs in and high-level communication (via ISO 15118) kicks off, the first substantive exchange is the <strong>ChargeParameterDiscovery</strong>. This is where your car essentially says: &#8220;Here&#8217;s what I need, what I can handle, and when I&#8217;d like to be done.&#8221;</p><p>In ISO 15118-2, the EV sends a <code>ChargeParameterDiscoveryReq</code> message containing its charging parameters. For DC charging, this looks something like:</p><pre><code><code>ChargeParameterDiscoveryReq (ISO 15118-2)
EV &#8594; Charging Station
&#9500;&#9472; RequestedEnergyTransferMode: DC                        [MANDATORY]
&#9500;&#9472; MaxEntriesSAScheduleTuple: 12                          [optional]
&#9492;&#9472; DC_EVChargeParameter:
    &#9500;&#9472; DC_EVStatus:                                       [MANDATORY]
    &#9474;   &#9500;&#9472; EVReady: true                                  [MANDATORY]
    &#9474;   &#9500;&#9472; EVErrorCode: NO_ERROR                          [MANDATORY]
    &#9474;   &#9492;&#9472; EVRESSSOC: 20%                                 [MANDATORY]
    &#9500;&#9472; EVMaximumCurrentLimit: 350 A                       [MANDATORY]
    &#9500;&#9472; EVMaximumVoltageLimit: 408 V                       [MANDATORY]
    &#9500;&#9472; EVMaximumPowerLimit: 135000 W                      [optional]
    &#9500;&#9472; EVEnergyCapacity: 77000 Wh                         [optional]
    &#9500;&#9472; EVEnergyRequest: 54000 Wh                          [optional]
    &#9500;&#9472; DepartureTime: 7200 (seconds from now)             [optional]
    &#9500;&#9472; FullSOC: 100%                                      [optional]
    &#9492;&#9472; BulkSOC: 80% (when to start reducing power)        [optional]</code></code></pre><p>Let&#8217;s unpack these values and use the example of a mid-size EV, the ID.4. It has a 400 V-class battery architecture with a nominal voltage around 352V (96 cells in series at 3.67 V nominal). </p><p>The <code>EVMaximumVoltageLimit</code> of 408 V represents the upper voltage when nearly full. The <code>EVMaximumCurrentLimit</code> of 350 A combined with voltage gives us roughly 125-135 kW peak charging power (P = V x A) . </p><blockquote><p><strong>Educate your EV drivers on available charging power &#8212; they&#8217;ll thank you</strong></p><p>There&#8217;s a lack of communication and education about the maximum power available at a charger and the maximum power the vehicle&#8217;s battery can be charged with. In my last article on <em><a href="https://currentaffairs.io/p/a-clear-guide-to-load-management-phase-rotation-and-smart-charging">A clear guide to load management, phase rotation, and smart charging</a>, </em>I explained that the actual delivered power will be the minimum of the charger&#8217;s capability, the cable capacity, and the vehicle&#8217;s acceptance rate. </p><p>If you&#8217;re charging at a 350 kW charger but the maximum charging power doesn&#8217;t climb beyond the 135 kW mark, then maybe it&#8217;s not the charger or CPO (Charge Point Operator) at fault &#8212; maybe it&#8217;s just your EV not being able to take more power in. </p><p>The CPO who clearly communicates (and explains) the real available charging speed via the charger&#8217;s display, app, and roaming partners will be rewarded with the trust and high CSAT rating of their EV drivers. Keep that in mind.</p></blockquote><p>Alright, sorry for that slight detour, let&#8217;s get back to the elements of the <code>ChargeParameterDiscovery</code> message.<strong> </strong></p><p>Notice something frustrating here? <strong>EVRESSSOC<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong> (the current state of charge) is mandatory, but <strong>EVEnergyCapacity</strong> and <strong>EVEnergyRequest</strong> are optional. This can create a real problem for smart charging decisions.</p><p>If you&#8217;re a CPO trying to calculate how much energy a vehicle needs, the ideal information is the <strong>energy amount</strong> directly &#8212; either through <code>EVEnergyRequest</code> (the energy the EV needs for a full charge) or by calculating it from <code>EVEnergyCapacity </code>(the size of the vehicle&#8217;s battery in kWh, e.g. 77 kWh for an ID.4) and <code>EVRESSSOC</code>. But if an EV implementation only sends the mandatory EVRESSSOC of 20% without the battery capacity, you&#8217;re stuck. Is that 20% of a 45 kWh battery (needing ~36 kWh) or a 77 kWh battery (needing ~62 kWh)? You simply don&#8217;t know.</p><p>Why did ISO 15118-2 make this design choice? The thinking was likely around vehicle manufacturer concerns &#8212; battery capacity can be commercially sensitive information, and some OEMs preferred not to expose it. But the practical result is that CPOs sometimes receive &#8220;I&#8217;m at 25% SOC&#8221; without any way to translate that into an actionable energy need. To be honest, beats me why <code>EVEnergyRequest</code> wasn&#8217;t made mandatory. (Once you start working in standardisation, you realise that not every decision is logical &#8212; there&#8217;s often corporate politics involved.) </p><p>Well, in any case, I hope <strong>EV manufacturers </strong>do opt to <strong>send at least EVEnergyRequest, otherwise you&#8217;re doing the world a big disservice.</strong></p><p>For AC charging, the situation is actually better. The <code>AC_EVChargeParameter</code> includes <strong>EAmount</strong> (energy amount) as a mandatory parameter, which means the EV directly states how much energy it wants in Wh. This is far more useful for scheduling:</p><pre><code><code>AC_EVChargeParameter:
&#9500;&#9472; DepartureTime: 7200                                    [optional]
&#9500;&#9472; EAmount: 54000 Wh                                      [MANDATORY]
&#9500;&#9472; EVMaxVoltage: 400 V                                    [MANDATORY]
&#9500;&#9472; EVMaxCurrent: 16 A                                     [MANDATORY]
&#9492;&#9472; EVMinCurrent: 6 A                                      [MANDATORY]</code></code></pre><p>The lesson for CPOs: when DC charging without <code>EVEnergyRequest</code> or <code>EVEnergyCapacity</code>, you may need fallback strategies &#8212; perhaps making conservative assumptions. And when evaluating EVSE implementations, check whether they&#8217;re configured to request and forward these optional-but-critical parameters.</p><p>The parameter <code>MaxEntriesSAScheduleTuple</code> tells the charging station how many charging schedule entries (basically the maximum amount of time intervals and associated max. power values) it can computationally handle. </p><p>The rest of the message should be rather self-explanatory.</p><p>One more parameter deserves attention: <strong>DepartureTime</strong>. If you&#8217;ve ever told your car &#8220;I&#8217;m leaving at 7 AM,&#8221; this is where that information gets used. The EV communicates when you intend to unplug, which opens up possibilities for spreading your charge across off-peak hours rather than blasting your EV with maximum power immediately. The value is given in seconds, as an offset from the moment the message is sent. </p><p>If no departure time is provided, the standard says to assume the driver wants charging to start immediately without delay. Fair enough, most people do want their car charged sooner rather than later.</p><h2>Act two: the charger phones home</h2><p>Here&#8217;s where things get interesting. The charging station receives the EV&#8217;s wish list and immediately needs to check with the cloud-based CPMS that manages the EV charging network. In OCPP 2.0.1, it does this by sending a <code>NotifyEVChargingNeedsRequest</code> to the CPMS:</p><pre><code><code>NotifyEVChargingNeedsRequest (OCPP 2.0.1)
Charging Station &#8594; CPMS
&#9500;&#9472; evseId: 2                                           [MANDATORY]
&#9500;&#9472; chargingNeeds:                                      [MANDATORY]
&#9474;   &#9500;&#9472; requestedEnergyTransfer: DC                     [MANDATORY]
&#9474;   &#9500;&#9472; departureTime: "2026-02-08T16:30:00Z"           [optional]
&#9474;   &#9492;&#9472; dcChargingParameters:
&#9474;       &#9500;&#9472; evMaxCurrent: 350                           [MANDATORY]
&#9474;       &#9500;&#9472; evMaxVoltage: 408                           [MANDATORY]
&#9474;       &#9500;&#9472; evMaxPower: 135000                          [optional]
&#9474;       &#9500;&#9472; stateOfCharge: 20                           [optional]
&#9474;       &#9500;&#9472; evEnergyCapacity: 77000                     [optional]
&#9474;       &#9492;&#9472; energyAmount: 61600                         [optional]
&#9474;       &#9500;&#9472; fullSOC: 100                                [optional]
&#9474;       &#9492;&#9472; bulkSOC: 80                                 [optional]
&#9492;&#9472; maxScheduleTuples: 12                               [optional]</code></code></pre><p>The CPMS now knows what kind of charging is requested (DC), the departure time, and all the electrical parameters. Note that OCPP 2.0.1 makes most DC charging parameters optional &#8212; inheriting the same limitation from ISO 15118. </p><blockquote><p><strong>How to capture the vehicle&#8217;s energy need if the EV won&#8217;t tell (DC charging)</strong></p><p>A CPMS might receive just the SOC without the battery capacity or requested energy need (please, dear car manufacturers, don&#8217;t do that), making it impossible to calculate the actual energy need. Robust implementations handle this by using vehicle identification data to look up typical battery sizes for known models &#8212; if you&#8217;re able to identify the <strong>EV make and model, </strong>which is <strong>not communicated via ISO 15118</strong>. One way would be to capture this information in the CPO&#8217;s mobile app if the EV driver uses the CPO&#8217;s app to start the charging session and provides the vehicle details in their user profile. Another way could be a smart integration with vehicle telematics data.</p></blockquote><p>The CPMS has about 60 seconds to respond &#8212; that&#8217;s the ISO 15118 timeout constraint. It&#8217;s tighter than you might expect for a system that needs to potentially coordinate with grid operators or dynamic pricing systems. At the same time, you don&#8217;t want to let the EV driver wait for too long before power delivery starts.</p><p>During this waiting period, the charging station will send interim <code>ChargeParameterDiscoveryRes</code> messages back to the EV with the parameter <code>EVSEProcessing</code> set to &#8220;Ongoing&#8221; &#8212; essentially saying &#8220;hang on, still working on it.&#8221; This keeps the ISO 15118 session alive while the CPMS does its calculations.</p><p>This is a game-changer compared to OCPP 1.6. Previously, the CPMS could send charging schedules to stations but had no visibility into what vehicles actually needed. It was like a restaurant kitchen cooking without knowing what customers ordered. Now, the CPMS can see the difference between a driver who needs 10 kWh before leaving in 30 minutes versus one who needs 50 kWh but has 8 hours available &#8212; assuming the EV provides that information.</p><h2>Act three: the CPMS calculates a schedule</h2><p>The CPMS now has everything it needs to compute an optimised charging schedule. It evaluates the request against current conditions: other active sessions at this site, forecasted grid capacity, energy prices over the charging window, and &#8212; crucially &#8212; the vehicle&#8217;s stated needs and flexibility.</p><p>In our example, the ID.4 requested 61.6 kWh (from 20% on a 77 kWh battery) with a 2-hour window. That&#8217;s an average of 31 kW minimum &#8212; but the schedule can be cleverer than a flat line. The CPMS might see that grid prices are high for the next 30 minutes but drop significantly after that. Or it might know that another vehicle at the same site is about to finish, freeing up capacity.</p><pre><code><code>Example CPMS calculation:

Vehicle: VW ID.4 (77 kWh battery, 135 kW max DC)
Energy need: 61.6 kWh before departure at 16:30
Current time: 14:30

Time: 14:30-15:00 &#8594; Grid constrained, price HIGH
  Schedule: 50 kW &#215; 0.5h = 25 kWh

Time: 15:00-15:30 &#8594; More capacity available, price MEDIUM  
  Schedule: 100 kW &#215; 0.5h = 50 kWh

Time: 15:30-16:30 &#8594; Ample capacity, price LOW
  Schedule: 30 kW &#215; 1.0h = 30 kWh

Total: 105 kWh capacity offered (exceeds 61.6 kWh need &#10003;)
Peak: 100 kW (within vehicle's 135 kW limit &#10003;)</code></code></pre><p>Why not just blast 100+ kW continuously? Because the grid operator might have signalled capacity constraints, because electricity costs more during peak hours, or because another vehicle on the same site connection needs power too. Smart charging is about finding the optimal path, not the fastest one.</p><blockquote><p><strong>Communicate active smart charging to your EV drivers</strong></p><p>Again, the CPO who transparently communicates that smart charging is active wins brownie points. How many times have I pulled up to a 350 kW HPC charger in an EV capable of 250+ kW peak &#8212; needing a quick top-up &#8212; only to watch the display frustratingly max out at around 100 kW. Not great at all.</p></blockquote><p>The CPMS then sends a <code>SetChargingProfileRequest</code> back to the charging station. </p><pre><code><code>SetChargingProfileRequest (OCPP 2.0.1)
CPMS &#8594; Charging Station
&#9500;&#9472; evseId: 2                                           [MANDATORY]
&#9492;&#9472; chargingProfile:                                    [MANDATORY]
    &#9500;&#9472; id: 7891                                        [MANDATORY]
    &#9500;&#9472; stackLevel: 1                                   [MANDATORY]
    &#9500;&#9472; chargingProfilePurpose: TxProfile               [MANDATORY]
    &#9500;&#9472; chargingProfileKind: Absolute                   [MANDATORY]
    &#9500;&#9472; transactionId: "TXN_20260208_001"               [optional]
    &#9492;&#9472; chargingSchedule:                               [MANDATORY]
        &#9500;&#9472; id: 1                                       [MANDATORY]
        &#9500;&#9472; startSchedule: "2026-02-08T14:30:00Z"       [optional]
        &#9500;&#9472; chargingRateUnit: W                         [MANDATORY]
        &#9492;&#9472; chargingSchedulePeriod:                     [MANDATORY]
            &#9500;&#9472; { startPeriod: 0, limit: 30000 }        
            &#9500;&#9472; { startPeriod: 1800, limit: 100000 }     
            &#9492;&#9472; { startPeriod: 3600, limit: 30000 }     
&#9492;&#9472; status: Accepted                                    [MANDATORY]</code></code></pre><p>This profile tells the charging station that it applies to EVSE 2 (probably the charger&#8217;s right socket) as follows: start at 30 kW for the first 30 minutes (1800 seconds), ramp up to 100 kW for the next 30 minutes, then back down to 30 kW. The charging station is expected to adjust its output as each period begins.</p><p>Remember that this is a DC charging session. In case of an AC charging session, the <code>chargingSchedule</code> can contain optional <code>numberOfPhases</code> and <code>phaseToUse</code> parameters to allow for more fine-grained, phase-specific load balancing.</p><p>The parameters <code>stackLevel</code> and <code>chargingProfilePurpose</code> are foundational concepts that have been adopted from the previous version OCPP 1.6. I&#8217;ve introduced them in <a href="https://currentaffairs.io/i/185652187/ocpp-16-the-foundation-of-smart-charging">my last article</a> but we&#8217;ll recap them briefly further down. </p><h2>Translating back to the EV</h2><p>Once the charging station has its marching orders from the CPMS, it needs to communicate this back to the EV in ISO 15118 terms. It does this through the <strong>SAScheduleList</strong> in the <code>ChargeParameterDiscoveryRes</code> message:</p><pre><code><code>ChargeParameterDiscoveryRes (ISO 15118-2)
Charging Station &#8594; EV
&#9500;&#9472; ResponseCode: OK                                                  [MANDATORY]
&#9500;&#9472; EVSEProcessing: Finished                                          [MANDATORY]
&#9492;&#9472; SAScheduleList:                                                   [MANDATORY]
    &#9492;&#9472; SAScheduleTuple:                                              [MANDATORY]
        &#9500;&#9472; SAScheduleTupleID: 1                                      [MANDATORY]
        &#9500;&#9472; PMaxSchedule:                                             [MANDATORY]
        &#9474;   &#9500;&#9472; Entry 1: start=0s, PMax=50000W, duration=1800s
        &#9474;   &#9500;&#9472; Entry 2: start=1800s, PMax=100000W, duration=1800s
        &#9474;   &#9492;&#9472; Entry 3: start=3600s, PMax=30000W, duration=3600s
        &#9492;&#9472; SalesTariff:                                              [optional]
            &#9500;&#9472; Entry 1: start=0s, EPriceLevel=3 (HIGH)
            &#9500;&#9472; Entry 2: start=1800s, EPriceLevel=2 (MEDIUM)
            &#9492;&#9472; Entry 3: start=3600s, EPriceLevel=1 (LOW)
&#9500;&#9472; DC_EVSEChargeParameter:                                           [MANDATORY]
&#9474;   &#9500;&#9472; DC_EVSEStatus:                                                [MANDATORY]
&#9474;   &#9474;   &#9500;&#9472; EVSEIsolationStatus: Valid                                [optional]
&#9474;   &#9474;   &#9500;&#9472; EVSEStatusCode: EVSE_Ready                                [MANDATORY]
&#9474;   &#9474;   &#9492;&#9472; EVSENotification: None                                    [MANDATORY]
&#9474;   &#9474;   &#9492;&#9472; EVSENotificationMaxDelay: 0                               [MANDATORY]
&#9474;   &#9500;&#9472; EVSEMaximumCurrentLimit: 400 A                                [MANDATORY]
&#9474;   &#9500;&#9472; EVSEMaximumPowerLimit: 150000 W                               [MANDATORY]
&#9474;   &#9500;&#9472; EVSEMaximumVoltageLimit: 500 V                                [MANDATORY]
&#9474;   &#9500;&#9472; EVSEMinimumCurrentLimit: 0 A                                  [MANDATORY]
&#9474;   &#9500;&#9472; EVSEMinimumVoltageLimit: 150 V                                [MANDATORY]
&#9474;   &#9500;&#9472; EVSECurrentRegulationTolerance: 5 A                           [optional]
&#9474;   &#9500;&#9472; EVSEPeakCurrentRipple: 2 A                                    [MANDATORY]
&#9474;   &#9492;&#9472; EVSEEnergyToBeDelivered: 54000 Wh                             [optional]</code></code></pre><p>ISO 15118 uses the concept of <strong>Secondary Actor Schedule Tuples</strong> (SA = Secondary Actor, meaning schedules from an external source like the CPMS). Each tuple contains a <strong>PMaxSchedule</strong>, which is a list of time periods with maximum power values. </p><p>The EV can be offered up to three different schedule options. The first schedule in the list is defined as the default. If the EV isn&#8217;t sophisticated enough to optimise (or just doesn&#8217;t care), it picks this one.</p><p>Remember the <code>MaxEntriesSAScheduleTuple</code> value from the previous <code>ChargeParameterDiscoveryReq</code> message? If this PMaxSchedule had more than 12 entries, the EV might not be able to process this message or simply ignore anything but the first 12 entries of the schedule. But in our example, we&#8217;re safe with just three schedule entries.</p><p>Notice the <strong>SalesTariff</strong>? ISO 15118-2 intentionally uses relative price indicators like levels 1-3 (level 1 indicates cheaper than level 3) or percentage-based indicators (such as &#8220;this interval is 75% of the reference energy price&#8221;) rather than actual currency values to enable the EVs to optimise charging based on cost signals. This abstraction was intentionally designed to shield actual tariff details from the Charge Point Operator (CPO), keeping what was back in the days considered as commercially sensitive pricing information between the Mobility Service Provider (MSP) and the driver. In practice, I haven&#8217;t encountered anyone who has implemented SalesTariff-based smart charging optimisation. If you have, I&#8217;d be genuinely interested to hear about it. The design reflects the market assumptions of 2010&#8211;2014 when ISO 15118-2 was developed, a period when the relationships between CPOs, MSPs, and grid operators were envisioned quite differently than they&#8217;ve evolved today.</p><p>ISO 15118-20 goes further, introducing actual currency amounts for truly transparent pricing.</p><h2>The EV makes its choice</h2><p>This is where smart charging gets properly smart. The EVSE isn&#8217;t forcing anything &#8212; it&#8217;s presenting options. The EV evaluates the offered schedule against its battery management needs and commits to a plan in the <code>PowerDeliveryReq</code> message:</p><pre><code><code>PowerDeliveryReq (ISO 15118-2)
EV &#8594; Charging Station
&#9500;&#9472; ChargeProgress: Start                            [MANDATORY]
&#9500;&#9472; SAScheduleTupleID: 1                             [MANDATORY]
&#9492;&#9472; ChargingProfile:                                 [MANDATORY if ChargeProgress=Start]
    &#9500;&#9472; ProfileEntry 1: start=0s, power=25000W      (ramp-up: 10 min &#215; 25 kW = 4.17 kWh)
    &#9500;&#9472; ProfileEntry 2: start=600s, power=30000W   (at limit: 20 min &#215; 30 kW = 10.0 kWh)
    &#9500;&#9472; ProfileEntry 3: start=1800s, power=95000W    (ramp-up: 5 min &#215; 95 kW = 7.92 kWh)
    &#9500;&#9472; ProfileEntry 4: start=2100s, power=100000W   (peak: 15 min &#215; 100 kW = 25.0 kWh)
    &#9500;&#9472; ProfileEntry 5: start=3000s, power=80000W    (taper: 8 min &#215; 80 kW = 10.67 kWh)
    &#9492;&#9472; ProfileEntry 6: start=3480s, power=48000W    (final taper: 4.75 min &#215; 48 kW = 3.8 kWh)</code></code></pre><p>Notice something interesting? The EV&#8217;s actual <code>ChargingProfile</code> has more granular periods than the offered <code>PMaxSchedule</code>. The vehicle&#8217;s battery management system creates an optimal profile that respects the constraints but ramps power up and down smoothly. As long as it stays within the offered envelope, the charger must accept it.</p><p>This is a key principle: the charger offers constraints, but the vehicle controls the actual charging behaviour within those constraints. The EV might choose to charge more gently to preserve battery longevity, or it might push harder early in the session when the battery can accept more current. That&#8217;s the vehicle&#8217;s decision to make.</p><p>The charging station then reports this actual schedule back to the CPMS via <code>NotifyEVChargingScheduleRequest</code>, so the backend knows what&#8217;s <em>really</em> going to happen &#8212; not just what was offered. This enables accurate load forecasting: if the CPMS offered 30 kW but the vehicle committed to only 25 kW, that 5 kW difference might be available for another session.</p><h2>The charging loop: a continuous dialogue</h2><p>Once charging starts, the conversation doesn&#8217;t stop. For AC charging, the EV periodically sends <code>ChargingStatusReq</code> messages, which are empty messages just to keep the communication loop alive. For DC charging, it&#8217;s <code>CurrentDemandReq</code>, which carries real information about what the vehicle is actually drawing:</p><pre><code><code>CurrentDemandReq (ISO 15118-2)
EV &#8594; Charging Station
&#9500;&#9472; DC_EVStatus:                                              [MANDATORY]
&#9474;   &#9500;&#9472; EVReady: true                                         [MANDATORY]
&#9474;   &#9500;&#9472; EVErrorCode: NO_ERROR                                 [MANDATORY]
&#9474;   &#9492;&#9472; EVRESSOC: 45%                                         [MANDATORY]
&#9500;&#9472; EVTargetCurrent: 280 A (current the EV requests now)      [MANDATORY]
&#9500;&#9472; EVTargetVoltage: 380 V (voltage the EV requests now)      [MANDATORY]
&#9500;&#9472; EVMaximumVoltageLimit: 408 V                              [optional]
&#9500;&#9472; EVMaximumCurrentLimit: 350 A                              [optional]
&#9500;&#9472; EVMaximumPowerLimit: 135000 W                             [optional]
&#9500;&#9472; BulkChargingComplete: false (true when reaching 80% SOC)  [optional]
&#9500;&#9472; ChargingComplete: false                                   [MANDATORY]
&#9500;&#9472; RemainingTimeToFullSoC: 2700 s (45 min)                   [optional]
&#9492;&#9472; RemainingTimeToBulkSoC: 1200 s (20 min)                   [optional]</code></code></pre><p>All these values should be rather self-explanatory. <code>EVMaximumVoltageLimit</code>, <code>EVMaximumCurrentLimit</code>, and <code>EVMaximumPowerLimit</code> can change during charging (e.g. as battery heats up, the BMS may reduce limits).</p><p>The EV sends this message cyclically during DC charging (typically every 250ms to 1s), continuously updating its current request based on battery state. The EVSE responds with <code>CurrentDemandRes</code> containing the actual voltage and current being delivered.</p><p>All this time, the charging station sends <code>TransactionEventRequest</code> messages with <code>eventType=Updated</code> to the CPMS, keeping the backend up to date about the latest measured meter values:</p><pre><code><code>TransactionEventRequest (OCPP 2.0.1)
Charging Station &#8594; CPMS
&#9500;&#9472; eventType: Updated                                                      [MANDATORY]
&#9500;&#9472; timestamp: "2026-02-08T14:45:00Z"                                       [MANDATORY]
&#9500;&#9472; triggerReason: MeterValuePeriodic                                       [MANDATORY]
&#9500;&#9472; seqNo: 5                                                                [MANDATORY]
&#9500;&#9472; transactionId: "TXN_20260208_001"                                       [MANDATORY]
&#9492;&#9472; meterValue:                                                             [optional]
    &#9500;&#9472; timestamp: "2026-02-08T14:45:00Z"                                   [MANDATORY]
    &#9492;&#9472; sampledValue:                                                       [MANDATORY]
        &#9500;&#9472; { value: 25500, measurand: Power.Active.Import, unit: W }
        &#9500;&#9472; { value: 380, measurand: Voltage, unit: V }
        &#9492;&#9472; { value: 67, measurand: Current.Import, unit: A }</code></code></pre><p>This three-way conversation continues until someone decides to end the session &#8212; whether that&#8217;s the driver unplugging, the EV reaching its target state of charge, or an external event forcing a stop.</p><p>To tie everything together mentally (and visually), I&#8217;ve created a sequence diagram illustrating the ISO 15118-2 messages between the EV and charger and OCPP 2.0.1 messages between charger and cloud-based CPMS during a smart charging session. Note that I left any external charging limits (e.g. from an energy management system or DSO) or renegotiation of charge parameters out to keep the diagram cleaner.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QKq6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QKq6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 424w, https://substackcdn.com/image/fetch/$s_!QKq6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 848w, https://substackcdn.com/image/fetch/$s_!QKq6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 1272w, https://substackcdn.com/image/fetch/$s_!QKq6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QKq6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png" width="1456" height="3026" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3026,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:157444,&quot;alt&quot;:&quot;Message exchange between EV, charger and CPMS during smart charging&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/187292862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Message exchange between EV, charger and CPMS during smart charging" title="Message exchange between EV, charger and CPMS during smart charging" srcset="https://substackcdn.com/image/fetch/$s_!QKq6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 424w, https://substackcdn.com/image/fetch/$s_!QKq6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 848w, https://substackcdn.com/image/fetch/$s_!QKq6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 1272w, https://substackcdn.com/image/fetch/$s_!QKq6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98028b1d-7ae6-47a5-8ffb-7c8cba02a51d_1797x3735.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Message exchange between EV, charger and CPMS during smart charging</figcaption></figure></div><h2>The layered world of charging profiles</h2><p>OCPP 1.6 introduced a sophisticated system of layered charging profiles, which OCPP 2.0.1 continues to build upon. There are four profile <strong>purposes</strong>, each serving a different role:</p><p><strong>ChargingStationMaxProfile</strong> sets the absolute ceiling &#8212; typically based on the grid connection&#8217;s physical limits. Set at evseId=0 (station level), this caps total power across all EVSEs.</p><p><strong>TxDefaultProfile</strong> provides default schedules for new transactions &#8212; site-wide policies like reducing power during peak hours.</p><p><strong>TxProfile</strong> is transaction-specific and overrides TxDefaultProfile for that particular session. This is what the CPMS sends in response to the EV&#8217;s charging needs.</p><p><strong>ChargingStationExternalConstraints</strong> has been newly introduced in OCPP 2.0.1 and captures limits from external systems like a home energy management system, a DSO (Distributed System Operator) signal, or any source outside OCPP. The CPMS cannot create these; they&#8217;re reported to it via <code>NotifyChargingLimitRequest</code>.</p><p>These charging profiles are all layered together to determine, at any moment, the effective power limit: it is the <em>minimum</em> across all applicable profiles:</p><pre><code><code>Active profiles at 14:30:
&#9500;&#9472; ChargingStationMaxProfile: 100 kW
&#9500;&#9472; TxDefaultProfile: 50 kW (but overridden by TxProfile)
&#9500;&#9472; TxProfile: 30 kW
&#9492;&#9472; ExternalConstraints (from DSO): 30 kW

Composite schedule = min(100, 30, 30) = 30 kW</code></code></pre><p>The DSO&#8217;s external constraint becomes the binding limit. Safety and grid stability trump individual preferences, as they should.</p><p>Each profile type also supports <strong>stack levels</strong>, allowing multiple profiles of the same purpose to coexist. Higher stack levels override lower ones within the same purpose. Want to limit charging during peak hours on weekdays but not on Christmas Day? Stack a holiday exception at a higher level.</p><h2>Visibility: the composite schedule</h2><p>With all these layers, how does anyone know what&#8217;s actually happening? The CPMS can query the effective schedule via <code>GetCompositeScheduleRequest</code>:</p><pre><code><code>GetCompositeScheduleRequest (OCPP 2.0.1)
CPMS &#8594; Charging Station
&#9500;&#9472; duration: 7200                               [MANDATORY]
&#9500;&#9472; chargingRateUnit: W                          [optional]
&#9492;&#9472; evseId: 2                                    [MANDATORY]

GetCompositeScheduleResponse
&#9500;&#9472; status: Accepted                             [MANDATORY]
&#9492;&#9472; schedule:                                    [MANDATORY if status=Accepted]
    &#9500;&#9472; evseId: 2                                [MANDATORY]
    &#9500;&#9472; duration: 7200                           [MANDATORY]
    &#9500;&#9472; scheduleStart: "2026-02-08T14:30:00Z"    [MANDATORY]
    &#9500;&#9472; chargingRateUnit: W                      [MANDATORY]
    &#9492;&#9472; chargingSchedulePeriod: [merged result of all profiles]  [MANDATORY]</code></code></pre><p>One subtlety: the composite schedule reflects <em>expected</em> consumption, not just offered limits. If the EV indicated it will taper to 20 kW as its battery fills, that&#8217;s what appears in the composite &#8212; useful for accurate load forecasting at the grid level.</p><h2>When things change mid-session</h2><p>Real grids are dynamic. A cloud passes over a solar installation. Another EV plugs in at a shared connection. The grid operator issues a demand response event. What happens?</p><p>Say a DSO sends a curtailment signal at 15:15:</p><pre><code><code>NotifyChargingLimitRequest (OCPP 2.0.1)
Charging Station &#8594; CPMS
&#9500;&#9472; chargingLimit:                             [MANDATORY]
&#9474;   &#9500;&#9472; chargingLimitSource: EMS               [MANDATORY]
&#9474;   &#9492;&#9472; isGridCritical: true                   [optional]
&#9500;&#9472; evseId: 0                                  [optional]
&#9492;&#9472; chargingSchedule: [updated constraints]    [optional]</code></code></pre><p>The charging station recalculates its composite schedule. For ISO 15118 sessions, this may trigger a <strong>renegotiation</strong> with the EV &#8212; looping back to <code>ChargeParameterDiscovery</code> to establish new parameters.</p><p>The EV can also initiate renegotiation if the driver changes their departure time or the battery reaches unexpected conditions. When this happens, the charging station sends a <code>NotifyEVChargingScheduleRequest</code> to keep the CPMS informed.</p><p>One practical detail: not every fluctuation triggers notifications. The configuration variable <code>LimitChangeSignificance</code> &#8212; part of the controller component <code>SmartChargingCtrlr</code><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> &#8212; defines a threshold (as a percentage) below which changes need not be reported. This prevents message floods when e.g. a home energy management system makes minor adjustments every few seconds.</p><h2>What happens when the network goes down?</h2><p>Charging stations need to handle offline scenarios gracefully. All ChargingProfiles set via OCPP must persist across reboots and power cycles. If the station loses connectivity to the CPMS:</p><ul><li><p><strong>TxProfile</strong>: Continues executing until the transaction ends</p></li><li><p><strong>TxDefaultProfile</strong>: Applies to any new transaction started while offline</p></li><li><p><strong>ChargingStationMaxProfile</strong>: Always enforced &#8212; these are safety limits</p></li></ul><p>For authorisation during offline periods, stations can use local authorisation lists (pre-provisioned tokens) or an authorisation cache of previously-approved tokens. The transaction proceeds with whatever profiles were last installed, and events are queued for upload when connectivity returns.</p><h2>A note on AC charging and phase management</h2><p>While I&#8217;ve focused mostly on DC examples, AC charging has its own wrinkles &#8212; particularly around phase management, as <a href="https://currentaffairs.io/i/185652187/phase-rotation-for-ac-charging">explained in detail in my last article</a>.</p><p>In three-phase AC charging, the CPMS can specify not just the power limit but also how many phases to use and which specific phase for single-phase charging. Why does this matter? Consider a site with a 100A grid connection split across three phases. When multiple single-phase vehicles are charging, distributing them across L1, L2, and L3 prevents any single phase from overloading.</p><p>One gotcha: when <code>chargingRateUnit</code> is set to Amperes, the limit applies <em>per phase</em>, not total. Setting a 32A limit on a three-phase connection means 32A on each phase &#8212; about 22 kW at European voltages, not the ~7 kW you might expect if you thought it meant 32A total.</p><h2>Why smart charging is so important</h2><p>This might seem like a lot of complexity for something that &#8220;just works&#8221; from the driver&#8217;s perspective. But as EV adoption grows, this complexity is what prevents the grid from collapsing.</p><p>A neighbourhood of homes each with an EV, all plugging in after work at 6 PM, could easily overwhelm a local transformer. Smart charging allows that load to be spread across the evening, prioritising the EV whose driver has an early meeting while letting the work-from-home neighbour&#8217;s car charge at 2 AM when more renewable wind power is available and the price is cheaper.</p><p>The economics are compelling too. In markets with time-of-use pricing, smart charging shifts consumption to periods when electricity is cheapest &#8212; often when renewable generation is highest. </p><p>Fleet depots face an even more dramatic version of this challenge. Picture a delivery company with 50 electric vans returning to base between 5 and 7 PM, each needing 40&#8211;60 kWh before their 6 AM departures. Without smart charging, they'd need massive grid connections &#8212; perhaps 5 MW or more &#8212; to handle the theoretical peak if every vehicle charged simultaneously at full power. With smart charging, the CPMS knows each vehicle's energy need and departure time, and can orchestrate the entire fleet through a single 500 kW connection. The van leaving at 5 AM gets priority; the one not needed until noon charges last. As vehicles reach their target SOC, their power allocation shifts to others still charging. The result: the same fleet, the same service level, but a grid connection one-tenth the size &#8212; and the capital expenditure savings to match.</p><p>At scale, this becomes Vehicle-Grid Integration. The same protocols can enable V2G (vehicle-to-grid), turning parked EVs into a distributed battery resource. ISO 15118-20 already adds bidirectional power parameters like <code>EVMinimumV2XEnergyRequest</code> (the minimum energy the vehicle must retain for driving) and <code>EVMaximumV2XEnergyRequest</code> (how much it&#8217;s willing to discharge). I&#8217;ll probably dedicate another article to ISO 15118-20&#8217;s smart charging and V2G capabilities.</p><p>For charge point operators, mastering these protocols isn&#8217;t just about compliance &#8212; it&#8217;s about participating in future flexibility markets. Aggregated charging networks can function as Virtual Power Plants, responding to grid operator signals in real time, which helps stabilise the grid and opens up a significant revenue stream for CPOs. </p><p>But that only works with the precise control and monitoring that OCPP 2.0.1 (and its next version OCPP 2.1 for V2G) and ISO 15118-2 / -20 enable.</p><div><hr></div><p>That was a lot to digest if you&#8217;re not deeply entrenched in these protocols in your day-to-day work. But now you see that real smart charging is a carefully choreographed dance between protocols years in the making. ISO 15118 handles the conversation between EV and charger, negotiating what&#8217;s needed and what&#8217;s possible. OCPP 2.0.1 extends that conversation to the cloud, where network operators can optimise across thousands of charge points.</p><p>The message flow we&#8217;ve traced &#8212; from <code>ChargeParameterDiscoveryReq</code> through <code>NotifyEVChargingNeedsRequest</code> to <code>SetChargingProfileRequest</code> and back &#8212; represents a genuine engineering achievement. Multiple stakeholders with different priorities can all influence the outcome through well-defined interfaces, while safety is mathematically guaranteed through the composite schedule&#8217;s minimum-of-all-limits rule.</p><p>The next time you plug in your EV, spare a thought for the silent negotiations happening on your behalf. Your car is advocating for your travel plans, the charger is balancing its local constraints, and somewhere in a data centre, an algorithm is working out how to keep everyone happy &#8212; including the grid that powers it all.</p><p>That&#8217;s smart charging. And now you know how it actually works.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><code>EVRESSSOC</code> stands for Electric Vehicle Renewable Energy Storage System State of Charge</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>See my <a href="https://currentaffairs.io/p/from-black-box-to-glass-box-unlocking-full-charger-visibility-with-ocpp201-device-model">article on the OCPP 2.0.1 Device Model</a> for more information on components and variables and how they work together to automatically describe the layout and configuration parameters of a charging station. A game changer for CPOs.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[A clear guide to load management, phase rotation, and smart charging]]></title><description><![CDATA[Static vs dynamic load management, why getting phase rotation right is critical for efficient power usage, and how OCPP 1.6 smart charging profiles actually work]]></description><link>https://currentaffairs.io/p/a-clear-guide-to-load-management-phase-rotation-and-smart-charging</link><guid isPermaLink="false">https://currentaffairs.io/p/a-clear-guide-to-load-management-phase-rotation-and-smart-charging</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 27 Jan 2026 07:47:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bpNF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As electric vehicle adoption accelerates globally, the complexity of managing EV charging infrastructure has grown exponentially. A single charging site that once supported a handful of vehicles now needs to orchestrate dozens of simultaneous charging sessions while respecting grid constraints, driver needs, and operational efficiency. </p><p>This article provides the foundational knowledge needed to understand the principles behind load management (or load balancing), how it differs from smart charging, which factors impact load balancing and smart charging, and why proper planning and documentation of phase rotation for AC charging networks is so important for an efficiently operating charging network. We&#8217;ll also look at how the tools the Open Charge Point Protocol (OCPP) provides to implement smart charging across your managed network of EV chargers.</p><p>Think of a charging network like an airport terminal. Without coordination, all planes would try to land simultaneously, overwhelming the runways. Similarly, without load management and smart charging, all EVs would draw maximum power the moment they connect, potentially overwhelming the electrical infrastructure. The protocols and techniques we&#8217;ll explore act as the air traffic control system for electrons.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bpNF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bpNF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 424w, https://substackcdn.com/image/fetch/$s_!bpNF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 848w, https://substackcdn.com/image/fetch/$s_!bpNF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!bpNF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bpNF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1117229,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/185652187?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bpNF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 424w, https://substackcdn.com/image/fetch/$s_!bpNF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 848w, https://substackcdn.com/image/fetch/$s_!bpNF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!bpNF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0affd83-5b6d-4240-b472-ecd646abef30_2184x1572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Load management vs smart charging: what&#8217;s the difference?</h2><p>While these terms are often used interchangeably, they represent distinct but complementary concepts in the EV charging ecosystem.</p><h3>Load management (static and dynamic)</h3><p>Load management focuses on distributing available electrical capacity across multiple charge points to prevent infrastructure overload. It operates at the site level, ensuring the total power drawn by all chargers never exceeds the capacity of the grid connection, building wiring, or upstream protection devices.</p><p><strong>Static load management (SLM)</strong> allocates a fixed portion of available capacity to each charger based on predetermined rules. For example, a workplace car park with a 70kW grid connection installs ten 11kW three-phase chargers for employees. To guarantee all ten can operate simultaneously without tripping the supply, static load management limits each charger to just 7kW permanently &#8211; only 64% of its capability and the vehicles&#8217; acceptance rate.</p><p>Consider what happens at 8am when only three employees have arrived and plugged in: under static load management, each still receives only 7kW, leaving 49kW of available capacity sitting idle. Those three vehicles could each be charging at their full 11kW (33kW total), completing their charges in two-thirds of the time. By 10am, when all ten vehicles are connected, the static allocation makes sense. But by 1pm, five vehicles have already reached 80% state of charge and their battery management systems have reduced acceptance to 3kW each. The static system continues reserving 7kW for each of those sessions, wasting 20kW that could accelerate charging for the remaining vehicles. Over the course of a typical workday with staggered arrivals, departures, and varying charge states, static allocation routinely delivers just 50-60% of the site&#8217;s potential charging throughput.</p><p><strong>Dynamic load management (DLM)</strong> continuously monitors actual power consumption and redistributes available capacity in real-time. In our workplace example, when only three vehicles are connected at 8am, DLM allocates the full 11kW to each, using 33kW of the 70kW available and charging each vehicle at maximum speed. As more employees arrive and plug in, the system automatically reduces individual limits to stay within the site&#8217;s capacity. By 10 am, with all ten vehicles connected, each receives 7kW. When five vehicles reach 80% and reduce their acceptance to 3kW, DLM immediately reallocates that freed capacity to the remaining five vehicles, boosting them from 7kW back towards 11kW each. This continuous optimisation can increase daily charging throughput by 40-50% compared to static allocation, without any grid upgrade.</p><p>Advanced dynamic load management extends beyond the charging infrastructure to monitor the entire site&#8217;s electrical consumption. Our workplace might have a 100kW grid connection shared between 30kW of office operations (lighting, HVAC, equipment) and the 70kW nominally allocated to EV charging. During business hours, the office draws its full 30kW, leaving 70kW for vehicles. But from 6pm onwards, as lights switch off and air conditioning winds down, office consumption drops to just 5kW. Sophisticated DLM detects this and redirects the surplus 25kW to EV charging, effectively providing 95kW for the remaining vehicles &#8211; enough to charge eight vehicles at their full 11kW simultaneously. </p><p>This building-integrated approach requires energy meters at the grid connection point and communication between the building&#8217;s energy management system (EMS) and the charge point management system (CPMS). The payoff is substantial: infrastructure sized for daytime constraints can deliver significantly higher charging capacity during off-peak hours, <strong>all without upgrading the grid connection</strong>.</p><h3>Smart charging</h3><p>Smart charging extends beyond simple load management to incorporate external factors such as energy pricing, renewable energy availability, grid demand response signals, and individual driver preferences. While load management asks &#8220;how do we share the available power?&#8221;, smart charging asks<strong> &#8220;when and how fast should each vehicle charge to optimise outcomes for drivers, operators, and the grid?&#8221;</strong></p><p>A smart charging system might delay or slow charging during peak electricity pricing periods, accelerate charging when solar or wind generation is high, respond to utility demand response events, or ensure a fleet vehicle reaches 80% state of charge by its scheduled departure time. The intelligence lies in balancing multiple competing objectives while respecting hard constraints like vehicle departure times, minimum charge requirements, and overall power capacity on site.</p><h2>Factors impacting load balancing and smart charging</h2><p>Effective charging optimisation must account for constraints at every point in the electrical chain, from the grid connection down to the vehicle&#8217;s battery management system.</p><h3>Site power capacity</h3><p>The grid connection represents the top-level, ultimate limit on total charging power. This capacity may be shared with other building loads (lighting, HVAC, equipment), meaning available EV charging capacity fluctuates throughout the day. Advanced systems integrate with building energy management systems to dynamically allocate surplus capacity to EV charging while protecting critical loads, as mentioned above.</p><h3>Solar power generation</h3><p>On-site generation, in particular solar PV, adds another variable to load management calculations. When solar panels generate power, that energy can offset grid consumption, effectively increasing the capacity available for EV charging. Dynamic systems can prioritise charging during peak solar production, maximising the use of free, zero-carbon energy. This solar-aware charging becomes increasingly important as sites deploy larger PV arrays and seek to minimise both energy costs and carbon footprint.</p><h3>Charger power rating</h3><p>Each charging station has a maximum power output, typically 7.4kW, 11kW, or 22kW for AC chargers, and 50kW to 400kW for DC fast and HPC (High Power Charger) chargers &#8211; aka Rapid and Ultra-Rapid chargers in the UK. The charger&#8217;s rated power represents an upper bound; actual delivered power will be the minimum of the charger&#8217;s capability, the cable capacity, and the vehicle&#8217;s acceptance rate.</p><h3>Power cable capabilities</h3><p>Charging cables have current-carrying limits based on their conductor cross-section. Type 2 cables are rated for different maximum currents (typically 16A, 32A, or 63A per phase). The cable&#8217;s proximity pilot (PP, <a href="https://currentaffairs.io/p/behind-the-plug-what-really-happens-when-your-ev-talks-to-the-charger">more details on plug pins here</a>) resistor communicates its rating to the charger, which must respect this limit regardless of the charger&#8217;s own capability.</p><p>For DC fast charging, cables are typically rated for 200A to 500A, with newer high-power charging (HPC) installations supporting up to 500A at voltages up to 1000V for charging rates exceeding 400kW. DC cables are liquid-cooled at these higher ratings to manage heat dissipation within a manageable cable diameter and weight.</p><h3>EV battery and on-board charger limits</h3><p>Every electric vehicle contains an on-board charger (OBC) that converts AC power to DC for battery charging. The OBC&#8217;s power rating and phase support determine the vehicle&#8217;s maximum AC charging rate. A vehicle with a 7.4kW single-phase OBC cannot benefit from connecting to a 22kW three-phase charger; it will draw only what its OBC can handle. (We&#8217;ll get to the concept of &#8216;phases&#8217; in a minute) </p><p>Battery management systems (BMS) further modulate charging rates based on temperature, state of charge (SOC), and battery cell health. Most lithium-ion batteries charge most efficiently in the 20&#8211;40&#176;C range; below this, chemical reactions slow and the BMS reduces charging current to prevent lithium plating, while above this range, charging is throttled to prevent thermal degradation. </p><p>Charging typically slows significantly above 80% SOC to protect battery longevity. Think of it like filling a bathtub: you can run the tap at full blast when the tub is empty, but as the water level rises toward the rim, you need to reduce the flow to avoid overflow. Similarly, the BMS reduces charging current as the battery approaches full capacity to prevent overcharging individual cells, which could cause irreversible damage or safety hazards.</p><h3>AC wiring and phase configuration</h3><p>Three-phase AC power is the standard for commercial and industrial electrical installations across Europe. Unlike single-phase power (which uses one live wire plus neutral), three-phase power delivers electricity through three live wires, commonly labelled L1, L2, and L3 (or sometimes R, S, T in older notation). Each wire carries current that peaks at a different time, 120 degrees apart, creating a smoother and more efficient power delivery.</p><p>If you want to understand the concept behind three-phase electricity in more detail, then I highly recommend this great explainer video from The Engineering Mindset:</p><div id="youtube2-4oRT7PoXSS0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4oRT7PoXSS0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/4oRT7PoXSS0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>In a typical EV charging installation, power flows from the grid through a <strong>distribution board</strong> (sometimes called a feeder pillar) to individual chargers. Each charger receives a <strong>five-core cable</strong> containing:</p><ul><li><p><strong>L1</strong> (Line 1 / Phase 1)</p></li><li><p><strong>L2</strong> (Line 2 / Phase 2)</p></li><li><p><strong>L3</strong> (Line 3 / Phase 3)</p></li><li><p><strong>N</strong> (Neutral)</p></li><li><p><strong>PE</strong> (Protective Earth / Ground)</p></li></ul><p>The charger&#8217;s internal wiring connects these incoming lines to its charging socket. When a vehicle plugs in, it draws power from one or more of these phases depending on its on-board charger&#8217;s capability.</p><p>Crucially, each phase has its own protection (circuit breaker or fuse) in the distribution board. If a charger draws 32A on L1 while L2 and L3 are lightly loaded, the L1 circuit breaker could trip even though the total site capacity isn&#8217;t exhausted. This is why load management must <strong>protect and balance each phase individually</strong>, not just monitor total power.</p><h2>Phase rotation for AC charging</h2><p>Phase rotation is a critical but often overlooked aspect of multi-charger installations. Understanding and properly implementing phase rotation can dramatically improve charging efficiency and prevent load imbalances.</p><h3>The challenge: single-phase vehicles on three-phase infrastructure</h3><p>Here&#8217;s the problem: many EVs &#8211; particularly plug-in hybrids and smaller-battery EVs like the Nissan Leaf, Hyundai Kona (base model), or Jaguar I-PACE &#8211; have single-phase on-board chargers. These vehicles can <strong>only draw power from one phase, typically L1</strong>, regardless of how many phases the charger or installation supports.</p><p>Think of it like a three-lane motorway where certain vehicles can only drive in the left lane. If all vehicles are restricted to the left lane, you get congestion there while the middle and right lanes sit empty.</p><p>When multiple single-phase vehicles charge simultaneously on chargers with identical phase wiring, all the load concentrates on L1. The result? An unbalanced electrical installation where one phase is overloaded while the others are underutilised.</p><h3>A concrete example: four chargers, four single-phase EVs</h3><p>Consider a charging site with:</p><ul><li><p><strong>4 bay &#215; 2 socket chargers</strong> (4 charge points total)</p></li><li><p><strong>22kW chargers</strong> rated at 32A per phase</p></li><li><p><strong>69kVA with 100A site capacity</strong> (shared across all phases)</p></li><li><p><strong>Four 7kW single-phase vehicles</strong> connected (each drawing 32A from L1 only)</p></li></ul><p></p><h4>Scenario 1: No phase rotation</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WsVX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WsVX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 424w, https://substackcdn.com/image/fetch/$s_!WsVX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 848w, https://substackcdn.com/image/fetch/$s_!WsVX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 1272w, https://substackcdn.com/image/fetch/$s_!WsVX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WsVX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png" width="1328" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:1328,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20376,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/185652187?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WsVX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 424w, https://substackcdn.com/image/fetch/$s_!WsVX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 848w, https://substackcdn.com/image/fetch/$s_!WsVX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 1272w, https://substackcdn.com/image/fetch/$s_!WsVX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b90c000-9264-4ca1-8a13-e969786cc651_1328x288.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Result:</strong> 128A on L1 exceeds the 100A site limit. The L1 circuit breaker trips, or load management must aggressively curtail all charging (e.g. to 16A instead of 32A), even though L2 and L3 have zero load.</p><p></p><h4>Scenario 2: Phase rotation to charger</h4><p>By rotating the phase connections at each charger, the electrician connects different chargers' L1 input to different grid phases:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mlCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mlCz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 424w, https://substackcdn.com/image/fetch/$s_!mlCz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 848w, https://substackcdn.com/image/fetch/$s_!mlCz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 1272w, https://substackcdn.com/image/fetch/$s_!mlCz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mlCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png" width="1322" height="290" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20022,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/185652187?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mlCz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 424w, https://substackcdn.com/image/fetch/$s_!mlCz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 848w, https://substackcdn.com/image/fetch/$s_!mlCz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 1272w, https://substackcdn.com/image/fetch/$s_!mlCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ee6c4a2-e17d-4e8e-a5ec-350ccbe5df42_1322x290.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Result:</strong> 64A on L1 and 64A on L2, both well under the 100A limit. However, L3 is still unused (unbalanced). Unbalanced phases can lead to increased power losses, increased neutral conductor current, and reduced equipment lifespan. </p><p>Germany&#8217;s VDE-AR-N 4100 regulation, for example, explicitly limits phase imbalance to a maximum of 4.6 kVA (approx. 20 A) &#8211; meaning EV charging operators must actively manage load distribution across phases to remain compliant and avoid grid connection issues. </p><p>The UK takes a less prescriptive approach: BS 7671 addresses phase balance primarily in the context of earthing safety rather than grid stability, and DNOs manage network-level balance through their own operational practices rather than imposing specific kVA limits on individual charging installations.</p><p></p><h4>Scenario 3: Phase rotation between sockets and to charger</h4><p>Some charger manufacturers offer phase rotation between the two sockets on a dual-socket charger. Combined with rotation at the charger level:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!imM3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!imM3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 424w, https://substackcdn.com/image/fetch/$s_!imM3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 848w, https://substackcdn.com/image/fetch/$s_!imM3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 1272w, https://substackcdn.com/image/fetch/$s_!imM3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!imM3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png" width="1324" height="290" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:1324,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20276,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/185652187?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!imM3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 424w, https://substackcdn.com/image/fetch/$s_!imM3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 848w, https://substackcdn.com/image/fetch/$s_!imM3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 1272w, https://substackcdn.com/image/fetch/$s_!imM3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed035193-4438-464b-b195-e323e5b6dc0b_1324x290.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Result:</strong> Load is distributed across all three phases (64A, 32A, 32A), now much more balanced than scenario 1&#8217;s 128A on a single phase. All vehicles charge at full speed without exceeding any phase limit.</p><p>However, this still leaves a 32A difference between L1 and the other phases. In Germany, where VDE-AR-N 4100 limits phase imbalance to 4.6 kVA (approximately 20A at 230V), this configuration alone wouldn't be compliant. Dynamic load management would need to actively curtail charging current on the more heavily loaded phase to bring the imbalance within the permitted limit, thereby trading some charging speed for regulatory compliance.</p><h3>How phase rotation works in practice</h3><p>When an electrician installs a three-phase charger, they connect the incoming five-core cable to the charger&#8217;s internal connection points (often labelled L1, L2, L3, N, PE on a terminal block inside the charger). In a standard installation, they match the cable&#8217;s phases to the charger&#8217;s labels: Grid L1 &#8594; Charger L1, Grid L2 &#8594; Charger L2, Grid L3 &#8594; Charger L3.</p><p>To implement phase rotation, they deliberately <strong>mismatch</strong> these connections:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W0rf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W0rf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 424w, https://substackcdn.com/image/fetch/$s_!W0rf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 848w, https://substackcdn.com/image/fetch/$s_!W0rf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 1272w, https://substackcdn.com/image/fetch/$s_!W0rf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W0rf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png" width="1456" height="193" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:193,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:11550,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/185652187?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W0rf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 424w, https://substackcdn.com/image/fetch/$s_!W0rf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 848w, https://substackcdn.com/image/fetch/$s_!W0rf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 1272w, https://substackcdn.com/image/fetch/$s_!W0rf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd34d1fcb-f2d1-460f-a036-125f63120e6f_1462x194.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Now, when a single-phase vehicle connects to Charger 2 and draws from "L1" (from the charger's perspective), it's actually drawing from Grid L3. The load is spread across all three grid phases.</p><h3>Phase rotation notation in OCPP</h3><p>The Open Charge Point Protocol (OCPP) defines phase rotation using a three-letter code describing how grid phases R (L1), S (L2), and T (L3) map to the charger&#8217;s connector. The possible values are:</p><ul><li><p><strong>RST:</strong> Standard reference phasing (Grid L1&#8594;Charger L1, L2&#8594;L2, L3&#8594;L3)</p></li><li><p><strong>RTS:</strong> Grid L1&#8594;Charger L1, Grid L2&#8594;Charger L3, Grid L3&#8594;Charger L2</p></li><li><p><strong>SRT:</strong> Grid L1&#8594;Charger L2, Grid L2&#8594;Charger L1, Grid L3&#8594;Charger L3</p></li><li><p><strong>STR:</strong> Grid L1&#8594;Charger L2, Grid L2&#8594;Charger L3, Grid L3&#8594;Charger L1</p></li><li><p><strong>TRS:</strong> Grid L1&#8594;Charger L3, Grid L2&#8594;Charger L1, Grid L3&#8594;Charger L2</p></li><li><p><strong>TSR:</strong> Grid L1&#8594;Charger L3, Grid L2&#8594;Charger L2, Grid L3&#8594;Charger L1</p></li><li><p><strong>NotApplicable:</strong> Single-phase or DC charge points</p></li><li><p><strong>Unknown:</strong> Phase rotation not yet determined</p></li></ul><p>The <code>ConnectorPhaseRotation</code> configuration key (OCPP 1.6) and <code>PhaseRotation</code> variable (OCPP 2.0.1 <a href="https://currentaffairs.io/p/from-black-box-to-glass-box-unlocking-full-charger-visibility-with-ocpp201-device-model">device model</a>) reports this information to the CPMS, allowing smarter load management that accounts for actual phase distribution.</p><h3>Why this matters for load management systems</h3><p>Here&#8217;s the critical point: <strong>the load management system must know each charger&#8217;s phase rotation to function correctly.</strong></p><p>When a charger reports it&#8217;s drawing 32A on &#8220;L1&#8221;, the CPMS needs to know whether that&#8217;s actually Grid L1, L2, or L3. If the system assumes standard RST rotation when the charger is wired as TRS, all its phase balancing calculations will be wrong.</p><p>Some chargers don&#8217;t offer phase rotation between sockets, meaning both sockets share the same phase mapping. Others rotate between sockets, with L1 and L3 swapped between the two sockets on a single unit. This affects both installation planning and load management configuration.</p><h3>Critical considerations and best practices</h3><p><strong>Phase switching during charging: </strong>Some charging profiles may include switching between single-phase and three-phase charging during a session. This is dangerous as not all EVs support mid-session phase changes, and attempting this can cause physical damage to the vehicle&#8217;s on-board charger. The OCPP 1.6 configuration key <code>ConnectorSwitch3to1PhaseSupported</code> indicates whether a charger supports this capability. Operators should exercise extreme caution with phase switching features.</p><p><strong>Documentation and commissioning: </strong>Accurate phase rotation configuration is essential for load management systems to function correctly. If the CPMS believes a charger uses standard RST rotation when it&#8217;s actually wired as TRS, phase-aware load balancing calculations will be wrong. Document all phase rotations during installation and verify they&#8217;re correctly configured in the management system. Some charger manufacturers offer internal phase rotation between sockets, others don't. Factor this into your planning.</p><p><strong>Monitor and verify during operation</strong>: After installation, use phase-level metering to confirm loads are distributed as expected.</p><h2>OCPP 1.6: The foundation of smart charging</h2><p>Open Charge Point Protocol (OCPP) 1.6, released in 2015, established the smart charging framework that remains widely deployed today. Understanding its capabilities and limitations is essential for anyone working with charging infrastructure.</p><h3>Charging profiles: the core concept</h3><p>A charging profile is essentially a schedule of power or current limits over time. Each profile contains a <code>ChargingSchedule</code> &#8211; a sequence of periods, each specifying a limit (in watts or amps) and its duration. The charge point applies these limits by either <a href="https://currentaffairs.io/p/behind-the-plug-what-really-happens-when-your-ev-talks-to-the-charger">modulating the control pilot signal</a> that communicates maximum current to the vehicle &#8211; in case of analogue AC charging based solely on the IEC 61851 standard &#8211; or by translating the schedule into an ISO 15118-equivalent data structure if the EV communicates with the (AC or DC) charger using IP-based, digital communication. We'll explore how OCPP and ISO 15118 work together to enable smart charging in one of my next articles.</p><p>OCPP 1.6 defines three profile purposes, each serving a distinct use case:</p><p><strong>ChargePointMaxProfile: </strong>Sets limits for the entire charge point, shared across all its connectors. This profile represents hard infrastructure constraints like site&#8217;s grid connection or distribution panel capacity. It can only be applied to <code>ConnectorId</code> 0 (meaning &#8220;all connectors&#8221; or sockets). Think of this as the site-level constraint: no matter how individual sessions are scheduled, total power cannot exceed this limit.</p><p><strong>TxDefaultProfile: </strong>Defines default charging schedules that apply to new transactions. These profiles implement charging policies. For example, preventing high-power charging during peak electricity pricing periods, or defining &#8220;night mode&#8221; that allows full power only between 10 PM and 6 AM. TxDefaultProfile can apply to all connectors (<code>ConnectorId</code> 0) or to a specific connector.</p><p><strong>TxProfile: </strong>Transaction-specific profiles that override <code>TxDefaultProfile</code> for a particular charging session. The CPMS sends these during or at the start of a transaction to implement real-time smart charging decisions. When the transaction ends, the TxProfile is deleted. This enables per-session optimisation based on vehicle energy needs, driver preferences like departure time, or grid conditions.</p><h3>Profile stacking and the composite schedule</h3><p>Multiple profiles of the same purpose can coexist using the <code>stackLevel</code> parameter. Higher <code>stackLevel</code> profiles take precedence, which is useful for creating complex calendars with base schedules and exception overlays (holidays, special events, etc.).</p><p>The charge point calculates a <code>Composite Schedule</code> by combining the active <code>ChargePointMaxProfile</code> with either the <code>TxProfile</code> (if one exists for the transaction) or the applicable <code>TxDefaultProfile</code>. At each moment, the applied limit is the minimum of all relevant limits. This ensures infrastructure constraints are always respected while allowing flexibility in individual session management.</p><h3>Smart charging use cases in OCPP 1.6</h3><p>The specification describes three typical smart charging architectures:</p><p><strong>Internal load balancing: </strong>The charge point itself manages load distribution across its connectors without involvement from a cloud-based backend, or CPMS. A <code>ChargePointMaxProfile</code> defines the total allowed power, and the charge point internally distributes this among active sessions. This works well for simple installations where per-session optimisation isn&#8217;t required.</p><p><strong>Central smart charging: </strong>The central system (aka CPMS) calculates and sends charging profiles based on external information like grid capacity forecasts from the distribution system operator (DSO), energy prices, renewable generation availability, or fleet scheduling requirements. <code>TxProfile</code> messages allow the CPMS to adjust limits dynamically throughout each session.</p><p><strong>Local smart charging: </strong>A local controller manages a group of charge points at a site, distributing available capacity among them. The local controller communicates with the CPMS using standard OCPP and acts as a proxy for the charge points it manages. This architecture suits parking garages or fleet depots where local responsiveness with minimal latency is important but central visibility is still required.</p><p>Local controllers are particularly important for sites with unreliable internet connectivity or where sub-second response times are required to prevent fuse trips or to provide time-critical grid services like frequency containment reserve (a topic we&#8217;ll explore in future articles). Many operators deploy hybrid architectures: a local gateway handles time-critical load balancing decisions while the cloud-based CPMS manages business logic, reporting, and optimisation across multiple sites.</p><div><hr></div><p>OCPP 1.6 laid the groundwork for smart charging, but it has limitations.</p><p>You might have noticed that everything we've covered so far treats the vehicle as a passive load whereby the charging station makes all the decisions. But what if the vehicle could tell the network exactly what it needs, when it needs it, and how flexible it can be? That's where ISO 15118 and OCPP 2.0.1 come in, and we'll unpack how they work together in the next article.</p><p>I'm curious: have you encountered load management challenges at your site, whether at work or a public charging location? What worked, and what didn't? Let me know in the comments.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[From black box to glass box: Unlocking full charger visibility with OCPP 2.0.1 Device Model]]></title><description><![CDATA[A deep dive into the protocol feature every CPO should understand &#8211; and most don't &#8211; that makes chargers observable, configurable, and ready to scale]]></description><link>https://currentaffairs.io/p/from-black-box-to-glass-box-unlocking-full-charger-visibility-with-ocpp201-device-model</link><guid isPermaLink="false">https://currentaffairs.io/p/from-black-box-to-glass-box-unlocking-full-charger-visibility-with-ocpp201-device-model</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 13 Jan 2026 11:16:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u745!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You want to know when any charging station in your network exceeds 55&#176;C internal temperature &#8211; before it triggers a thermal shutdown. Under OCPP 1.6, you can&#8217;t. The protocol has no mechanism for you to define monitoring thresholds. You receive what the station decides to send, when it decides to send it. If the manufacturer didn&#8217;t build in that specific alert, you&#8217;re waiting for the fault notification after the fact.</p><p>This is one example of a broader limitation. OCPP 1.6 gives operators a keyhole view into charging stations: transaction events, status changes, periodic meter values. What it doesn&#8217;t provide is a way to ask questions the protocol designers didn&#8217;t anticipate, or to configure monitoring based on what matters to your operation rather than what the manufacturer deemed important.</p><p>OCPP 2.0.1 introduces the <em>Device Model</em> concept: a structured representation of charging station internals that operators can query, configure, and monitor on their own terms. If OCPP 1.6 gave you a check engine light, the Device Model gives you the full OBD-II diagnostic port. It's the difference between scaling a charging network and being scaled by it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u745!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u745!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 424w, https://substackcdn.com/image/fetch/$s_!u745!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 848w, https://substackcdn.com/image/fetch/$s_!u745!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 1272w, https://substackcdn.com/image/fetch/$s_!u745!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u745!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png" width="1280" height="921" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:921,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:400019,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/184130600?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!u745!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 424w, https://substackcdn.com/image/fetch/$s_!u745!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 848w, https://substackcdn.com/image/fetch/$s_!u745!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 1272w, https://substackcdn.com/image/fetch/$s_!u745!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2be814-46ef-4fe9-93a5-a235a5b268cc_1280x921.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>From key-value chaos to structured intelligence</h2><p>Let&#8217;s start with what we&#8217;re leaving behind.</p><p>OCPP 1.6 stores charging station configuration as a flat list of key-value pairs. Think of it as a dictionary where <code>HeartbeatInterval = 900</code> (the charger saying &#8220;Hi, I&#8217;m still here&#8221; every 15 minutes) sits alongside <code>MeterValuesSampledData = Energy.Active.Import.Register</code>. Simple? Yes. Standardised? Partially. Useful for understanding what your charging station actually contains? Not particularly.</p><p>The problem isn&#8217;t that key-value pairs don&#8217;t work. The problem is they work the same way for every charging station, whether you&#8217;re managing a simple 7kW AC charger at a residential complex or a sophisticated 350kW DC fast charger with liquid cooling, multiple connectors, temperature sensors, and integrated payment terminals.</p><p>Consider these real-world scenarios that OCPP 1.6 handles poorly:</p><p><strong>Scenario 1: The Unknown Station</strong> <br>A technician installs a new charging station. Your CSMS (Charging Station Management System) connects to it successfully, but what exactly did you just add to your network? How many EVSEs (Electric Vehicle Supply Equipment)? What connector types? Is there a display? A card reader? You&#8217;ll need to consult the manufacturer documentation, hope someone entered the data correctly in your asset management system, or send someone to physically inspect it.</p><p><strong>Scenario 2: The Silent Failure</strong> <br>A charging station&#8217;s internal temperature sensor detects that the cooling system is struggling. The hardware knows there&#8217;s a problem brewing. But since there&#8217;s no standardised way to report component-level status or configure alerts on arbitrary measurements, you find out when a customer calls to report the station is offline.</p><p><strong>Scenario 3: The Configuration Drift</strong> <br>You manage 500 charging stations from three different manufacturers. Each vendor implemented the optional configuration keys differently. Some support <code>LocalPreAuthorize</code>, others don&#8217;t. Some return values in different formats. Your CSMS code is littered with manufacturer-specific exceptions. Scaling to 5,000 stations means scaling your technical debt proportionally.</p><p>The Device Model in OCPP 2.0.1 addresses each of these scenarios through a fundamentally different architecture. One built around the principle that <strong>a charging station should be able to fully describe itself</strong>.</p><h2>The three-tier model: structure that reflects reality</h2><p>The Device Model introduces a hierarchical structure that mirrors how charging stations actually exist in the physical world.</p><p><strong>Tier 1: The Charging Station</strong> <br>At the top level sits the charging station itself &#8211; the complete physical unit with its own identity, network connection, and overall status. This is where station-wide attributes live: supply phases, overall availability, the main electricity meter, environmental sensors.</p><p><strong>Tier 2: The EVSE</strong> <br>Below the station are EVSEs (Electric Vehicle Supply Equipments) &#8211; the actual power-delivering unit. A dual-socket charging station that allows for charging two EVs at the same time has two EVSEs. Each EVSE has its own power capacity, its own availability state, and potentially its own characteristics (one might support 11kW while another handles 22kW).</p><p><strong>Tier 3: The Connector</strong> <br>At the bottom level are connectors, which are the physical sockets drivers plug into. A single EVSE might have multiple connectors (a CCS and a CHAdeMO or Type 2, for instance, though typically only one can be used at a time). Each connector has a type, a phase rotation, and a physical state.</p><p>This hierarchy seems obvious when you think about it. Of course a charging station has EVSEs, and EVSEs have connectors. But OCPP 1.6 didn&#8217;t represent this structure in its data model, whereas the Device Model makes this explicit.</p><p>The illustration below shows various possible configurations of one or more EVSEs and its connectors.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!74ab!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!74ab!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 424w, https://substackcdn.com/image/fetch/$s_!74ab!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 848w, https://substackcdn.com/image/fetch/$s_!74ab!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 1272w, https://substackcdn.com/image/fetch/$s_!74ab!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!74ab!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png" width="1456" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129305,&quot;alt&quot;:&quot;Example configurations of EVSEs and connectors (sockets) on a charging station&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/184130600?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Example configurations of EVSEs and connectors (sockets) on a charging station" title="Example configurations of EVSEs and connectors (sockets) on a charging station" srcset="https://substackcdn.com/image/fetch/$s_!74ab!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 424w, https://substackcdn.com/image/fetch/$s_!74ab!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 848w, https://substackcdn.com/image/fetch/$s_!74ab!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 1272w, https://substackcdn.com/image/fetch/$s_!74ab!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ec0464-92e2-48b4-bf41-ab8e4f859a8e_2600x1725.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example configurations of EVSEs and connectors (sockets) on a charging station</figcaption></figure></div><p><strong>Example A</strong> is the simplest possible setup. The charging station is what you would recognise as a typical single-socket AC charger: one car plugged in and charging, nothing else happening in parallel.</p><p><strong>Example B</strong> looks similar on the outside &#8211; two sockets &#8211; but the internal structure is different. Here the charging station contains two separate EVSEs, each with its own connector. That means two cars can charge at the same time at full, independent power. This is what people usually call a dual-socket charger.</p><p><strong>Example C</strong> is where things get interesting. This station has three connectors, but only two EVSEs behind them. One EVSE feeds an AC socket, while the other feeds two DC fast-charge connectors (for example CCS and CHAdeMO). Even though three cars could physically plug in, only two can charge at once: one on AC, and one on DC. The two DC plugs are effectively sharing the same power-delivery source.</p><p><strong>Example D</strong> follows the same principle, but for modern DC fast charging in the US. The station has two EVSEs, and each EVSE feeds two connectors &#8211; CCS and NACS (North American Charging Standard). That allows drivers of different vehicle types to plug in, but again only two cars can actually charge simultaneously: one per EVSE.</p><h2>Components and variables: the building blocks</h2><p>Within this three-tier structure, the Device Model organises everything into components with variables.</p><p><strong>Components</strong> are the logical or physical parts of a charging station. Some are obvious: <code>EVSE</code>, <code>Connector</code>, <code>TokenReader</code>, <code>Display</code>. Others are more specialised: <code>AirCoolingSystem</code>, <code>LiquidCoolingSystem</code>, <code>RCD</code> (Residual Current Device), <code>OverCurrentProtection</code>, <code>EmergencyStopSensor</code>. The specification defines over 70 standard component types, covering everything from cable breakaway sensors to ground isolation protection.</p><p>Each component can have multiple <strong>variables</strong>, which are named attributes with values. A <code>TemperatureSensor</code> component might have a <code>Temperature</code> variable. An <code>EVSE</code> component has variables like <code>AvailabilityState</code>, <code>Power</code> (with sub-types for actual and maximum), and <code>SupplyPhases</code>.</p><p>Here&#8217;s where it gets interesting. Variables aren&#8217;t just single values. They support multiple &#8220;attribute types&#8221;:</p><ul><li><p><strong>Actual</strong>: The current measured or operational value</p></li><li><p><strong>Target</strong>: The desired value (for controllable components)</p></li><li><p><strong>MinSet/MaxSet</strong>: The limits within which the value can be configured</p></li><li><p><strong>Default</strong>: The value used if no other is specified</p></li></ul><p>A fan speed variable might show <code>Target = 2000</code> RPM (rotations per minute) and <code>Actual = 1950</code> RPM, telling you both what you&#8217;ve asked for and what&#8217;s actually happening. A power limit (in W) might have <code>maxLimit = 22000</code> (what the hardware can support) and <code>Actual = 11000</code> (what you&#8217;ve configured) &#8211; information that was simply unavailable in the old world.</p><h2>Self-description: plug-and-play installation</h2><p>When a charging station connects to your CSMS under OCPP 2.0.1 and the Device Model is fully implemented, something remarkable happens. Your management system can request a &#8220;<em>Full Inventory</em>&#8221; report, and the <strong>station responds with</strong> <strong>a complete description of its structure, capabilities, and current configuration</strong>.</p><p>The exchange works like this:</p><ol><li><p>Your CSMS sends <code>GetBaseReportRequest</code> with <code>reportBase = "FullInventory"</code></p></li><li><p>The charging station responds with acceptance</p></li><li><p>The station then sends one or more <code>NotifyReportRequest</code> messages containing its complete Device Model</p></li><li><p>Your CSMS now knows exactly what it&#8217;s working with</p></li></ol><p>The report includes not just current values but metadata about each variable: what data type it uses, what values are valid, whether it supports monitoring, whether it&#8217;s read-only or configurable. A well-implemented charging station sends enough information for your CSMS to <strong>auto-generate appropriate UI elements without any prior knowledge of that specific hardware</strong>.</p><p>This is the &#8220;plug and play&#8221; vision realised. A technician installs a new charging station, the device connects, identifies itself, sends its full inventory, and your CSMS can immediately display an accurate representation of its capabilities. No manual data entry. No consulting PDFs, spreadsheets or asset management systems. No surprises when someone tries to configure a feature the hardware doesn&#8217;t support.</p><h2>Beyond configuration: monitoring and events</h2><p>The Device Model isn&#8217;t just about reading and writing values. It introduces a sophisticated monitoring system that transforms how you handle operational intelligence at scale.</p><h3>Hardwired monitoring </h3><p>Charging stations can have built-in monitors that are always active. Examples are error conditions, fault states, and critical thresholds. When these trigger, the station sends a <code>NotifyEventRequest</code> that identifies exactly which component and variable is affected. This replaces the generic <code>StatusNotification</code> and the sometimes cryptic <code>vendorErrorCode</code>s from OCPP 1.6 with precise, actionable information.</p><h3>Configurable monitoring</h3><p>If supported by the station, your CSMS can set up custom monitors on any variable:</p><ul><li><p><strong>Threshold monitors</strong>: Alert when a value exceeds an upper limit or drops below a lower limit</p></li><li><p><strong>Delta monitors</strong>: Alert when a value changes by more than a specified amount</p></li><li><p><strong>Periodic monitors</strong>: Report a value at regular intervals</p></li></ul><p>Imagine configuring your network so that every station alerts you when internal temperature exceeds 60&#176;C, or when the actual delivered power deviates from the target by more than 10%. You&#8217;re not waiting for failures &#8211; you&#8217;re detecting anomalies before they become outages. </p><p>That&#8217;s preventive maintenance and avoided customer frustration &#8211; which directly translates into higher consumer trust, higher utilisation, and a reduced amount of reactive (and costly) field engineer callouts.</p><h2>Summary of the Device Model data concept</h2><p>The diagram below shows how these concepts fit together. A component contains one or more variables, each variable has one or more attributes (e.g. the actual and target values) plus characteristics (metadata describing the variable&#8217;s type, limits, and capabilities). If <code>supportsMonitoring</code> is true, operators can attach monitors to receive alerts when values cross thresholds or change significantly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l0v2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l0v2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 424w, https://substackcdn.com/image/fetch/$s_!l0v2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 848w, https://substackcdn.com/image/fetch/$s_!l0v2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 1272w, https://substackcdn.com/image/fetch/$s_!l0v2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l0v2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png" width="1456" height="1145" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1145,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:179814,&quot;alt&quot;:&quot;OCPP 2.0.1&#8217;s complete Device Model data concept (image inspired by Franc Buve&#8217;s presentation at the OCA&#8217;s OCPP 2.0.1 tutorial, see YouTube)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/184130600?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OCPP 2.0.1&#8217;s complete Device Model data concept (image inspired by Franc Buve&#8217;s presentation at the OCA&#8217;s OCPP 2.0.1 tutorial, see YouTube)" title="OCPP 2.0.1&#8217;s complete Device Model data concept (image inspired by Franc Buve&#8217;s presentation at the OCA&#8217;s OCPP 2.0.1 tutorial, see YouTube)" srcset="https://substackcdn.com/image/fetch/$s_!l0v2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 424w, https://substackcdn.com/image/fetch/$s_!l0v2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 848w, https://substackcdn.com/image/fetch/$s_!l0v2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 1272w, https://substackcdn.com/image/fetch/$s_!l0v2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda96cb2f-1795-4bf6-918c-3a6e531ad780_2150x1691.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">OCPP 2.0.1&#8217;s complete Device Model data concept (image inspired by Franc Buve&#8217;s presentation at the OCA&#8217;s OCPP 2.0.1 tutorial, see YouTube video below)</figcaption></figure></div><p>Let&#8217;s apply this concept and make it more tangible. Say we want to inspect the charger&#8217;s <code>AirCoolingSystem</code> component, specifically the current power output of Fan 2 in EVSE 1&#8217;s cooling system. The data could be structured like this:</p><p><strong>Component</strong></p><ul><li><p>name: &#8220;AirCoolingSystem&#8221;  &#8592; Standardised component name</p></li><li><p>evse: {id: 1}                            &#8592; Which EVSE (tier location)</p></li><li><p>instance: null                         &#8592; Only one cooling system per EVSE</p></li></ul><p><strong>Variable</strong></p><ul><li><p>name: &#8220;FanSpeed&#8221;               &#8592; Standardised variable name</p></li><li><p>instance: &#8220;Fan2&#8221;                   &#8592; Which fan (multiple fans exist)</p></li></ul><p><strong>Variable attributes</strong></p><ul><li><p>Actual: 1980 RPM                &#8592; What it&#8217;s doing now</p></li><li><p>Target: 2000 RPM                &#8592; What we asked for</p></li><li><p>MinSet: 200 RPM                 &#8592; Lowest configurable</p></li><li><p>MaxSet: 3000 RPM              &#8592; Highest configurable</p></li></ul><p><strong>Variable characteristics</strong></p><ul><li><p>dataType: integer</p></li><li><p>unit: &#8220;RPM&#8221;</p></li><li><p>minLimit: 0                             &#8592; Physical minimum</p></li><li><p>maxLimit: 5000                     &#8592; Physical maximum</p></li><li><p>mutability: &#8220;ReadWrite&#8221;        &#8592; We can read and change the configuration</p></li><li><p>supportsMonitoring: true     &#8592; We can attach monitors</p></li></ul><p></p><h2>Practical implications for network management</h2><p>Let&#8217;s revisit our earlier scenarios with the Device Model in place:</p><p><strong>The Unknown Station (Revisited)</strong> <br>When a technician installs that new charging station, your CSMS requests the Full Inventory report. Within seconds, you know: two EVSEs, each with a single AC Type 2 connector, 11kW maximum per EVSE, no display but has an RFID reader, equipped with an air cooling system and emergency stop sensor, phase rotation RST on EVSE 1 and STR on EVSE 2 (we&#8217;ll touch upon phase rotation in a future article about load management). Your management system automatically adds this structure to your network visualisation. The technician moves on to the next installation.</p><p><strong>The Silent Failure (Revisited)</strong> <br>Before deploying the station, you configure a monitor on the <code>AirCoolingSystem</code> component&#8217;s <code>FanSpeed</code> variable with an upper threshold alert and a delta monitor for sudden changes. You also set a threshold on the station-level <code>Temperature</code> variable. Three months later, the fan starts struggling. You receive an alert before the temperature becomes critical, schedule preventive maintenance, and the station never goes offline.</p><p><strong>The Configuration Drift (Revisited)</strong> <br>Your CSMS requests the Configuration Inventory from each station, which is a report limited to settable parameters. Because components and variables follow standardised naming, you can build generic interfaces that work across manufacturers. When a variable uses an <code>OptionList</code> data type, the report includes the valid options. When it&#8217;s a numeric range, you get <code>minLimit</code> and <code>maxLimit</code>. Your code handles what the station actually supports, not what you assume it might support.</p><h2>Controller components: where configuration lives</h2><p>For those managing configuration at scale, the Device Model&#8217;s <em>Controller</em> (Ctrlr) components deserve special attention. These are components specifically for configuration parameters, grouped logically. Here are a few examples:</p><ul><li><p><strong>AuthCtrlr</strong>: Authorisation behaviour settings</p></li><li><p><strong>SmartChargingCtrlr</strong>: Smart charging capabilities and limits</p></li><li><p><strong>SecurityCtrlr</strong>: Security profiles and certificate management</p></li><li><p><strong>LocalAuthListCtrlr</strong>: Local authorisation list settings</p></li><li><p><strong>OCPPCommCtrlr</strong>: Network and communication parameters</p></li><li><p><strong>ISO15118Ctrlr</strong>: Information exchange and Plug &amp; Charge settings for ISO 15118</p></li><li><p><strong>SampledDataCtrlr</strong>: Meter value sampling configuration</p></li><li><p><strong>TxCtrlr</strong>: Transaction behaviour settings</p></li></ul><p>Each controller groups related variables together. <code>SmartChargingCtrlr</code> might expose <code>ChargingProfileEntries</code> (how many profiles the station can store), <code>PeriodsPerSchedule</code> (the granularity of charging schedules), and supported profile types. <code>LocalAuthListCtrlr</code> reports both the maximum entries supported and the actual count currently stored.</p><p>This structure means you can query specifically for authorisation-related configuration, or specifically for smart charging capabilities, without parsing through a flat list of hundreds of keys.</p><h2>Extensibility without fragmentation</h2><p>One of OCPP 1.6&#8217;s underappreciated problems was vendor-specific keys. Need to expose a feature that&#8217;s not in the standard? Invent your own key name. Want to understand another vendor&#8217;s stations? Reverse-engineer their proprietary keys. The result was fragmentation dressed up as flexibility.</p><p>The Device Model handles extensibility more thoughtfully. Manufacturers can define additional components and variables beyond the standardised list, but the structure remains consistent. More importantly, the <code>CustomizationCtrlr</code> component provides a standardised way to expose and manage custom features.</p><p>A vendor implementing V2G (vehicle-to-grid) capabilities before the standard covers it can create a <code>CustomizationCtrlr</code> instance with their vendor ID, expose it through the standard reporting mechanism, and allow CSMSs to discover and potentially enable/disable the feature. Custom features become visible, documented, and controllable through the same interfaces as standard ones.</p><h2>Implementation realities</h2><p>For CPOs evaluating OCPP 2.0.1 adoption, here&#8217;s the practical picture.</p><h3>On the CSMS side</h3><p>The Device Model requires rethinking your data model. You&#8217;re moving from &#8220;a charging station is a thing with some key-value pairs&#8221; to &#8220;a charging station is a tree of components, each with typed, attributed variables&#8221;. Your database schema needs to accommodate this hierarchy. Your user interface (UI) needs to present it meaningfully. The payoff is a system that genuinely understands your hardware rather than just storing configuration strings.</p><p>The specification recommends building a &#8220;flexible DM repository&#8221; that uses the self-description in reports to scale graphs (MinSet &amp; MaxSet), populate drop-downs (OptionList), and validate inputs (numeric, boolean). This is more work upfront but dramatically reduces per-station integration effort.</p><h3>On the charging station side</h3><p>Manufacturers vary significantly in Device Model implementation depth. A minimal implementation includes only mandatory components and variables &#8211; functional but limited. A full implementation exposes comprehensive self-description, supports configurable monitoring, and allows remote management of most operational parameters.</p><p>When evaluating hardware, ask vendors specifically about their Device Model implementation. Request sample reports. Verify which controller components are supported and how completely. The difference between minimal and full implementation is the difference between &#8220;OCPP 2.0.1 compatible&#8221; and &#8220;actually leveraging OCPP 2.0.1.&#8221;</p><h3>How an implementation could look like</h3><p>Imagine you need to represent a 350kW High Power Charger (HPC) with dual power modules, multiple temperature sensors, liquid and air cooling systems, and a full suite of configured monitors.</p><p>With everything you&#8217;ve learned about the Device Model&#8217;s capabilities, how would you structure this in your CSMS and present it to your operations team?</p><p>Lacking the design chops to mock this up myself (my Figma skills peaked at drawing rectangles and lines), I turned to Claude with that exact challenge. Here&#8217;s what my friend Opus 4.5 produced &#8211; feel free to steal liberally or judge harshly. ;)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QLdb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QLdb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QLdb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QLdb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QLdb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QLdb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg" width="1456" height="1043" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1043,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:368210,&quot;alt&quot;:&quot;Visual representation of an HPC charger using Device Model information&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/184130600?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Visual representation of an HPC charger using Device Model information" title="Visual representation of an HPC charger using Device Model information" srcset="https://substackcdn.com/image/fetch/$s_!QLdb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QLdb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QLdb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QLdb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47178c1e-fdfb-425d-a829-c2d0bb02cde1_1600x1146.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Visual representation of an HPC charger using Device Model information (example prompted by me, designed by Claude)</figcaption></figure></div><p>You can download the <strong>Full Inventory report</strong> for this example charger below. Substack doesn&#8217;t allow uploading JSON or ZIP files. However, CBZ files work, which are literally just ZIP archives. So go ahead and download the file, rename the file ending to &#8220;.zip&#8221;, and unzip it to see the JSON content. </p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Hpc350 Notifyreport Mock Example</div><div class="file-embed-details-h2">2.08KB &#8729; CBZ file</div></div><a class="file-embed-button wide" href="https://currentaffairs.io/f/33a43fbe-9e11-4cb2-8fb1-05de563f5c7c.cbz"><span class="file-embed-button-text">Read now</span></a></div><a class="file-embed-button narrow" href="https://currentaffairs.io/f/33a43fbe-9e11-4cb2-8fb1-05de563f5c7c.cbz"><span class="file-embed-button-text">Read now</span></a></div></div><p></p><h2>Best practices for adoption</h2><p>Based on implementation experience across the industry, several patterns emerge for successful Device Model deployment:</p><p><strong>Start with Full Inventory reports</strong> when onboarding any station, but verify against your asset management system. In an ideal world, you'd build your internal representation entirely from what the station reports. In reality, many manufacturers implement the Device Model minimally, so the report may be incomplete. Use the Full Inventory as a baseline, flag gaps where the station reports less than your asset records indicate, and treat those gaps as integration debt to address with the vendor.</p><p><strong>Use Configuration Inventory reports</strong> for audit and drift detection. Periodically request these reports from your charger infrastructure and compare against your expectations. Discrepancies indicate either unauthorised local changes or sync issues.</p><p><strong>Implement monitoring progressively</strong>. Begin with critical thresholds (temperature, error states) and expand based on operational learnings. The stations will tell you what they can monitor &#8211; listen to them.</p><p><strong>Build UI that adapts</strong>. When the Device Model reports that a variable is an <code>OptionList</code> with specific valid values, generate a dropdown. When it&#8217;s a number with <code>minLimit</code> and <code>maxLimit</code>, generate a bounded slider or input. Your interface becomes self-documenting.</p><p><strong>Plan for the hierarchy</strong>. Station-level components behave differently from EVSE-level components. A power limit on the station affects all EVSEs. A power limit on an EVSE affects only that charging point. Your management logic needs to understand this inheritance.</p><h2>The gap between specification and reality</h2><p>The Device Model described in this article represents what OCPP 2.0.1 makes possible, not necessarily what you&#8217;ll encounter in the field today. Many charging station manufacturers implement the Device Model minimally, exposing only mandatory components and variables while keeping richer telemetry behind proprietary interfaces. The reasons range from legitimate (implementation complexity, verbosity of the Device Model, and resource-constrained hardware) to strategic (maintaining differentiation and vendor leverage).</p><p>This gap matters. The Device Model&#8217;s value scales with adoption depth. A network where every station fully self-describes, exposes configurable monitoring, and reports component-level status is fundamentally easier to operate than one where you&#8217;re stitching together partial OCPP data with manufacturer-specific APIs and manual asset records.</p><p>For CPOs, the path forward is twofold: demand comprehensive Device Model implementation in procurement, and design your CSMS to leverage it fully when it&#8217;s available while gracefully handling gaps when it isn&#8217;t. The stations that report more will cost less to operate. Make that a selection criterion.</p><p>If you want to know which charger manufacturers and CSMS providers have already been certified by the Open Charge Alliance (OCA) for properly implementing the Device Model, then head over to the <a href="https://openchargealliance.org/certified-companies/">OCA&#8217;s certification page</a> and filter the protocol version for OCPP 2.0.1 and the certificate type for &#8220;D: Advanced Device Management&#8221;. You&#8217;ll only see a handful of companies as a result.</p><p>The Device Model is, in my opinion, the most powerful and important feature of OCPP 2.0.1. If you have a bit of time and want to learn more about all the wonderful new goodies this version brings to the table &#8211; such as better transaction handling, stronger cybersecurity, native ISO 15118 support &#8211; then I highly recommend watching the Open Charge Alliance (OCA)&#8217;s <strong>OCPP 2.0.1 tutorial</strong> webinar:</p><div id="youtube2-d-R18CsSKYI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;d-R18CsSKYI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/d-R18CsSKYI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>Hopefully this analysis has been useful &#8211; maybe even a catalyst for rethinking your approach. If you&#8217;re a charging station vendor, the <strong>Device Model</strong> isn&#8217;t just a compliance checkbox; it&#8217;s a <strong>competitive differentiator</strong>. The manufacturers who expose rich, queryable infrastructure that can be easily monitored will win the CPOs who are serious about scaling. If you&#8217;re a CPO, this is your leverage: demand implementation depth, not just certification logos, and make it a weighted criterion in every tender.</p><p>Yes, the Device Model comes with a learning curve and upfront investment. But the payoff is real: vendors who implement it fully will close deals with sophisticated operators; CPOs who require it will build networks that scale without scaling their headcount. That&#8217;s not a theoretical benefit &#8211; it&#8217;s the difference between infrastructure you manage and infrastructure that manages you.</p><p>In my next article (Part 2), we&#8217;ll examine why full adoption has been slow, including the role of MQTT as a parallel telemetry channel, the &#8220;Shadow OCPP&#8221; phenomenon where manufacturers maintain proprietary backchannels alongside your CSMS, and what it will take for the industry to realise the Device Model&#8217;s full potential.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p></p>]]></content:encoded></item><item><title><![CDATA[How a Plug & Charge session actually works]]></title><description><![CDATA[Learn how the EV automatically authenticates itself at the charging station, what security checks unfold, and what vehicle and charger OEMs need to consider in terms of memory capacity.]]></description><link>https://currentaffairs.io/p/how-a-plug-and-charge-session-actually-works</link><guid isPermaLink="false">https://currentaffairs.io/p/how-a-plug-and-charge-session-actually-works</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 23 Dec 2025 13:55:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oUdw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is the final chapter of my five-part Plug &amp; Charge series. The point where everything we&#8217;ve explored so far finally converges into the single moment you plug in your EV and experience the most seamless way of EV charging. </p><p>In Part 1 of my Plug &amp; Charge article series, we mapped out the <a href="https://currentaffairs.io/p/plug-and-charge-the-technology-ecosystem-and-road-ahead-of-seamless-charging">market roles, the state of play of Plug &amp; Charge in 2025, and the regulatory dynamics</a> (e.g. AFIR, NEVI) across the globe. In Part 2, we went down into the cryptographic engine room: the foundational <a href="https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging">cybersecurity concepts that enable confidentiality, authenticity and data integrity</a>, like public-private key cryptography and digital signatures. And in Part 3, we explored what &#8220;trust&#8221; really means in a machine-to-machine world and got introduced to the concept of <a href="https://currentaffairs.io/p/trust-is-all-you-need-inside-the-pki-that-powers-plug-and-charge">digital certificates and public key infrastructures (PKIs)</a>. These PKIs form the architecture that facilitates trust and authentic communication between <em>all market roles</em> involved in making Plug &amp; Charge a reality, worldwide. </p><p>In last week&#8217;s Part 4, we explored <a href="https://currentaffairs.io/p/preparing-an-ev-for-plug-and-charge-what-really-happens-behind-the-scenes">how the all-important contract certificate finds its way into your vehicle</a>. This contract certificate is the EV&#8217;s charging identity or &#8220;passport&#8221;, and it&#8217;s linked to a billing account of your chosen mobility service provider (MSP).</p><p>The final missing piece in this Plug &amp; Charge article series is <em>what actually happens at the charger when you plug in</em> the cable and the EV automatically authenticates and authorises itself for energy delivery without you having to do anything.</p><p>No apps. No cards. No QR codes needed to start charging. This is where it all finally comes together.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oUdw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oUdw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 424w, https://substackcdn.com/image/fetch/$s_!oUdw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 848w, https://substackcdn.com/image/fetch/$s_!oUdw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!oUdw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oUdw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png" width="1456" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1180184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/181507004?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oUdw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 424w, https://substackcdn.com/image/fetch/$s_!oUdw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 848w, https://substackcdn.com/image/fetch/$s_!oUdw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!oUdw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fcbc43f-618e-4e3b-954f-bed39b15309a_2184x1572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>How a Plug &amp; Charge session actually works</h2><p>Once a contract certificate is inside the vehicle, the magic of Plug &amp; Charge plays out in three choreographed phases every time you plug in.</p><h3>1. First, the car and charger build trust</h3><p>It starts with the EV and the charger establishing a secure communication channel. After you plug in and the digital communication link is set up, they negotiate the version of TLS (Transport Layer Security) to use: TLS 1.2 for ISO 15118-2 or TLS 1.3 for ISO 15118-20.</p><p>The charger then presents its certificate chain &#8211; the SECC certificate and the CPO Sub CA certificates &#8211; to identify itself to the EV as a trustworthy charger. The same principle is at play when you surf any https-secured website these days. The charger is basically the equivalent of a web server in this analogy. In case you need a refresher on the various certificates that belong to each EV charging market role, check out my section on<a href="https://currentaffairs.io/i/179259048/the-iso-pki-ecosystem"> the ISO 15118 PKI ecosystem</a>. </p><p>The EV then checks the entire chain against its pre-installed trust anchor, which is the V2G root certificate that was installed in the car before it was delivered to a customer &#8211; just like your browser checks a website&#8217;s certificate before loading a page. You may also want to refresh your understanding on the <a href="https://currentaffairs.io/i/179259048/step-by-step-the-chain-of-trust-from-leaf-to-trust-anchor">chain of trust from leaf certificate to trust anchor</a> if that concept still feels a bit unclear.</p><p>Only ISO 15118-20 supports mutual authentication, whereby the vehicle also authenticates itself to the charger sending a <a href="https://currentaffairs.io/i/179259048/additional-certificates-in-iso">Vehicle Certificate chain</a>.</p><p>The EV also performs revocation checks: ISO 15118-2 relies on short-lived (2-3 months) SECC certificates and uses <a href="https://currentaffairs.io/i/179259048/checking-a-certificates-revocation-status-with-ocsp">OCSP (Online Certificate Status Protocol) validation</a> for the CPO Sub CA certificates, while ISO 15118-20 mandates OCSP for all certificates. </p><p>Once everything checks out, the EV accepts the charger as trustworthy and the rest of the conversation is encrypted.</p><h3>2. The car and charger agree on the identification method</h3><p>ISO 15118 supports two ways to identify the driver during a charging session:</p><ul><li><p><strong>EIM (External Identification Means)</strong>: RFID, credit card, app, QR code</p></li><li><p><strong>Plug &amp; Charge</strong>: Fully automated certificate-based authentication</p></li></ul><p>The crucial detail: the charger must not identify the driver <em>twice</em>.</p><p>If a driver taps an RFID card first and <em>then</em> plugs in, the charger should not offer Plug &amp; Charge anymore; otherwise, the EV might also authenticate using its contract certificate, creating the risk of duplicate billing.</p><p>A sensible approach is:</p><ul><li><p>If the driver authenticates via EIM first &#8594; disable Plug &amp; Charge for this session.</p></li><li><p>If the cable is plugged in first &#8594; offer both.</p></li><li><p>If Plug &amp; Charge fails due to an expired or invalid certificate &#8594; fall back gracefully, reset, and give the EV another chance or offer EIM as backup.</p></li></ul><p>Designing this identification logic well makes the difference between effortless charging and user confusion.</p><h3>Step 3: The car proves who it is</h3><p>Once Plug &amp; Charge is selected, the EV presents its contract certificate &#8211; along with the MSP Sub CA certificates, all packaged up nicely in a certificate chain &#8211; to the charger, and this is where the real authentication happens. Behind the scenes, several security checks unfold, each designed to ensure the session is legitimate, the billing account is valid, and no one is trying to impersonate the vehicle.</p><h4>1. The charger verifies the certificate chain</h4><p>The charger or CPO backend checks:</p><ul><li><p><strong>Validity:</strong> none of the certificates in the chain have expired</p></li><li><p><strong>Authenticity:</strong> every signature from the contract certificate up to the root is valid</p></li></ul><p>These checks can &#8211; and should &#8211; be performed locally on the charger. A prerequisite for that is that the charger has <a href="https://currentaffairs.io/i/179259048/the-common-root-of-trust">the correct root certificates installed</a> &#8211; typically one of the V2G root CAs provided by the PKI operators, or in rarer cases an MSP&#8217;s own root CA (less likely). If those certificates aren&#8217;t available locally, the charger must send the contract certificate chain to the CPO backend for verification, usually via OCPP 2.0.1 (or, less ideally, via OCPP 1.6 with security extensions, which can introduce interoperability issues). </p><p>I highly recommend doing this verification step locally (on the charger) as these certificate chains are several kilobytes in size and can delay the charging process depending on the charger&#8217;s internet connectivity and data congestion. Otherwise, you risk negatively impacting the user experience.</p><h4>2. The charger checks for revocation</h4><p>Some checks <em>must</em> be online. One of them is certificate revocation. The charger queries the <a href="https://currentaffairs.io/i/179259048/checking-a-certificates-revocation-status-with-ocsp">OCSP responder</a> listed in the certificate to make sure that:</p><ul><li><p>the CPO Sub CA certificates (ISO 15118-2 and -20), and</p></li><li><p>the contract certificate (ISO 15118-20 only),</p></li></ul><p>have not been revoked. Without this, a compromised or invalid certificate could still authenticate.</p><div><hr></div><blockquote><p><strong>Hubject&#8217;s</strong> <strong>Requirements EVSE CHECK for Plug &amp; Charge with ISO 15118-2</strong> </p><p>Hubject currently provides a Plug &amp; Charge (PnC) certification program for EV chargers called <strong>EVSE Check</strong>, which has helped accelerate early adoption.</p><p>As such, Hubject published a <a href="https://support.hubject.com/hc/en-us/article_attachments/20669741305245">requirements document</a> that <em>every charger manufacturer and CPO must study closely</em> because it defines the exact security and process steps required for a seamless, interoperable Plug &amp; Charge experience across the ecosystem. </p><p>For example, section 2.8 &#8220;<em>Performing PnC related OCPP messages</em>&#8221; stipulates that a charger should verify the contract certificate chain locally because it already holds the V2G / MSP root certificates needed for validation, making the process faster without burdening the network. </p><p>The CPMS does not need the full certificates, only their (significantly smaller) hash data, which uniquely identifies each certificate and is sufficient for OCSP responders to check their revocation status. Sending the full certificate chain would add no security value while significantly increasing message sizes and communication overhead. </p><p>The OCPP configuration key <strong>CentralContractValidationAllowed</strong> specifies whether the backend is allowed to receive full certificates; if this key is not set, the charger must default to local validation of all the signatures along the certificate chain and send only hash data in the AuthorizeRequest to check each certificate&#8217;s revocation status. This ensures consistent behaviour, reduced bandwidth usage, and a smoother, faster Plug &amp; Charge flow.</p></blockquote><div><hr></div><h4>3. The charger verifies the billing account</h4><p>Trust in the certificate alone, which represents the charging identity, is not enough. The charge point operator (CPO) also needs to know that the <em>billing contract is still active</em>. </p><p>Using the provider ID inside the E-Mobility Account Identifier (EMAID), the CPO&#8217;s backend &#8211; also known as Charge Point Management System (CPMS) &#8211; contacts the correct MSP to confirm that the account hasn&#8217;t been suspended or cancelled. This is a crucial business step: no CPO wants to deliver energy without knowing they&#8217;ll be paid for it.</p><p>And how does the CPO get in contact with the right MSP, based on this EMAID? </p><p>That&#8217;s where roaming protocols comes into play. The CPO uses either a roaming hub like Hubject (which currently only supports their proprietary OICP protocol) or the peer-to-peer roaming protocol OCPI (Open Charge Point Interface). The latter is becoming more and more an industry standard, which is why Hubject <a href="https://www.hubject.com/blog-posts/hubject-and-evrf-join-forces-to-further-drive-scalability-for-the-global-ev-market">finally announced their support of OCPI</a> in September 2025. According to my sources, it&#8217;ll probably take until the end of 2026 until Hubject fully supports OCPI as well. </p><h4>4. The system prevents replay attacks</h4><p>To ensure no attacker can &#8220;replay&#8221; a previously captured authorisation message, ISO 15118 uses a challenge-response mechanism. The charger sends a secure and randomly generated 128-bit value (the &#8220;challenge&#8221;). The EV must include this challenge in its Authorization Request message and sign the message using the private key linked to its contract certificate.</p><p>The charger verifies this signature using the contract certificate&#8217;s public key. No backend is needed here &#8211; just proper cryptography and a secure random number generator. For data privacy and security, the EV&#8217;s contract certificate must not remain stored on the charger once the session ends.</p><h4>5. And then charging can finally begin</h4><p>Once all checks pass &#8211; certificate chain validation, revocation, billing account status, and replay protection &#8211; the EV is authenticated. Only then do the EV and charger continue with the ISO 15118 message flow to negotiate charging parameters and charging schedules.</p><p>The sequence diagram below summarises the relevant steps of the authentication and authorisation flow we just discussed. It illustrates the activities of each involved party &#8211; EV, charger, CPMS backend, OCSP responder, mobility service provider &#8211; and the communication protocols used to exchange the data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MWLS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MWLS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 424w, https://substackcdn.com/image/fetch/$s_!MWLS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 848w, https://substackcdn.com/image/fetch/$s_!MWLS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 1272w, https://substackcdn.com/image/fetch/$s_!MWLS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MWLS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png" width="1456" height="2383" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2383,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:199764,&quot;alt&quot;:&quot;Authentication &amp; authorisation steps for a Plug &amp; Charge session (ISO 15118-2)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/181507004?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Authentication &amp; authorisation steps for a Plug &amp; Charge session (ISO 15118-2)" title="Authentication &amp; authorisation steps for a Plug &amp; Charge session (ISO 15118-2)" srcset="https://substackcdn.com/image/fetch/$s_!MWLS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 424w, https://substackcdn.com/image/fetch/$s_!MWLS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 848w, https://substackcdn.com/image/fetch/$s_!MWLS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 1272w, https://substackcdn.com/image/fetch/$s_!MWLS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1298e44f-dd74-49d5-9e4a-d05df00a1f09_2343x3834.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Authentication &amp; authorisation steps for a Plug &amp; Charge session (ISO 15118-2)</figcaption></figure></div><h2>Does Plug &amp; Charge work if the charger is offline?</h2><p>Technically yes, but not without disregarding the above mentioned security checks.</p><p>A charger <em>can</em> authorise offline, but it&#8217;s risky: the billing account might later turn out to be suspended.</p><p>A pragmatic approach is:</p><ul><li><p>allow Plug &amp; Charge when offline <strong>only if the certificate has not previously caused a failed billing validation</strong>,</p></li><li><p>otherwise fall back to EIM (e.g. using a local RFID allowlist) until the charger is online again.</p></li></ul><p>This approach keeps drivers charging while still protecting the CPO against repeated losses.</p><p></p><h2>Operational takeaways for OEMs and CPOs</h2><p>Let&#8217;s clarify <em>what</em> cryptographic material must live inside an EV and a charging station to establish a secure TLS 1.2 (ISO 15118-2) or TLS 1.3 (ISO 15118-20) connection and to provision, store, and validate the contract certificate(s) for Plug &amp; Charge.</p><p>In TLS (Transport Layer Security), each side needs two distinct sets of data: <strong>identity material</strong> (often called a <em>keystore</em>) and <strong>trust material</strong> (often called a <em>truststore</em>). </p><p>The keystore holds the device&#8217;s private key and its corresponding leaf certificate, usually together with any required intermediate (Sub CA) certificates, and represents &#8220;who I am.&#8221; </p><p>The <em>truststore</em> contains trusted CA certificates (trust anchors) used to verify the other party&#8217;s certificate and answer &#8220;who do I trust&#8221; (see my <a href="https://currentaffairs.io/i/179259048/step-by-step-the-chain-of-trust-from-leaf-to-trust-anchor">explainer on chain of trust</a>).</p><p>While the terms keystore and truststore are common (and well known from Java), you may also see the same concepts described as <em>private key + certificate chain</em>, <em>identity</em>, <em>CA bundle</em>, <em>root store</em>, or <em>trust anchors</em> in C, C++, Rust, and embedded TLS stacks.</p><p>The image below illustrates where each cryptographic key material and digital certificates need to sit. This becomes an important consideration when determining how much memory your EV or charger should include before it goes to market. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PJuX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PJuX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 424w, https://substackcdn.com/image/fetch/$s_!PJuX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 848w, https://substackcdn.com/image/fetch/$s_!PJuX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 1272w, https://substackcdn.com/image/fetch/$s_!PJuX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PJuX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png" width="1456" height="2711" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2711,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:333875,&quot;alt&quot;:&quot;Certificates and private keys to store safely in the EV&#8217;s and charger&#8217;s keystore and truststore to enable Plug &amp; Charge&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/181507004?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Certificates and private keys to store safely in the EV&#8217;s and charger&#8217;s keystore and truststore to enable Plug &amp; Charge" title="Certificates and private keys to store safely in the EV&#8217;s and charger&#8217;s keystore and truststore to enable Plug &amp; Charge" srcset="https://substackcdn.com/image/fetch/$s_!PJuX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 424w, https://substackcdn.com/image/fetch/$s_!PJuX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 848w, https://substackcdn.com/image/fetch/$s_!PJuX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 1272w, https://substackcdn.com/image/fetch/$s_!PJuX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c23a9c-9e58-42f6-b907-9612bed187ee_2154x4011.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Certificates and private keys to store safely in the EV&#8217;s and charger&#8217;s keystore and truststore to enable Plug &amp; Charge</figcaption></figure></div><p>It is difficult to specify an exact number of certificates that must be stored in a Plug &amp; Charge-enabled EV or charger brought to market. Instead, the following guidelines can be used to size the required certificate storage appropriately:</p><h3>General considerations</h3><ul><li><p>While ISO 15118-2 allows for <strong>maximum certificate sizes</strong> of <strong>800 bytes</strong>, in ISO 15118-20 the maximum allowed certificate size <strong>increased to</strong> <strong>1,600 bytes</strong>. This change was introduced to accommodate the richer data (e.g. more detailed subject/issuer fields) and modern cryptographic algorithms required (e.g. stronger elliptic curves such as <em>secp521r1</em> or <em>Ed448</em>).</p></li><li><p><strong>Certificates issued for ISO 15118-2 cannot be reused for ISO 15118-20</strong>. Each standard version requires its own dedicated certificate hierarchy, including separate leaf and Sub CA certificates.<br></p><p>For example, an OEM provisioning certificate issued for ISO 15118-2 is valid only for that version and must not be used for ISO 15118-20. Supporting both standards therefore requires installing and managing two parallel certificate sets &#8211; one for ISO 15118-2 and one for ISO 15118-20.</p></li><li><p>All cryptographic key material on the EV or charger should be stored in a hardware-backed secure element &#8211; e.g. <strong>TPM 2.0-compliant device or Hardware Security Module (HSM)</strong> &#8211;&nbsp;that enforces non-exportable keys and protected cryptographic operations.</p></li></ul><h3>Memory storage for EVs</h3><ul><li><p>The <strong>OEM provisioning certificate</strong> only needs to be stored on the EV if the vehicle manufacturer intends <strong>to support contract certificate installation via the charging station</strong> using ISO 15118. If the contract certificate is provisioned exclusively via over-the-air (OTA) updates, the OEM provisioning certificate only needs to reside in the cloud-based Provisioning Certificate Pool (PCP) (see <a href="https://currentaffairs.io/i/180313892/step-create-vehicle-identity-and-install-trust-anchors">here for a refresher on PCP</a>).</p><p></p><p>The same applies to the OEM Sub CA certificates. These certificates must be installed on the EV only if the vehicle supports ISO 15118-20 and contract certificate installation via the charging station is enabled as a feature. Otherwise, they can remain solely in the PCP.</p><p></p><p>According to Steffen Rhinow, Director Plug &amp; Charge at Hubject, the prevailing trend is to provision contract certificates exclusively via OTA updates rather than through the charging station.</p></li><li><p>The <strong>Vehicle Certificates</strong> were <strong>introduced with ISO 15118-20</strong> to enable mutual TLS authentication. Mutual authentication means that authentication now happens in both directions &#8211; the EV must also prove its identity to the charger, not just the other way around. Vehicle certificates<strong> are not used in ISO 15118-2</strong>.</p></li><li><p>The more <strong>MSP</strong> contracts an EV driver is allowed to use with their EV, the more <strong>contract certificate chains</strong> (leaf + two Sub CA certificates) need to be stored on the EV. <br><br>For example, if a vehicle allows up to five MSP contracts and supports both ISO 15118-2 and -20, then worst case you need to account for a maximum of </p><ul><li><p>5 x 3 x 800 bytes (five ISO 15118-2 contract certificate chains)</p></li><li><p>+ 5 x 3 x 1600 bytes (five ISO 15118-20 contract certificate chains)</p></li><li><p>= 36 kilobytes for contract certificates.</p></li></ul></li><li><p>Each EV must have <strong>sufficient storage to hold all relevant V2G root CA certificates</strong> for the region in which it is sold. OEMs do not embed all global V2G root CAs by default; instead, the selection is driven by the vehicle&#8217;s target market.<br><br>For example, an EV sold in Europe typically does not require North American trust anchors, and vice versa. Based on the illustration above, an EV sold in Europe should be capable of storing at least three V2G root CA certificates &#8211;&nbsp;one each from Hubject (current market leader), Irdeto, and Gireve. In addition, storage must account for a transitional period of roughly one year during which an expiring trust anchor and its replacement coexist. I&#8217;d say <strong>storage for five to six trust anchors should be sufficient</strong>.</p><p><br>The current reality is that only Hubject&#8217;s V2G root CA is installed in Plug &amp; Charge enabled EVs. Time will tell when Iredto, Gireve, and other PKI providers&#8217; trust anchors will find their way into the EVs of various vehicle brands.</p><p><br>Note that the industry is moving toward <em>Certificate Trust Lists (CTLs)</em> &#8211; a simpler way to publish trusted Root CAs. The EU&#8217;s Sustainable Transport Forum (STF) is currently defining a PKI interoperability governance directive, which defines the guidelines for operating such a CTL. Current timelines hint at a publication by earliest 2026, more likely 2027.</p></li><li><p>Remember that the corresponding <strong>private keys</strong> must also be stored for each leaf certificate, because they are needed to create the digital signatures: one for every contract certificate, potentially one for the OEM provisioning certificate (if contract certificate installation via the charging station is enabled), and one for the vehicle certificate (mutual authentication for ISO 15118-20 only).</p></li></ul><h3>Memory storage for chargers</h3><ul><li><p>In practice, most CPOs integrate with only a single PKI provider for issuing their SECC certificate chain. The dominant provider today is Hubject, whose V2G root CA is embedded in virtually all Plug &amp; Charge-enabled EVs. As a result, ensuring regional interoperability seems to largely fall to vehicle OEMs, which must install all relevant V2G root CA trust anchors for the markets in which their vehicles are sold.</p></li><li><p>Building on the previous point, the CPO must <strong>install the V2G root CA </strong>trust anchor on the charger so that the charger can <strong>validate the SECC certificate chain during installation</strong> via OCPP.</p></li><li><p>To enable local validation of the contract certificate chain received from the EV during Plug &amp; Charge authentication, the <strong>CPO must ensure that the trust anchors of all relevant MSPs</strong> <strong>are installed</strong> on the charger. While many MSPs are likely to rely on one of the existing V2G root CAs &#8211; like Digital Charging Services (DCS), used e.g. by BMW &#8211; some vehicle manufacturers who offer their own MSP service also operate a dedicated MSP root CA. Examples are Tesla, Rivian, Lucid, and Volkswagen (using Elli).</p></li><li><p>Finally, to support mutual authentication in ISO 15118-20 and verify the EV&#8217;s identity, the CPO must <strong>install all relevant trust anchors used by different vehicle brands</strong>. These trust anchors may be OEM-specific root CA certificates (if operated by the vehicle manufacturer, like Tesla, Rivian, Lucid, VW etc.) or V2G root CA certificates provided by a PKI provider &#8211; most commonly Hubject, which is currently the market leader.</p><p></p></li></ul><h3>The costs of maintaining SECC certificates</h3><p>One note on the cost of issuing SECC certificates for CPOs: the price is about <strong>&#8364;0.99 per SECC certificate per year </strong>(Hubject&#8217;s price, may be similar with other PKI providers), effectively per charging station, as each charger typically has one ISO 15118 communication controller (the SECC, stands for Supply Equipment Communication Controller).</p><p>Although an SECC certificate must be renewed multiple times per year (typically three to four times), the fee is charged only once annually. As a result, the total cost of issuing and maintaining SECC certificates scales directly with the number of Plug &amp; Charge-enabled charging stations deployed in the field.</p><p></p><h2>Plug &amp; Charge Direct &#8211; ISO 15118 &amp; credit cards</h2><p>Before we close this chapter on Plug &amp; Charge, I want to make you aware of a recent new development: <strong>Plug &amp; Charge Direct.</strong></p><p>Plug &amp; Charge Direct was introduced by Hubject and fundamentally expands the classic contract-based Plug &amp; Charge model by adding <strong>direct payment via credit card, without breaking the ISO 15118 flow</strong>. In short: drivers no longer need a pre-existing MSP contract. Instead, they can register a credit card once via the OEM app or vehicle HMI, after which charging works exactly like Plug &amp; Charge today &#8211; just plug in and charge. Behind the scenes, a contract certificate is still generated and installed in the vehicle, but it is now linked to a payment token rather than an MSP account, preserving the familiar PKI-based authentication model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4YOy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4YOy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 424w, https://substackcdn.com/image/fetch/$s_!4YOy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 848w, https://substackcdn.com/image/fetch/$s_!4YOy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 1272w, https://substackcdn.com/image/fetch/$s_!4YOy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4YOy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png" width="1456" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135143,&quot;alt&quot;:&quot;Plug &amp; Charge Direct (1/3) &#8211; Source: Hubject&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/181507004?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plug &amp; Charge Direct (1/3) &#8211; Source: Hubject" title="Plug &amp; Charge Direct (1/3) &#8211; Source: Hubject" srcset="https://substackcdn.com/image/fetch/$s_!4YOy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 424w, https://substackcdn.com/image/fetch/$s_!4YOy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 848w, https://substackcdn.com/image/fetch/$s_!4YOy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 1272w, https://substackcdn.com/image/fetch/$s_!4YOy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62000f-be00-4ff7-a1f8-d94fb611533a_2968x1550.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Plug &amp; Charge Direct (1/3) &#8211; Source: Hubject</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QkVr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QkVr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 424w, https://substackcdn.com/image/fetch/$s_!QkVr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 848w, https://substackcdn.com/image/fetch/$s_!QkVr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 1272w, https://substackcdn.com/image/fetch/$s_!QkVr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QkVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png" width="1456" height="758" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:758,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118012,&quot;alt&quot;:&quot;Plug &amp; Charge Direct (2/3) &#8211; Source: Hubject&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/181507004?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plug &amp; Charge Direct (2/3) &#8211; Source: Hubject" title="Plug &amp; Charge Direct (2/3) &#8211; Source: Hubject" srcset="https://substackcdn.com/image/fetch/$s_!QkVr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 424w, https://substackcdn.com/image/fetch/$s_!QkVr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 848w, https://substackcdn.com/image/fetch/$s_!QkVr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 1272w, https://substackcdn.com/image/fetch/$s_!QkVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d448d0-7898-4c4e-98cf-d60c4ce355c1_2974x1548.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Plug &amp; Charge Direct (2/3) &#8211; Source: Hubject</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SUVc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SUVc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 424w, https://substackcdn.com/image/fetch/$s_!SUVc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 848w, https://substackcdn.com/image/fetch/$s_!SUVc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 1272w, https://substackcdn.com/image/fetch/$s_!SUVc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SUVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png" width="1456" height="757" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:757,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113839,&quot;alt&quot;:&quot;Plug &amp; Charge Direct (3/3) &#8211; Source: Hubject&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/181507004?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plug &amp; Charge Direct (3/3) &#8211; Source: Hubject" title="Plug &amp; Charge Direct (3/3) &#8211; Source: Hubject" srcset="https://substackcdn.com/image/fetch/$s_!SUVc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 424w, https://substackcdn.com/image/fetch/$s_!SUVc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 848w, https://substackcdn.com/image/fetch/$s_!SUVc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 1272w, https://substackcdn.com/image/fetch/$s_!SUVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcd3a785-4177-4848-857a-ef68a3ce1fa7_2972x1546.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Plug &amp; Charge Direct (3/3) &#8211; Source: Hubject</figcaption></figure></div><p>What makes this interesting is how seamlessly it integrates into the existing ecosystem. The EV still authenticates via ISO 15118, the charger still talks OCPP to the CPO backend, and authorisation and clearing continue to flow through Hubject&#8217;s   platform. The difference is that authorisation now also involves a Plug &amp; Charge Direct service that matches the vehicle&#8217;s EMAID to a payment token and triggers credit-card-based settlement in parallel. For CPOs, this means broader access specifically to vehicle OEM fleet cars that may not be enabled for an MSP-based Plug &amp; Charge experience. For drivers, it means Plug &amp; Charge convenience, no contracts required, and full price transparency right in the car or app.</p><p>Mer and BMW were the first to implement this concept, let&#8217;s see how the market will evolve in this direction.</p><p>Thanks to Steffen Rhinow from Hubject for providing the slide deck, which explains this concept in more detail (see download link below).</p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">2025 Plug &amp; Charge Direct</div><div class="file-embed-details-h2">3.83MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://currentaffairs.io/api/v1/file/b361f23c-9754-4fc1-a260-cd71422b5c4e.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://currentaffairs.io/api/v1/file/b361f23c-9754-4fc1-a260-cd71422b5c4e.pdf"><span class="file-embed-button-text">Download</span></a></div></div><div><hr></div><p>And that&#8217;s a wrap for today.</p><p>If you&#8217;ve followed the full five-part Plug &amp; Charge series &#8211; congratulations. You&#8217;re now pretty much an expert. You should have everything you need to be dangerous in the best possible way and to confidently support your team in bringing Plug &amp; Charge products to market.</p><p>If you have any follow-up questions, feel free to drop them in the comments below or reply directly to this email (and don&#8217;t forget to <strong>sign up for the newsletter</strong> if you haven&#8217;t already).</p><p>I wish you a wonderful holiday break and some well-deserved days to recharge with friends and family. I&#8217;ll be taking a short break as well and will be back in January with a brand-new article series. Spoiler alert: we&#8217;ll dive into the exciting world of load balancing &#8211;&nbsp;and eventually vehicle-to-grid &#8211; analysed with the same level of detail and depth you&#8217;ve come to expect (and hopefully cherish) from this newsletter.</p><p>See you in 2026.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Preparing an EV for Plug & Charge: what really happens behind the scenes ]]></title><description><![CDATA[A step-by-step look at the orchestration of digital certificates, billing contracts, and market roles that enables seamless Plug & Charge across the entire industry.]]></description><link>https://currentaffairs.io/p/preparing-an-ev-for-plug-and-charge-what-really-happens-behind-the-scenes</link><guid isPermaLink="false">https://currentaffairs.io/p/preparing-an-ev-for-plug-and-charge-what-really-happens-behind-the-scenes</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Wed, 17 Dec 2025 09:01:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Fgvx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This article tells the story of how the simplest and most secure form of authentication at an EV charging station is actually the result of a fairly sophisticated orchestration of and collaboration between various players in the e-mobility market. </p><p>How a physical vehicle becomes a digital charging identity. How a billing relationship is transformed into a cryptographic contract. How that contract is securely delivered into your car &#8211; sometimes quietly in the background, sometimes live at the charging station &#8211; so your EV can use it to authenticate and authorise on your behalf in a matter of seconds.</p><p>Bringing home the same &#8220;just plug and go&#8221; experience Tesla drivers have experienced for a long time &#8211; but enabled <em>across</em> <em>all EV and charger brands</em>. </p><p>Throughout this article, I&#8217;ll link back to the first three chapters of this five-part Plug &amp; Charge series. Those earlier pieces introduced the market roles, the cryptographic building blocks, and the digital certificate ecosystem (think PKI) that make everything work. This article brings those threads together so the &#8220;magic&#8221; of Plug &amp; Charge finally feels tangible and real.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fgvx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fgvx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 424w, https://substackcdn.com/image/fetch/$s_!Fgvx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 848w, https://substackcdn.com/image/fetch/$s_!Fgvx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!Fgvx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fgvx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:638288,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/180313892?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fgvx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 424w, https://substackcdn.com/image/fetch/$s_!Fgvx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 848w, https://substackcdn.com/image/fetch/$s_!Fgvx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!Fgvx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9291891e-b3a7-4697-bb00-a26f455cb688_2253x1572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You plug in your car. And charging just&#8230; starts.</p><p>To the driver, this feels effortless. You don&#8217;t even need to go inside the kiosk to pay for the electricity.</p><p>To the system behind it, this is one of the most carefully choreographed trust exchanges in the entire energy and mobility ecosystem. What looks like a single moment of convenience is actually the result of a <strong>multi-party cryptographic provisioning process</strong> that began long before that cable ever touched the socket.</p><p>Let&#8217;s unpack what really happens before Plug &amp; Charge ever becomes &#8220;just plug in and go&#8221;.</p><p></p><h2>How your EV turns into a digital charging identity</h2><p>One of the most important steps in Plug &amp; Charge doesn&#8217;t happen at a charging station. It happens before the car is even sold.</p><h3>Step 1: Create vehicle identity &amp; install trust anchors</h3><p>When a vehicle leaves the factory, it already carries:</p><ul><li><p>A unique digital identity called <em>Provisioning Certificate ID (PCID)</em>, which is tied to that exact physical vehicle</p></li><li><p>A public&#8211;private key pair generated securely inside the car</p></li><li><p>An <em>OEM provisioning certificate</em> issued by the manufacturer, which contains both the PCID (in its Subject attribute<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>) and the newly created public key &#8211; this certificate is basically the vehicle&#8217;s own &#8220;digital passport&#8221;</p></li><li><p>And one or more <em>V2G root CA certificates</em> that tell the car which charging infrastructure it is allowed to trust. Go check <a href="https://currentaffairs.io/i/179259048/the-common-root-of-trust">this section in the previous article</a> if you don&#8217;t know or remember what I mean by V2G root CA certificate.</p></li></ul><p>This is the EV equivalent of pre-installing trusted website identities into your web browser. Without these trust anchors, the car would have no way of knowing whether a charger is legitimate or a fake designed to intercept data.</p><p>The vehicle manufacturer also uploads the OEM provisioning certificate, along with its OEM Sub CA certificates, to a database called the <em>Provisioning Certificate Pool (PCP)</em>, operated by the PKI provider. The MSP will need access to this certificate chain, as you&#8217;ll see in the next step.</p><p>The illustration below focuses on the vehicle manufacturer&#8217;s steps to create an OEM provisioning certificate and to store it in the vehicle for which it was issued.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AUix!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AUix!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 424w, https://substackcdn.com/image/fetch/$s_!AUix!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 848w, https://substackcdn.com/image/fetch/$s_!AUix!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 1272w, https://substackcdn.com/image/fetch/$s_!AUix!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AUix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png" width="1456" height="1300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1300,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:144165,&quot;alt&quot;:&quot;Creating and storing an OEM Provisioning Certificate&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/180313892?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Creating and storing an OEM Provisioning Certificate" title="Creating and storing an OEM Provisioning Certificate" srcset="https://substackcdn.com/image/fetch/$s_!AUix!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 424w, https://substackcdn.com/image/fetch/$s_!AUix!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 848w, https://substackcdn.com/image/fetch/$s_!AUix!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 1272w, https://substackcdn.com/image/fetch/$s_!AUix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb97fb3-a407-4c69-96c9-bfb4949b75d5_2048x1829.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Creating and storing an OEM Provisioning Certificate</figcaption></figure></div><p>There are several Plug &amp; Charge PKI providers operating globally, each offering their own V2G root certificate authority (CA). In Europe, we have Hubject, Irdeto, and Gireve. In North America, the landscape includes Hubject, Irdeto, SSI, and DigiCert. </p><p>From what I understand, car manufacturers don&#8217;t install all of these by default. Instead, the choice of which V2G root CAs to embed is largely driven by where the vehicle is sold. A car delivered in Europe is unlikely to need the North American trust anchors, and vice versa.</p><p>All right, let&#8217;s move on. At this stage, the car doesn&#8217;t yet know who will pay for charging. </p><p></p><h3>Step 2: Linking the MSP to the vehicle&#8217;s unique identity</h3><p>The mobility service provider (MSP) is the market role that provides the billing account for the energy your vehicle charges during a Plug &amp; Charge session. The single most important piece of information the MSP needs from the vehicle owner is the <strong>PCID</strong> &#8211; the provisioning certificate ID<em> </em>that uniquely identifies the specific vehicle being enabled for Plug &amp; Charge.</p><p>In the cleanest implementation, the vehicle owner retrieves this PCID directly from the car&#8217;s app or from documentation supplied by the manufacturer. But in practice, some MSPs deliberately abstract this complexity away from the user and accept more familiar identifiers instead, such as the <strong>vehicle registration number</strong> or even the <strong>VIN </strong>(vehicle identification number). Octopus Electroverse, a pioneer on Plug &amp; Charge on the MSP side, follows this approach in its <a href="https://electroverse.com/community/ev-blogs-and-guides/what-is-plug-and-charge">Plug &amp; Charge onboarding flow</a>.</p><div class="pullquote"><p>&#8220;We&#8217;re big believers in Plug &amp; Charge as the eventual industry-wide answer to simple consumer charging.&#8221;</p><p>&#8211; Matt Davies, Founder &amp; Director at Octopus Electroverse</p></div><p>In the UK, this works because MSPs can &#8211; under tightly regulated conditions &#8211; query the DVLA (Driver and Vehicle Licensing Agency). The DVLA is the government body that holds the authoritative register of all vehicles and registered keepers. By resolving a number plate against DVLA records, the MSP can indirectly determine the underlying PCID it actually needs.</p><p>Why does that PCID matter so much?</p><p>Because it is the lookup key that allows the MSP to retrieve the car&#8217;s <strong>OEM provisioning certificate</strong> and related OEM Sub CA certificates from a dedicated database called the Provisioning Certificate Pool (PCP).</p><p>And crucially, the MSP uses the public key inside the OEM provisioning certificate  later to establish a secure encryption key with the vehicle (using an <a href="https://currentaffairs.io/i/178481848/how-do-you-secure-the-encryption-key">ECDH-style key agreement</a>). That shared key is then used to encrypt the vehicle&#8217;s private signing key when the contract certificate is created. This signing key is the private counterpart to the public key embedded in the contract certificate itself.</p><p></p><h3>Step 3: Turning the billing contract into a cryptographic ID</h3><p>Once the MSP has both:</p><ul><li><p>a confirmed PCID, and</p></li><li><p>proof that the driver is entitled to use the vehicle,</p></li></ul><p>it can begin creating the digital object that actually enables seamless Plug &amp; Charge: the <em>contract certificate</em>.</p><p>The first thing the MSP generates is the <em>E-Mobility Account ID (EMAID)</em>. This is the globally unique identifier that&#8217;s tied to the charging contract, think of it as the billing account ID. The structure of an EMAID is defined in ISO 15118 and it encodes:</p><ul><li><p>the <em>country</em> the mobility service provider is registered in,</p></li><li><p>the MSP&#8217;s <em>provider ID</em>,</p></li><li><p>and the unique billing account instance.</p></li></ul><p>Several countries have established identifier registries for businesses where you can look up both operator IDs (for CPOs) and provider IDs (for MSPs). In the UK, for example, it&#8217;s the <a href="https://www.evroam.org.uk/id-register">EV Roam registry</a>, in Germany it&#8217;s the <a href="https://bdew-codes.de/Codenumbers/EMobilityId/ProviderIdList">Energy Codes &amp; Services GmbH</a>.</p><p>To stay with the Octopus Electroverse example from above, a valid EMAID could be GB-OCT-C1234ABCD (with GB-OCT being Octopus&#8217; provider ID in the UK). </p><p>At this point, the EMAID represents a commercial relationship. Next, the MSP:</p><ol><li><p>Requests the OEM provisioning certificate (and the connected OEM Sub CA certificates<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>) from the provisioning certificate pool, using the PCID supplied during signup as a lookup key.</p></li><li><p>Generates a brand-new public&#8211;private key pair that will represent the cryptographic identity of the charging contract.</p></li><li><p>Issues and signs the contract certificate (see an <a href="https://currentaffairs.io/i/179259048/how-does-a-digital-certificate-look-like">example here</a>), binding together:</p><ul><li><p>the newly generated public key,</p></li><li><p>and the EMAID (in the Subject attribute).</p></li></ul></li></ol><p>Now comes one of the most security-critical steps in the entire system.</p><p>The <strong>private key must be transferred to the vehicle &#8211; but in a way that ensures only that specific EV can ever use it</strong>.</p><p>To achieve this, the MSP:</p><ul><li><p>takes the public key from the OEM provisioning certificate,</p></li><li><p>uses it to establish a secure encryption key with the vehicle in order to <em>encrypt</em> the newly created private signing key that&#8217;s mathematically linked to the contract certificate&#8217;s public key<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>,</p></li><li><p>and then permanently deletes its own unencrypted copy of that private key.</p></li></ul><p>From this moment onward, the MSP is cryptographically locked out. The EV alone will be able to use that private key to create digital signatures for Plug &amp; Charge authentication at the charging station.</p><p>The contract certificate (plus the linked MSP Sub CA certificates) and the encrypted private key are now, together with a few other data elements, assembled into a data package called <strong>contract certificate bundle</strong>, which is then sent to the certificate provisioning service (CPS).</p><p>The illustration below summarises the MSP&#8217;s role outlined in steps 2 and 3 above. I&#8217;ve intentionally abstracted a few details of the contract certificate bundle that aren&#8217;t essential to understanding the flow and only really matter during implementation. </p><p>(<strong>Update 17/12/2025</strong>: The image below and description above were slightly updated to reflect that the MSP does not need to verify the OEM&#8217;s certificate chain itself, as it relies on the provisioning certificate pool to have already performed that validation.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UetX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UetX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 424w, https://substackcdn.com/image/fetch/$s_!UetX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 848w, https://substackcdn.com/image/fetch/$s_!UetX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!UetX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UetX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png" width="1456" height="911" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:911,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148090,&quot;alt&quot;:&quot;How the MSP creates the Contract Certificate Bundle, to be sent to the CPS&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/180313892?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How the MSP creates the Contract Certificate Bundle, to be sent to the CPS" title="How the MSP creates the Contract Certificate Bundle, to be sent to the CPS" srcset="https://substackcdn.com/image/fetch/$s_!UetX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 424w, https://substackcdn.com/image/fetch/$s_!UetX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 848w, https://substackcdn.com/image/fetch/$s_!UetX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!UetX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712fb9ed-cee2-47d3-a77a-5582796a6916_2646x1656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How the MSP creates the Contract Certificate Bundle, to be sent to the CPS</figcaption></figure></div><p></p><h3>Step 4: Certificate Provisioning Service &amp; transitive trust</h3><p>In deregulated markets like Europe, the charge point operator (CPO) and the mobility service provider (MSP) must be legally separate entities. That separation makes trust a bit more complicated.</p><p>In theory, every MSP could operate its own root certificate authority (as <a href="https://currentaffairs.io/i/179259048/the-common-root-of-trust">discussed in the last article</a>) but that would force car manufacturers to preload potentially dozens or hundreds of MSP trust anchors into every vehicle. The resulting memory and update management would quickly become impractical, especially given the high cost and strict optimisation requirements in automotive electronics.</p><p>The CPS solves this through <strong>transitive trust</strong>.</p><p>It operates under a V2G root CA that the EV already trusts (pre-installed) and:</p><ul><li><p>verifies the MSP&#8217;s contract certificate chain, for which it uses the V2G (or MSP) root CA certificate that&#8217;s stored in a database called <em>Root Certificate Pool (RCP) &#8211; </em>every PKI provider, be it Hubject, Irdeto, Gireve or others, operate an RCP<em>, </em>which stores the relevant Plug &amp; Charge root CA certificates,</p></li><li><p>re-packages and digitally signs the contract certificate bundle,</p></li><li><p>and stores the final, <strong>signed contract certificate bundle</strong> &#8211; which also contains the CPS certificate chain for the signature verification later on &#8211;&nbsp;inside another database called <em>Contract Certificate Pool (CCP)</em>.</p></li></ul><p>From the EV&#8217;s point of view, this means: &#8220;I don&#8217;t need to trust every MSP on earth, only the one I already know.&#8221;</p><p>And that single design decision is what allows Plug &amp; Charge to scale globally without collapsing under certificate chaos.</p><p>The illustration below summarises the CPS&#8217;s steps we just discussed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V9Z9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V9Z9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 424w, https://substackcdn.com/image/fetch/$s_!V9Z9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 848w, https://substackcdn.com/image/fetch/$s_!V9Z9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 1272w, https://substackcdn.com/image/fetch/$s_!V9Z9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V9Z9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png" width="1456" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160830,&quot;alt&quot;:&quot;How the CPS creates &amp; stores the Signed Contract Certificate Bundle for the EV&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/180313892?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How the CPS creates &amp; stores the Signed Contract Certificate Bundle for the EV" title="How the CPS creates &amp; stores the Signed Contract Certificate Bundle for the EV" srcset="https://substackcdn.com/image/fetch/$s_!V9Z9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 424w, https://substackcdn.com/image/fetch/$s_!V9Z9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 848w, https://substackcdn.com/image/fetch/$s_!V9Z9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 1272w, https://substackcdn.com/image/fetch/$s_!V9Z9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1effb735-0e7d-4909-9be4-626a45f33a8b_3000x1314.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How the CPS creates &amp; stores the Signed Contract Certificate Bundle for the EV</figcaption></figure></div><p></p><h3>Step 5: How the certificate actually enters the car</h3><p>By the time we reach this stage, the heavy lifting is done. The contract certificate exists. The associated private key has been generated, encrypted specifically for one single vehicle, and wrapped into a signed data package by the certificate provisioning service. All of this now sits ready inside the <strong>contract certificate pool</strong>, which is a database operated by the PKI provider (like Hubject, Irdeto, or Gireve).</p><p>What remains is the final and most visible step: getting that cryptographic identity into the vehicle itself. And interestingly, the ecosystem supports two fundamentally different installation paths.</p><h4>Path A: Over the air via the car manufacturer</h4><p>If a vehicle manufacturer supports over-the-air (OTA) installation via its telematics backend, it can subscribe directly to updates from the contract certificate pool. The moment a new certificate becomes available for one of its vehicles, the OEM backend is notified immediately &#8211; implemented either via a publish-subscribe mechanism or  webhooks.</p><p>From there, the manufacturer:</p><ul><li><p>retrieves the signed contract certificate bundle (signed by the CPS),</p></li><li><p>checks the authenticity of this data package by verifying its digital signature with the CPS certificate chain (included in the data package) and the right V2G root CA certificate (received from the PKI provider&#8217;s Root Certificate Pool), </p></li><li><p>retrieves the encrypted private key, contract certificate, and the extra information the vehicle needs to decrypt that private key &#8211; the ECDH public key generated by the MSP during encryption,</p></li><li><p>securely transfers them to the vehicle via its own cloud infrastructure,</p></li><li><p>and lets the vehicle perform the final step locally: decrypting the private key and storing it alongside the contract certificate inside the car<strong>.</strong></p></li></ul><p>The car manufacturer controls the entire user journey and can integrate Plug &amp; Charge activation seamlessly into the app and/or in-car user experience.</p><p>From the driver&#8217;s perspective, Plug &amp; Charge simply &#8220;appears&#8221; one day, no charger interaction required.</p><p>Here&#8217;s a great video from BMW on how to activate and use Plug &amp; Charge. BMW has gladly understood the importance of letting the vehicle owner decide which MSP contract they prefer to use, and when. They support up to five contracts, including their own MSP service which is facilitated through Digital Charging Solutions.</p><div id="youtube2-pdDyJV615rg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;pdDyJV615rg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/pdDyJV615rg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h4>Path B: Live installation at the charging station</h4><p>The second path is the classic ISO 15118 flow, using the <em>Certificate Installation Request / Response message pair</em> specifically designed for this scenario.</p><p>Here, the installation happens in real time, at the moment the vehicle is plugged in &#8211; if the charging station supports contract certificate installation, which is one of several possible value-added services the charger can offer. The Certificate Installation Response basically carries all the data elements contained in the signed contract certificate bundle, just packaged in the right ISO 15118 message format.</p><p>But because of the tight timing constraints in ISO 15118, this method is far from ideal in my opinion. As soon as the EV sends its Certificate Installation Request, a five-second timer starts. If the response doesn&#8217;t arrive within that time window, the procedure fails. In ISO 15118-2 this is especially brittle, because the vehicle <em>must</em> abort after five seconds, even though the Certificate Installation Response can be several kilobytes in size and may take longer to retrieve over a slow or congested network. ISO 15118-20 softens this behaviour: instead of giving up after five seconds, the vehicle is allowed to keep waiting for the response.</p><p>As this path is likely going to be less common in the future (to the point that I assume all car manufacturers will converge to OTA installation), I&#8217;ll not dive into any further details about this installation path.</p><p>To bring it all together &#8211; and untangle any knots this deep dive might have created &#8211; I&#8217;ve put together a visual summary of the flow we just covered in Step 4 and Step 5. I&#8217;ve left out smaller details like the ECDH public key to keep the illustration readable, but you&#8217;ll find those explained in the text above.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E697!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E697!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 424w, https://substackcdn.com/image/fetch/$s_!E697!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 848w, https://substackcdn.com/image/fetch/$s_!E697!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 1272w, https://substackcdn.com/image/fetch/$s_!E697!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E697!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png" width="1456" height="1364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:333267,&quot;alt&quot;:&quot;How the EV receives the contract certificate chain and the encrypted private key&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/180313892?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How the EV receives the contract certificate chain and the encrypted private key" title="How the EV receives the contract certificate chain and the encrypted private key" srcset="https://substackcdn.com/image/fetch/$s_!E697!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 424w, https://substackcdn.com/image/fetch/$s_!E697!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 848w, https://substackcdn.com/image/fetch/$s_!E697!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 1272w, https://substackcdn.com/image/fetch/$s_!E697!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04df6852-8824-4213-98da-f4141d3bcded_3065x2871.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How the EV receives the contract certificate chain and the encrypted private key</figcaption></figure></div><p></p><h2>When all of this disappears into a single moment</h2><p>Once the contract certificate is installed &#8211; whether via the vehicle&#8217;s telematics link or live at the charger &#8211; the system finally reaches the state the driver always assumed it was in from the beginning:</p><ul><li><p>the car now holds a valid cryptographic charging identity (contract certificate),</p></li><li><p>it can authenticate automatically upon plugging in the cable (using the private key to create digital signatures that can then be verified with the contract certificate),</p></li><li><p>and the vehicle owner&#8217;s billing account (identified via the EMAID) can be billed without any further human interaction.</p></li></ul><p>From that moment onward, Plug &amp; Charge feels simple.</p><p>But what makes it remarkable is how much coordination, cryptography, and infrastructure silently converge just to make that simplicity &#8211; enabled by automated and secure machine-to-machine communication &#8211; possible. </p><p>Congratulations! You now know all the steps that need to happen prior to a Plug &amp; Charge session. In my next article, which will conclude this Plug &amp; Charge series, we&#8217;ll finally go through how a Plug &amp; Charge session actually works.</p><p></p><h2>One language to coordinate all market roles </h2><p>Now that you know <em>what</em> the car manufacturer, mobility service provider, certificate provisioning service, and charge point operator need to do orchestrate the provisioning and installation of a digital contract certificate, the question becomes: <em>how</em> are they going to communicate with each other? </p><p>What does this mean for <em>you</em>, as someone tasked with &#8220;making Plug &amp; Charge work&#8221;. Is there a standardised &#8220;language&#8221;, an agree-upon unified protocol you can leverage?</p><h3>An open Plug &amp; Charge testing environment</h3><p>Thankfully, there is. Or at least we&#8217;re on the way to creating one.</p><p>Early 2022, Hubject introduced an open-source protocol called <a href="https://github.com/hubject/opcp">Open Plug and Charge Protocol (OPCP)</a>. The purpose of the OPCP protocol is to provide an open, international, supplier-agnostic API framework that enables seamless interoperability across Plug &amp; Charge systems, linking multiple PKI ecosystems, CPOs, MSPs and OEMs so that EVs, chargers and backend networks can operate together smoothly.</p><p>To help familiarise yourself with OPCP, Hubject created a public <a href="https://www.hubject.com/openplugncharge">Plug &amp; Charge testing environment</a> where you can freely interact with their PKI ecosystem. It&#8217;s a testing playground where you can impersonate any of the market roles we discussed above and create various kinds of certificates, access the data pools that store these certificates, and explore the API interface of OPCP to interact with their PKI system.</p><h3>OPNC: The path to a fully interoperable solution</h3><p>In 2024, <a href="https://www.charin.global/news/charin-unveils-opnc-protocol/">CharIN e.V. established a task force</a> to take over the governance of this open-source project and changed the protocol name to <strong>Open Plug &amp; Charge Network Communication Protocol</strong>, or <strong>OPNC</strong> (<a href="https://github.com/charinev/opnc">link to GitHub repo</a>) for short. </p><div><hr></div><blockquote><p>I know, it&#8217;s becoming a bit of a joke with all those protocol acronyms that all have an &#8216;O&#8217;, &#8216;P&#8217;, and &#8216;C&#8217; in it. But fear not, I&#8217;ve prepared an <a href="https://currentaffairs.io/p/acronyms">Acronym Survival Guide</a> for you.</p></blockquote><div><hr></div><p>The OPNC task force is currently paused until March 2026 while <a href="https://www.electrive.com/2025/06/16/hubject-gireve-irdeto-announce-plug-charge-partnership/">Hubject, Irdeto, and Gireve run their interoperability pilot</a> &#8211; a phase meant to generate real-world insights before any new protocol work continues. OPNC 1.0 was never implemented by the industry, largely because it offered no practical value over OPCP and supposedly suffered from robustness and security issues. The hope is that this pilot will inform a completely reworked OPNC 2.0 that is genuinely secure, multi-supplier compatible, and worth implementing.</p><h3>What the Hubject&#8211;Irdeto&#8211;Gireve partnership actually delivers</h3><p>The partnership between Hubject, Irdeto, and Gireve effectively allows CPOs, MSPs and vehicle OEMs to simply choose which Plug &amp; Charge PKI provider they want to work with out of the three, and they&#8217;ll gain access to the other two Plug &amp; Charge ecosystems as well. Technically, mutual API integrations connect the PKI pools into one interoperable network, allowing all three partners to exchange provisioning certificates (PCP), contract certificates (CCP), and root certificates (RCP) seamlessly.</p><p>For <strong>MSPs</strong>, this is a major win: they can now create contract certificates on <em>any</em> of the three PKI providers, regardless of where the vehicle&#8217;s OEM provisioning certificate is stored. The system takes care of the rest: it makes sure the contract certificate is signed by the CPS that&#8217;s linked to the same V2G root CA the vehicle already trusts, and finally delivered to the vehicle either via CPO-triggered installation or through existing OEM telematics integrations.</p><p><strong>Car OEMs</strong> see little day-to-day change, except that all their vehicles&#8217; provisioning certificates become visible across all three PKI providers. And <strong>CPOs</strong> gain the ability to perform contract certificate installations for any contract certificate, no matter which PKI provider&#8217;s contract certificate pool (CCP) issued or stores it.</p><p>In summary, all three providers have connected their <strong>PCP and CCP </strong>data pools, audited one another, and also retrieve each other&#8217;s root CA certificates on demand. The partnership dissolves the old PKI silos, enabling true cross-provider Plug &amp; Charge certificate creation and installation.</p><div><hr></div><p>And that brings us to the end of today&#8217;s story &#8212; a look at how Plug &amp; Charge comes to life through the carefully choreographed collaboration of all the e-mobility players involved.</p><p>My next article will conclude this five-part Plug &amp; Charge series. In this final missing piece you&#8217;ll find out what actually happens at the charger when you plug in the cable and the EV automatically authenticates and authorises itself for energy delivery without you having to do anything.</p><p>You never know when this stuff will come in handy &#8211; your next job interview, a tricky internal project, or that conference where you get to wow people with unexpectedly deep Plug &amp; Charge knowledge. (I&#8217;d be keen to hear some anecdotes from you). </p><p>So stay tuned, and please do share this newsletter with anyone who you believe could benefit from it. Let&#8217;s work together to make Plug &amp; Charge ubiquitous!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X).</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Check out the section on &#8220;<a href="https://currentaffairs.io/i/179259048/how-does-a-digital-certificate-look-like">How does a digital certificate look like</a>&#8221; from last week&#8217;s article if you need a refresher on the contents of a digital certificate.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>You may wonder <a href="https://currentaffairs.io/i/179259048/why-we-are-using-sub-cas-in-a-pki">Why we are using Sub CAs in a PKI</a>? Check out the link to get a clear answer to this very natural question.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p><a href="https://currentaffairs.io/i/178481848/how-do-you-secure-the-encryption-key">Elliptic Curve Diffie-Hellman (ECDH)</a> comes into play to create the symmetric session key used to encrypt the private key on the MSP side and later decrypt it on the vehicle&#8217;s side.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Trust is all you need: Inside the PKI that powers Plug & Charge]]></title><description><![CDATA[A deep dive into the digital identity system and public key infrastructure that underpins the cybersecurity of the EV charging ecosystem.]]></description><link>https://currentaffairs.io/p/trust-is-all-you-need-inside-the-pki-that-powers-plug-and-charge</link><guid isPermaLink="false">https://currentaffairs.io/p/trust-is-all-you-need-inside-the-pki-that-powers-plug-and-charge</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 02 Dec 2025 10:29:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zm7J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The previous article peeled back the curtain on the cryptographic engine room behind Plug &amp; Charge: the digital keys, signatures, and encrypted conversations that make an EV simply <em>plug in and start charging</em>. We explored how an EV and a charging station can trust each other instantly, how data stays confidential, and why public key cryptography is the backbone of every secure interaction you experience &#8211; whether through a charging cable or through the browser you&#8217;re using to read this article.</p><p>This week, we shift from <em>how messages are protected</em> to <em>how identities are proven</em>.</p><p>Because behind every Plug &amp; Charge session lies a sophisticated <strong>public key infrastructure (PKI)</strong>, a system of digital certificates and trust anchors that ensures every actor in the ecosystem is exactly who they claim to be.</p><p>Think of PKI as the backbone of trust: issuing digital &#8220;passports&#8221;, validating identities, and ensuring that an EV doesn&#8217;t just connect to <em>a</em> charger, but to a <em>trusted</em> one. Without this &#8220;chain of trust&#8221;, Plug &amp; Charge simply wouldn&#8217;t work. And as EV charging infrastructure grows into a critical part of our energy and mobility infrastructure, it&#8217;s becoming an increasingly attractive target for attackers. This is why it&#8217;s essential that cybersecurity is designed in from day one, not patched on later as an afterthought.</p><p>In this article, we&#8217;ll explore:</p><ul><li><p>How a digital certificate actually looks like</p></li><li><p>How the chain-of-trust principle works, from a root CA down to leaf certificates</p></li><li><p>The different digital certificates that make the Plug &amp; Charge ecosystem function</p></li><li><p>Where each certificate must live &#8211; in the EV, in the charger, or in the backend</p></li></ul><p>At the end of the day, a digital certificate is nothing more than a high-security ID card &#8211; one that expires, can be revoked, and must be maintained. And understanding how that system works is the key to understanding how Plug &amp; Charge truly stays secure.</p><p>Once you understand these basic principles, it&#8217;ll be a walk in the park to follow next week&#8217;s article where we&#8217;ll explore the complete lifecycle of a Plug &amp; Charge session.</p><p>Let&#8217;s get to it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zm7J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zm7J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 424w, https://substackcdn.com/image/fetch/$s_!zm7J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 848w, https://substackcdn.com/image/fetch/$s_!zm7J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!zm7J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zm7J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:630357,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/179259048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zm7J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 424w, https://substackcdn.com/image/fetch/$s_!zm7J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 848w, https://substackcdn.com/image/fetch/$s_!zm7J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!zm7J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4fdb1fa-39a8-45a9-acd4-907f24807eeb_2253x1572.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Basic principles: a PKI&#8217;s chain of trust</h2><p>In a PKI system, a trusted third party known as a <em>certificate authority (CA)</em> issues digital certificates that contain public keys and identifying information about the certificate holder, such as an EV or a charging station. </p><p>Let&#8217;s take the charging station as an example. </p><p>A charger first generates a digital key pair: a private key (kept securely inside the charger) and a matching public key. The charger then uses that public key, along with its identifying details, to create a <em>Certificate Signing Request (CSR)</em>, which it signs with its newly created private key and sends to a certificate authority &#8211; using the charge point operator&#8217;s backend, or CPMS. The CA verifies the request and, if valid, issues a signed certificate that binds the charger&#8217;s identity to its public key, allowing the charging station to authenticate securely towards an EV during Plug &amp; Charge sessions.</p><p>Anyone who wants to verify that authenticity of a digital certificate simply checks the CA&#8217;s digital signature using the CA&#8217;s public key, which is stored in the CA&#8217;s own certificate. This creates what&#8217;s known as a <strong>chain of trust</strong>: a tree-like structure that starts with an end-entity or &#8220;leaf&#8221; certificate (such as the one held by an EV or charger) and ultimately leads back to a <strong>root CA certificate</strong>, the final trust anchor. Computer scientists love this analogy &#8211; a root at the top, leaves at the bottom &#8211; because it perfectly captures how trust flows downward through the system.</p><p>In the EV charging world, this trust chain spans multiple players who all depend on one another to make Plug &amp; Charge work smoothly:</p><ul><li><p>The electric vehicle (EV)</p></li><li><p>The EV manufacturer (OEM)</p></li><li><p>The charging station</p></li><li><p>The charge point operator (CPO)</p></li><li><p>The mobility service provider (MSP)</p></li><li><p>The certificate provisioning service (CPS)</p></li><li><p>The operators of the V2G Root CA</p></li><li><p>And the operators of the various data pools and cloud services required for certificate provisioning</p></li></ul><p>If you want to read more about the purpose of all these roles in the wider e-mobility ecosystem, then I highly recommend the article <a href="https://currentaffairs.io/p/plug-and-charge-the-technology-ecosystem-and-road-ahead-of-seamless-charging">Plug &amp; Charge: The technology, the ecosystem, and the road ahead of seamless charging</a>. </p><p>A coordinated effort between all these stakeholders, across different industries and regions, is essential to delivering a truly seamless and secure charging experience &#8211; no matter which MSP or location a driver chooses to charge their EV.</p><h3>How does a digital certificate look like?</h3><p>Alright, so we know there&#8217;s a certificate authority that has the power to create a digital certificate, and that digital &#8220;passport&#8221; carries a public key and the CA&#8217;s digital signature, among other pieces of information. </p><p>Let&#8217;s have a look at an example. In particular, let&#8217;s examine a <em>contract certificate</em>, the one the EV uses to identify and authorise itself at the charger to receive energy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zgnp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zgnp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 424w, https://substackcdn.com/image/fetch/$s_!zgnp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 848w, https://substackcdn.com/image/fetch/$s_!zgnp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 1272w, https://substackcdn.com/image/fetch/$s_!zgnp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zgnp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png" width="1224" height="1878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1878,&quot;width&quot;:1224,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90547,&quot;alt&quot;:&quot;Example of a Contract Certificate in ISO 15118-2&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/179259048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Example of a Contract Certificate in ISO 15118-2" title="Example of a Contract Certificate in ISO 15118-2" srcset="https://substackcdn.com/image/fetch/$s_!zgnp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 424w, https://substackcdn.com/image/fetch/$s_!zgnp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 848w, https://substackcdn.com/image/fetch/$s_!zgnp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 1272w, https://substackcdn.com/image/fetch/$s_!zgnp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368a56e0-2a97-4eb2-958b-3595a98e9933_1224x1878.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example of a Contract Certificate in ISO 15118-2</figcaption></figure></div><p>Let&#8217;s analyse this certificate step-by-step:</p><ol><li><p><strong>Version</strong>: This indicates we&#8217;re looking at a standard <strong>X.509 version 3 certificate</strong>, the foundation of modern PKIs and transport layer security (TLS).</p></li><li><p><strong>Serial Number</strong>: A unique identifier issued by the certificate authority for tracking and revocation.</p></li><li><p><strong>Signature Algorithm</strong>: This certificate is signed using ECDSA (Elliptic Curve Digital Signature Algorithm) with SHA-256 hashing. Check out the previous article in case you need a <a href="https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging">quick refresher on digital signatures and hashes</a>.</p></li><li><p><strong>Issuer</strong>: This tells us who issued the certificate. <strong>Hubject GmbH</strong> is the operator<strong> </strong>(&#8216;<strong>O</strong>&#8217; = Organisation), based in Germany (&#8216;<strong>C</strong>&#8217; = Country), who issued this certificate. The <strong>CN</strong> (Common Name) &#8216;<strong>MO Sub2 CA QA G1.2.1&#8217; </strong>is the name of  the certificate authority operated by Hubject that issued and digitally signed this contract certificate.</p></li><li><p><strong>Validity</strong>: This certificate starts to be valid on November 30, 2025 at 10 am and expires exactly 2 years later.</p></li><li><p><strong>Subject</strong>: This is the leaf certificate (lowest end of the chain of trust), representing the e-mobility account ID (EMAID) <strong>DEHUBCONTRACT1</strong>, which is the identifier of the MSP&#8217;s billing account &#8211; the contract number to which all charged energy will be billed.</p></li><li><p><strong>Subject Public Key Info:</strong></p><ol><li><p><strong>Public Key Algorithm: </strong>This public key uses ECDSA and was created with the elliptic curve (&#8216;<strong>ec</strong>&#8217;) NIST P-256 (aka secp256r1 or prime256v1, as mentioned in the previous article), which is the mandatory curve for ISO 15118-2.</p></li><li><p><strong>Public Key: </strong>The long hex blob represents the public key. It&#8217;s what the charger uses to verify signatures created by the EV with its matching private key, which the EV securely stored when the contract certificate was installed. Elliptic curve public keys are represented as 04 (indicates an uncompressed key) followed by X and Y coordinates of the point on the elliptic curve.</p></li></ol></li><li><p><strong>Extensions:</strong></p><ol><li><p><strong>Basic constraints</strong> (critical): &#8216;<strong>CA=False&#8217;</strong> means that this certificate cannot act as a certificate authority (CA) and, therefore, not issue any child certificates (because it&#8217;s already a leaf certificate at the bottom end of the chain of trust). The <strong>critical</strong> flag means clients <em>must</em> process this extension, or reject the certificate.</p></li><li><p><strong>Subject Key Identifier (SKI): </strong>A hash-like identifier for the CA&#8217;s public key. Used to link certificate chains efficiently.</p></li><li><p><strong>Authority Key Identifier:</strong> Similar to an SKI</p></li><li><p><strong>Authority Info Access</strong>: This is where you can contact the OCSP (Online Certificate Status Protocol) responder to check the revocation status of this certificate. We&#8217;ll cover OCSP further down in this article.</p></li><li><p><strong>Key Usage (critical):</strong> Specifies what cryptographic operations the public key contained in the certificate is allowed to perform. This public key can verify digital signatures, prove the sender&#8217;s identity, and securely establish shared session keys.</p></li></ol></li><li><p><strong>Signature Value:</strong> This is the ECDSA signature over the certificate body.</p></li></ol><p>In ISO 15118-2, each X.509 certificate is capped at <strong>800 bytes</strong>, with its exact contents defined by what&#8217;s known as a <em>certificate profile</em> &#8211; basically a recipe for what goes inside. I won&#8217;t drag you down that rabbit hole just yet, but it&#8217;s worth knowing that this is how every (Plug &amp; Charge) certificate gets its structure and purpose.</p><p></p><h3>Step by step: the chain of trust from leaf to trust anchor</h3><p>OK, now that we know more about the content of a digital certificate, we can make sense of how the &#8220;chain of trust&#8221; principle in a PKI actually works, meaning: how trust flows from a <em>Root Certificate Authority (Root CA)</em> down to an <em>end-entity or &#8220;leaf&#8221; certificate</em> through one or more <em>intermediate (Sub CA = Subordinate Certificate Authority)</em> certificates. </p><p>The diagram below captures the hierarchical flow. Let&#8217;s go through it step by step to make sure it really clicks.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T7G_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T7G_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 424w, https://substackcdn.com/image/fetch/$s_!T7G_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 848w, https://substackcdn.com/image/fetch/$s_!T7G_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 1272w, https://substackcdn.com/image/fetch/$s_!T7G_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T7G_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png" width="1456" height="1487" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1487,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:223901,&quot;alt&quot;:&quot;Chain of trust in a PKI with two intermediate Sub CA certificates&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/179259048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Chain of trust in a PKI with two intermediate Sub CA certificates" title="Chain of trust in a PKI with two intermediate Sub CA certificates" srcset="https://substackcdn.com/image/fetch/$s_!T7G_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 424w, https://substackcdn.com/image/fetch/$s_!T7G_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 848w, https://substackcdn.com/image/fetch/$s_!T7G_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 1272w, https://substackcdn.com/image/fetch/$s_!T7G_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8376f785-e20d-4fd7-815c-cad12258515e_2120x2165.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Chain of trust in a PKI with two intermediate Sub CA certificates</figcaption></figure></div><ol><li><p><strong>Root CA Certificate (trust anchor)</strong><br>The Root CA is the highest authority in the hierarchy which every participant in this PKI ecosystem needs to trust. It <strong>self-signs</strong> its own certificate, meaning its <em>issuer</em> and <em>subject</em> are the same. Its public key is trusted implicitly (pre-installed in browsers, operating systems, or EVs and chargers). It uses its private key to sign subordinate (Sub CA) certificates.</p></li><li><p><strong>Sub CA 1 Certificate (first intermediate CA)</strong></p><p>The Root CA uses its private key to sign the certificate of Sub CA 1. Sub CA 1&#8217;s certificate contains:</p><ul><li><p>Its own name and public key (subject fields)</p></li><li><p>The Root CA&#8217;s name as the issuer</p></li><li><p>A digital signature created using the Root CA&#8217;s private key</p></li></ul><p>Anyone who has access to the Root CA&#8217;s certificate can verify this signature using that Root CA certificate&#8217;s public key, confirming that Sub CA 1 was legitimately issued by the Root CA.</p></li><li><p><strong>Sub CA 2 Certificate (second intermediate CA &#8211; optional)</strong></p><p>Where a PKI uses more than one Sub CA: The Sub CA 1 now acts as an issuer for Sub CA 2. Sub CA 1 uses its private key to sign Sub CA 2&#8217;s certificate. Verification of Sub CA 2&#8217;s certificate uses Sub CA 1&#8217;s public key. This adds another layer in the trust chain but still maintains verifiable continuity back to the Root CA.</p></li><li><p><strong>Leaf (end entity) Certificate (the final link)</strong></p><p>Sub CA 2 uses its private key to sign the Leaf Certificate, which includes its own public key and identifies the end entity. In the world of Plug &amp; Charge, this  belongs to and identifies a vehicle, charger, or mobility service provider. Verification of the leaf certificate is performed using Sub CA 2&#8217;s public key.</p></li><li><p><strong>Chain of trust verification</strong></p><p>When, for example, an EV receives the leaf certificate alongside the corresponding Sub CA certificates of a charging station during a TLS handshake:</p><ol><li><p>It verifies the leaf&#8217;s signature using Sub CA 2&#8217;s public key.</p></li><li><p>It then verifies Sub CA 2&#8217;s signature using Sub CA 1&#8217;s public key.</p></li><li><p>Finally, it verifies Sub CA 1&#8217;s signature using the (already pre-installed) Root CA&#8217;s public key.</p></li><li><p>Because the Root CA is <em>trusted a priori</em>, the entire chain is trusted, thereby verifying the authenticity of the charging station it&#8217;s connected to.</p></li></ol></li></ol><p><strong>Trust flows downward</strong>: the Root CA grants trust to Sub CAs by signing them.<br><strong>Verification flows upward</strong>: the client (e.g. EV or charging station) verifies each certificate&#8217;s signature using the public key of the issuer above it, until it reaches the trusted Root CA (the &#8220;trust anchor&#8221;).</p><div><hr></div><p>Remember: this is standard PKI practice, not specific to ISO 15118. You can check this out yourself: just click the little icon next to the website address in your browser&#8217;s address bar to open the certificate viewer.</p><p>In Chrome, a popup appears. Click &#8220;Connection is secure&#8221;, then &#8220;Certificate is valid&#8221;. You&#8217;ll see two tabs:</p><ul><li><p>General, which summarises this website&#8217;s certificate</p></li><li><p>Details, which reveals the full certificate hierarchy</p></li></ul><p>In this case, <strong>GTS Root R4</strong> is the Root CA, <strong>WE1</strong> is the Sub CA, and <strong>currentaffairs.io</strong> is the leaf certificate.</p><p>If you expand the fields, you&#8217;ll notice they use elliptic curve cryptography (ECDSA) for digital signatures and SHA-256 as the hashing algorithm &#8211; the same modern cryptographic standards used in Plug &amp; Charge.</p><p></p><h3>Why we are using Sub CAs in a PKI</h3><p>In a PKI, subordinate certificate authorities<strong> </strong>(Sub CAs) act as a buffer between the all-powerful Root CA and the everyday certificates used in the field. The <strong>Root CA&#8217;s private key is the ultimate trust anchor</strong>. If it were ever compromised, the entire ecosystem could collapse. That&#8217;s why it&#8217;s <strong>kept</strong> <strong>offline </strong>and used only rarely to sign Sub CA certificates. These Sub CAs then handle the operational work of issuing certificates for vehicles, charging stations, or mobility service providers (MSPs). This setup lets the Root CA remain untouched and protected, while any compromised Sub CA can simply be revoked without bringing the whole system down.</p><p>In ISO 15118 Plug &amp; Charge, this hierarchy is taken one step further. The Root CA (the <em>V2G Root CA</em>) signs a <em>first-level Sub CA</em>, often operated by a global trust provider like Hubject or Irdeto, which then signs <em>second-level Sub CAs</em> for regional or organisational entities &#8211; say, a national MSP, a car manufacturer, or a charge point operator. This <strong>two-tier model balances</strong> <strong>security, governance, and scalability</strong>: it allows the ecosystem to expand internationally while maintaining clear lines of control and trust. Think of it as a carefully pruned tree: the Root stays safe underground, while each branch (Sub CA) can grow, operate, or, if necessary, be cut off without harming the entire organism.</p><p></p><h2>The ISO 15118 PKI ecosystem</h2><p>Alright, if that all made sense so far, then you&#8217;re ready for an overview of the ISO 15118-specific public key infrastructure.</p><p>The illustration below summarises the <strong>Plug &amp; Charge PKI</strong> specifically defined in ISO 15118-2, showing how trust and certificate management work across all market roles. We&#8217;ll also briefly cover the difference to an ISO 15118-20 PKI, but let&#8217;s first unpack this one step by step in plain language.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8V5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8V5A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 424w, https://substackcdn.com/image/fetch/$s_!8V5A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 848w, https://substackcdn.com/image/fetch/$s_!8V5A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 1272w, https://substackcdn.com/image/fetch/$s_!8V5A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8V5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png" width="1456" height="1287" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1287,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:404206,&quot;alt&quot;:&quot;PKI ecosystem for ISO 15118-2&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/179259048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PKI ecosystem for ISO 15118-2" title="PKI ecosystem for ISO 15118-2" srcset="https://substackcdn.com/image/fetch/$s_!8V5A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 424w, https://substackcdn.com/image/fetch/$s_!8V5A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 848w, https://substackcdn.com/image/fetch/$s_!8V5A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 1272w, https://substackcdn.com/image/fetch/$s_!8V5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47f2324f-612f-4cbb-ac34-5d5b9331f58c_3374x2982.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">PKI ecosystem for ISO 15118-2</figcaption></figure></div><p></p><h3>The common root of trust</h3><p>At the center is the V2G Root CA Certificate. This is the <em>trust anchor</em> for the entire Plug &amp; Charge ecosystem. Every other certificate &#8211; whether for a CPO, CPS, MSP, or OEM &#8211; is ultimately signed (directly or indirectly via intermediate Sub CAs) by this Root CA.</p><p>The charge point operator (<strong>CPO</strong>) and certificate provisioning service (<strong>CPS</strong>) are <strong>required to use the</strong> <strong>V2G Root CA</strong> as their trust anchor when issuing their Sub CA 1 certificates. </p><p>In contrast, car manufacturers (<strong>OEMs</strong>) and mobility service providers (<strong>MSPs</strong>) have the <strong>flexibility</strong> <strong>to</strong> either rely on the common V2G Root CA or <strong>operate</strong> <strong>their</strong> <strong>own root CA</strong> to issue and sign their Sub CA certificates, depending on their security, compliance, and operational needs.</p><p>Running your own root CA is costly and complex. It requires secure infrastructure, dedicated experts, strict procedures, and carries high risk if mismanaged &#8211; which is why most MSPs prefer to rely on the shared V2G Root CA instead.</p><p>Car manufacturers, on the other hand, often operate their own root CA to maintain full control over vehicle identities, meet strict security and compliance requirements, and protect their brand and customers from external trust dependencies.</p><p></p><h3>A walk through the role-specific PKIs and leaf certificates</h3><p>Each major market actor has its own PKI branch, with one or more Sub CAs under the Root CA.</p><p><strong>Charge Point Operator (CPO)</strong></p><p>The CPO manages chargers and issues an <em>SECC certificate</em> for each charging station. SECC stands for <em>Supply Equipment Communication Controller</em> and is ISO 15118 speak for the communication device that sits inside the charger and manages the secure, digital communication with the EV. </p><p>The charger sends the SECC certificate alongside the Sub CA certificates to the EV during a <a href="https://currentaffairs.io/i/178481848/encrypting-the-conversation-with-tls">TLS handshake</a> to identify itself and establish a trusted and confidential communication channel. The EV verifies the authenticity of the CPO Sub CAs using the V2G Root CA certificate that was pre-installed &#8211; either during manufacturing or before vehicle delivery to the customer &#8211; ensuring that the charging network it connects to is legitimate and trusted.</p><p><strong>Certificate Provisioning Service (CPS)</strong></p><p>When ISO 15118-2 was published in 2014, the authors couldn&#8217;t predict how many MSPs would choose to operate their own Root CAs instead of relying on the shared V2G Root CA. If every EV had to store and manage the Root CA certificates of potentially dozens or even hundreds of MSPs, memory and update management would quickly become impractical &#8211; especially given the high cost and strict optimisation requirements in automotive electronics.</p><p>To solve this, the <em>Certificate Provisioning Service</em><strong> </strong>was introduced as a trusted intermediary, always operating under the V2G Root CA (originally expected to exist in only a handful instances worldwide). The CPS verifies a contract certificate issued by an MSP, re-signs it with its own private key, and stores it in a data pool called <em>Contract Certificate Pool</em> (more on that in next week&#8217;s article) from where it can be sent to the EV &#8211; establishing <strong>transitive trust</strong>: if the EV trusts the CPS (via the pre-installed V2G Root CA) and the CPS trusts the MSP, then the EV can safely trust the MSP&#8217;s contract certificate without needing to store every MSP&#8217;s Root CA.</p><p>Thanks to the CPS&#8217;s digital signature, the EV can verify that the contract certificate and its <em>encrypted private key</em> are authentic. This is done using the <strong>CPS Leaf Certificate</strong>, which &#8211; together with the CPS Sub CA certificates &#8211; is included in the <em>signed</em> <em>contract certificate bundle</em> the EV receives to install the contract certificate and the associated private key securely. That private key can only be decrypted by the EV itself, using the Elliptic Curve Diffie-Hellman (ECDH) key agreement protocol &#8211; which we briefly <a href="https://currentaffairs.io/i/178481848/how-do-you-secure-the-encryption-key">discussed in the previous article</a> &#8211; and the OEM Provisioning Certificate&#8217;s public key.</p><p>Once installed, the EV presents its contract certificate during a Plug &amp; Charge session to the charger and uses the corresponding private key to generate digital signatures.<br>The charger verifies these signatures using the public key contained in the contract certificate, confirming the EV&#8217;s authenticity and authorisation for charging.</p><p><strong>Mobility Service Provider (MSP)</strong></p><p>The MSP provides the EV&#8217;s billing contract and issues the <strong>Contract Certificate</strong> tied to that contract. As mentioned before, it uses the service of the CPS to help the EV verify the authenticity of the contract certificate and to eventually store what is called a <em>signed contract certificate bundle</em> to a data pool called <em>Contract Certificate Pool. </em>That data pool is managed by the PKI ecosystem provider, such as Hubject, Irdeto or Gireve. A car manufacturer subscribes to this data pool to get notified of newly created contract certificates that were provisioned specifically for one of their EVs. </p><p><strong>Vehicle Manufacturer (OEM)</strong></p><p>In ISO 15118 terminology, the vehicle manufacturer is referred to as the OEM.<br>The OEM issues an <strong>OEM Provisioning Certificate</strong> for every Plug &amp; Charge-capable vehicle, serving as the identity of the EV. </p><p>Each EV has at least one such certificate, while vehicles that support <strong>multi-contract handling</strong> &#8211; allowing multiple contract certificates from various MSPs to be stored &#8211; may have a corresponding number of provisioning certificates to manage those separate contracts securely.</p><p>This OEM provisioning certificate allows the vehicle to securely request and install (i.e. provision) a new contract certificate from the Contract Certificate Pool &#8211; either via the OEM&#8217;s secure over-the-air (OTA) update link, or via a charging station. Although ISO 15118 offers a dedicated mechanism to install these contract certificates, it appears that car manufacturers prefer their own OTA communication link to safely store them in their EVs.</p><p><strong>Private Environment</strong></p><p>A private environment refers to a physically controlled charging setting, such as a private fleet depot or a restricted-access car park. </p><p>This concept was introduced to offer a simpler, more cost-effective Plug &amp; Charge setup for <strong>non-public charging scenarios</strong>. I won&#8217;t dive deeper into it here, as it&#8217;s unclear whether this concept has ever been implemented in practice. However, if your company has, please reach out. I&#8217;d be glad to update this article and explore how it works in reality, along with its advantages and drawbacks.</p><div><hr></div><p>If that sounded like a mouthful, I feel you. But don&#8217;t worry &#8211; in the upcoming finale of this Plug &amp; Charge series, we&#8217;ll break it all down step by step: how a contract certificate actually finds its way into your EV, and how a full Plug &amp; Charge session unfolds from start to finish. I&#8217;ll also include a clear, visual walkthrough that ties everything together and makes the whole process click.</p><h3>Checking a certificate&#8217;s revocation status with OCSP</h3><p>You probably have noticed the <em>OCSP Responder</em> certificates on the left in the illustration above and asked yourself: <em>what&#8217;s that</em>? </p><p>Let me explain.</p><p>OCSP, short for <em>Online Certificate Status Protocol</em>, is a way for systems to check in real time whether a digital certificate is still trustworthy (i.e. has not been revoked). For example, a certificate might be revoked if its private key was compromised, the organisation&#8217;s details or ownership changed, or the device was retired. </p><p>In the past, the old method was to download long Certificate Revocation Lists (CRLs), files published by the CA that contained every certificate that had been revoked. OCSP made this process much faster: instead of downloading and parsing an entire list, a device simply asks the CA&#8217;s <em>OCSP responder</em> about one specific certificate and gets a quick &#8220;good,&#8221; &#8220;revoked,&#8221; or &#8220;unknown&#8221; reply.</p><p>To make this possible, the certificate authority issues a dedicated <strong>OCSP responder certificate</strong> to a server that&#8217;s authorised to sign these status responses on the CA&#8217;s behalf. This allows the responder to prove that its answers are genuine without exposing the CA&#8217;s private key.</p><p>By checking both validity dates and OCSP revocation status, systems like Plug &amp; Charge ensure they only trust certificates that are <strong>both</strong> <strong>current and still approved by the CA</strong>.</p><p>Note that OCSP responder certificates are used by all entities in the Plug &amp; Charge ecosystem &#8211; including CPS, MSPs, and OEMs &#8211; but are shown only once in the diagram for simplicity and clarity.</p><h3>Additional certificates in ISO 15118-20</h3><p>ISO 15118-20 brings several <a href="https://currentaffairs.io/i/178481848/increasing-cybersecurity-resilience-in-iso">notable cybersecurity enhancements</a>, which we briefly covered in the previous article. For now, let&#8217;s focus on the changes affecting the digital certificates.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JhPc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JhPc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 424w, https://substackcdn.com/image/fetch/$s_!JhPc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 848w, https://substackcdn.com/image/fetch/$s_!JhPc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 1272w, https://substackcdn.com/image/fetch/$s_!JhPc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JhPc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png" width="1456" height="783" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:783,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:368890,&quot;alt&quot;:&quot;PKI ecosystem for ISO 15118-20&quot;,&quot;title&quot;:&quot;PKI ecosystem for ISO 15118-20&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/179259048?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PKI ecosystem for ISO 15118-20" title="PKI ecosystem for ISO 15118-20" srcset="https://substackcdn.com/image/fetch/$s_!JhPc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 424w, https://substackcdn.com/image/fetch/$s_!JhPc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 848w, https://substackcdn.com/image/fetch/$s_!JhPc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 1272w, https://substackcdn.com/image/fetch/$s_!JhPc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51efc0b-a9e6-4422-894a-6de244e00386_3821x2054.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">PKI ecosystem for ISO 15118-20</figcaption></figure></div><p><strong>Additional Vehicle Certificates for mutual TLS</strong></p><p>You&#8217;ll notice an additional blue strain in the vehicle manufacturer PKI hierarchy. Those  additional <em>Vehicle Certificates</em> were introduced to enable mutual TLS authentication, meaning that authentication now happens in both directions &#8211; the EV must also prove its identity to the charger, not just the other way around.</p><p><strong>OCSP responder certificates for leaf certificates</strong></p><p>It always seemed like an odd design choice that ISO 15118-2 used OCSP responder certificates only for Sub CAs, not for the leaf certificates such as SECC or contract certificates. The rationale was that some leaf certificates are typically short-lived &#8211; e.g. SECC certificates are valid for just a few months &#8211; making the overhead of maintaining and querying OCSP responders less justified.</p><p>Still, to close this potential revocation blind spot, ISO 15118-20 now includes <em>OCSP responder certificates at</em> <em>all levels</em>, ensuring that even short-lived leaf certificates can have their revocation status checked if needed.</p><p>Note that OCSP responder certificates are used by all entities in the Plug &amp; Charge ecosystem in ISO 15118-2 and -20 &#8211; including CPS, MSPs, and OEMs &#8211; but are shown only once in the diagram for simplicity and clarity.</p><p><strong>Cross-certification and Certificate Trust Lists (CTLs)</strong></p><p>In ISO 15118-20, <em>cross-certificates</em> were introduced to bridge trust between separate PKI hierarchies &#8211; for example, when two different V2G Root CAs need to recognise each other. When one V2G Root CA cross-signs another&#8217;s public key, an EV that only trusts e.g. a V2G Root CA from Hubject can still authenticate a charger whose certificate chain originates from Irdeto&#8217;s V2G Root CA. </p><p>As a result, the updated standard permits certificate chains of up to four certificates instead of three: the leaf certificate, two Sub CAs, and additionally one optional cross-certificate.</p><p>Wait, but what about the Root CA certificate? Isn&#8217;t that part of the certificate chain?</p><p>Ahh, now that&#8217;s important to remember: a Root CA certificate is <em>never</em> sent as part of a certificate chain, because Root CAs are trust anchors that need to be pre-installed on the verifying device &#8211; such as an EV or charger &#8211; to enable the verification of the received certificate chain (leaf &#8594; Sub CA 2 &#8594; Sub CA 1).</p><p>However, this cross-certification setup adds significant complexity to trust validation and certificate management, which is why the industry is moving instead toward <em>Certificate Trust Lists (CTLs)</em> &#8211; a simpler way to publish trusted Root CAs. The EU&#8217;s Sustainable Transport Forum (STF) is currently defining a PKI interoperability governance directive, which we&#8217;ll probably touch on in next week&#8217;s article.</p><p><strong>Certificate size increased</strong></p><p>In ISO 15118-20, the maximum allowed X.509 certificate size increased to 1,600 bytes (previously 800 bytes in ISO 15118-2). This change was introduced to accommodate the richer data (e.g. more detailed subject/issuer fields) and modern cryptographic algorithms required (e.g. stronger elliptic curves such as <em>secp521r1</em> or <em>Ed448</em>). </p><p>This becomes an important consideration when determining how much memory your EV or charger should include before it goes to market. </p><div><hr></div><p>And that&#8217;s a wrap for today. Or, as Master Yoda would say: <em>&#8220;A PKI mastered, you have.&#8221;</em></p><p>You&#8217;re now armed with the essentials to understand how a Plug &amp; Charge session unfolds &#8211; from signing that EV electricity contract all the way to plugging in and watching the electrons flow.</p><p>Next week, we&#8217;ll peek into the ISO 15118-20 PKI (spoiler alert: it adds a few extra certificates) and unpack the storage requirements for EVs and chargers to manage both PKIs &#8211; an important design decision you want to get right in order to support both ISO 15118-2 and -20. We&#8217;ll also trace the full journey of a contract certificate &#8211; from issuance to installation to authentication at the charger &#8211; and watch a Plug &amp; Charge session in action, start to finish.</p><p>Stay tuned, it&#8217;s going to the be finale of the Plug &amp; Charge article series for now &#8211; before I take you onto the next journey: smart charging and vehicle-to-grid (V2G).</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts and questions anytime, I&#8217;d love to hear them. Please <strong>share it with your professional network</strong> (LinkedIn, Substack, X).</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Inside Plug & Charge: The cryptographic architecture of seamless EV charging]]></title><description><![CDATA[A clear guide to TLS, symmetric vs asymmetric ciphers, key exchange, and digital signatures in EV charging that enable confidentiality, data integrity, and authenticity]]></description><link>https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging</link><guid isPermaLink="false">https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 18 Nov 2025 12:19:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9pTX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every Plug &amp; Charge session relies on an intricate dance of encryption, a secure exchange of secret session keys to encrypt and decrypt data, digital signatures to ensure that messages haven&#8217;t been tampered with, and digital certificates to verify each participant&#8217;s authenticity &#8211; all happening within seconds between your EV, the charger, the charge point operator, and the mobility service provider. It&#8217;s the same level of security used in online banking, applied to the EV charging world to keep every byte of data &#8211; flowing through the charging cable and beyond &#8211; private and protected.</p><p>You may have heard these terms before, or even worked with some of them. But for most people, cryptography feels like a dense and abstract topic with little connection to daily life. So in this article, I&#8217;ll walk you through what actually happens under the hood and how ISO 15118 uses modern cryptography to make Plug &amp; Charge both seamless and secure. If you happen to be a software engineer implementing this, or a test engineer trying to debug why a secure handshake keeps failing or Plug &amp; Charge doesn&#8217;t work as expected, this will be especially useful.</p><p>My goal isn&#8217;t to turn you into a cryptographer, and I&#8217;ll spare you the level of depth I usually go into during my two-day advanced training sessions on this topic (part of CharIN&#8217;s <em><a href="https://www.charin.global/events/academy/charging-communication-with-iso-15118/">Charging Communication with ISO 15118</a></em> program). Instead, I&#8217;ll explain just enough so you can see how Transport Layer Security (TLS), public and private keys, and digital certificates work together to prevent anyone from eavesdropping, tampering, or impersonating when data flows through the charging cable to control the flow of energy.</p><p>Let&#8217;s get started!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9pTX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9pTX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 424w, https://substackcdn.com/image/fetch/$s_!9pTX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 848w, https://substackcdn.com/image/fetch/$s_!9pTX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 1272w, https://substackcdn.com/image/fetch/$s_!9pTX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9pTX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png" width="1456" height="1017" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1017,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:818576,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9pTX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 424w, https://substackcdn.com/image/fetch/$s_!9pTX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 848w, https://substackcdn.com/image/fetch/$s_!9pTX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 1272w, https://substackcdn.com/image/fetch/$s_!9pTX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9626451d-c1bb-45d9-b77f-d0d67e9e2978_2254x1574.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let&#8217;s start by quickly revisiting the three basic principles that allow the EV and charger to &#8216;talk&#8217; to each other in a secure way: confidentiality, data integrity and authenticity.</p><ol><li><p><strong>Confidentiality</strong>: When your EV exchanges information with a charging station (or wall box) it needs to make sure that no unauthorised third party can listen in on the conversation.</p></li><li><p><strong>Data Integrity</strong>: The data that the EV and charging station exchange must be secure, and any malicious third-party attempts to manipulate the conversation</p><p>must be detected on both sides.</p></li><li><p><strong>Authenticity</strong>: The EV must identify and be able to verify the charger to which it is physically connected as a trustworthy charger, and vice versa.</p></li></ol><p>Data encryption ensures confidentiality, digital signatures and certificates are the tools to ensure data integrity and to verify the authenticity of the communicating counterpart. Managing these digital certificates securely requires an entire system of roles, policies, and procedures for issuing, validating, and revoking certificates. This system is known as a public key infrastructure, or PKI, which will be the focus of next week&#8217;s article.</p><p>So, let&#8217;s unpack this from the ground up. </p><h2>Encrypting the conversation with TLS</h2><p>The moment your ISO 15118-enabled EV and charger connect through the charging cable, they establish a communication link using the Transmission Control Protocol (TCP), the same reliable transport layer that keeps most of the internet running. TCP makes sure every message between the EV and the charger arrives intact, in the right order, and without loss, even if the physical connection isn&#8217;t perfect. It&#8217;s what guarantees that no data packets go missing or get scrambled while travelling through the cable. That&#8217;s important because ISO 15118 describes a strict sequence of messages to orchestrate a successful charging session. If one message is sent out of order or is not received in time, the session immediately terminates. </p><p>Once that reliable foundation is in place, <strong>Transport Layer Security (TLS)</strong> steps in to secure the conversation itself. While TCP ensures that the data <em>arrives</em>, TLS ensures that it <em>arrives privately and unaltered</em>. Before any sensitive information is exchanged &#8211; like authorisation data or charging schedules to influence the EV&#8217;s charging behaviour &#8211; the EV and the charger perform what&#8217;s called a <strong>TLS handshake</strong>: a rapid back-and-forth where they identify each other, agree on which cryptographic algorithms to use (the so-called <strong>cipher suite</strong>), and generate a shared secret key which then becomes the basis for the encryption key that will be used to encrypt everything that follows. </p><p>From that moment on, every message is wrapped in a layer of encryption that only the EV and charger can understand, creating the foundation for a secure Plug &amp; Charge session.</p><h3>Let&#8217;s decipher a TLS cipher suite</h3><p>During that TLS handshake, the EV and charging station tell each other which set of cryptographic algorithms they support to enable confidentiality, data integrity, and authenticity. Together, these algorithms form what&#8217;s called a <em>cipher suite</em>. It&#8217;s essentially a recipe for secure communication, made up of four main components.</p><p>We&#8217;ll first look at the cryptographic algorithms used in ISO 15118-2, released back in 2014, and then briefly compare how they&#8217;ve evolved in ISO 15118-20, published in 2022. The shift reflects the industry&#8217;s natural move toward higher security and efficiency as both computing power and the sophistication of potential cyber attacks  increase.</p><ol><li><p><strong>Key exchange algorithm</strong>: The big question is: how can the EV and the charger agree on a shared secret key (based off which the communication shall be encrypted) without anyone listening in, copying that key, and decrypting all their messages? That&#8217;s exactly what the <em>Diffie&#8211;Hellman key agreement</em> solves: it lets both sides start with their own private number (or digital private key), exchange only a derived public key, and then combine those keys in such a way that both end up with the same secret key, while an eavesdropper watching the exchange can&#8217;t reverse the math to uncover it. <br>In practice, ISO 15118 doesn&#8217;t use the original Diffie&#8211;Hellman method but a more efficient and modern variant called <em>Elliptic Curve Diffie&#8211;Hellman (ECDH)</em>. It works on the same principle, but instead of using large prime numbers, it relies on the elegant mathematics of elliptic curves, a topic we&#8217;ll revisit further down to show why it&#8217;s especially well-suited for embedded systems like EVs and chargers. </p></li><li><p><strong>Authentication algorithm</strong>: The authentication algorithm ensures that both parties (the EV and the charger) can prove who they really are before exchanging any sensitive data. It prevents someone from impersonating a trusted device in the communication chain. In ISO 15118, this is done using the <em>Elliptic Curve Digital Signature Algorithm (ECDSA)</em>, which allows each side to sign messages with its private key and verify them with the corresponding public key (embedded in a digital certificate), confirming authenticity without ever revealing the private key itself. I&#8217;ll walk you through a practical example of a digital signature in a minute.</p></li><li><p><strong>Bulk encryption algorithm</strong>: Once the secure session is established, the bulk encryption algorithm takes over to keep the actual data exchange between the EV and the charger private. In ISO 15118-2, this is handled by <em>AES-128-CBC</em><strong> </strong>(Advanced Encryption Standard, 128-bit, Cipher Block Chaining). The <em>128</em> indicates the length of the encryption key &#8211; long enough to make brute-force attacks practically impossible &#8211; while <em>CBC</em> describes how each block of data depends on the one before it, ensuring that even identical message blocks produce completely different encrypted outputs.</p></li><li><p><strong>Message authentication algorithm</strong>: It makes sure that the EV and the charger can detect whether the data exchanged has been altered on its way &#8211; be it by accident or by someone trying to interfere. It works by creating a short, unique fingerprint of each message, called a <em>message digest</em> or <em>hash</em>, which the recipient can recalculate and compare to verify integrity. In ISO 15118-2, this is handled by <em>SHA-256</em><strong> </strong>(Secure Hash Algorithm, 256-bit), meaning each message is represented by a 256-bit hash value that changes completely even if a single bit of the original data is modified, making undetected tampering virtually impossible. Try it out yourself with this <a href="https://emn178.github.io/online-tools/sha256.html">online hash generator</a>. Hashes are used in digital signatures, I&#8217;ll explain this more further down in the article.</p><p></p></li></ol><h3>Why we need elliptic curve cryptography</h3><p>For those electronic control units (little microchips and memory chips) embedded in EVs and charging stations, memory footprint and performance matter as much as security. That&#8217;s why ISO 15118 relies on <strong>elliptic curve cryptography (ECC)</strong>, a modern variant of public key cryptography &#8211; which we&#8217;ll touch upon in a minute &#8211; that achieves top-tier security with much smaller keys and less computation as compared to e.g. the large prime numbers traditionally used in RSA.</p><p>ISO 15118-2 demands the use of a specific elliptic curve called <em>secp256r1</em> (aka <em>prime256v1</em>) for the following well-established ECC algorithms:</p><ul><li><p>Elliptic Curve Diffie-Hellman (ECDH) key agreement protocol to generate the symmetric TLS session key during the TLS handshake</p></li><li><p>Elliptic Curve Digital Signature Algorithm (ECDSA) to generate digital signatures with the private key and verify digital signatures with the corresponding public key</p></li></ul><p></p><h3>Visual example of a TLS cipher suite in ISO 15118-2</h3><p>In ISO 15118-2, there are only two cipher suites to choose from:</p><ul><li><p>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256</p></li><li><p>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</p></li></ul><p>At first sight, they look almost identical. However, only the latter one facilitates <em>Perfect Forward Secrecy</em> (<em>PFS</em>), which is a desired characteristic in secure communications.</p><p>The <strong>&#8216;E&#8217; in ECDHE</strong> stands for <em>Ephemeral</em>, meaning short-lived or temporary. It forces the EV and the charging station to create a new, unique private&#8211;public key pair for every charging session, and discard it once the TLS session ends. This way, even if an attacker somehow obtained the TLS session key used in a previous charging session, they couldn&#8217;t use it to decrypt any past or future communication. Each session has its own one-time key, ensuring that every conversation between car and charger stays secure on its own. That&#8217;s the essence of <strong>Perfect Forward Secrecy</strong>.</p><p>The cipher suite with &#8216;ECDH&#8217; should have never made it into the ISO 15118-2 standard and is, hopefully and for good cyber security practice&#8217;s sake, not implemented in <em>any</em> EV or charging station these days<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, even if the perceived risk may be low.</p><p>To summarise, each ISO 15118-2 communication session should only use the following cipher suite, which specifies the particular key agreement algorithm, signature and hashing algorithm, and encryption algorithm to use:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U0c4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U0c4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 424w, https://substackcdn.com/image/fetch/$s_!U0c4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 848w, https://substackcdn.com/image/fetch/$s_!U0c4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 1272w, https://substackcdn.com/image/fetch/$s_!U0c4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U0c4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png" width="1394" height="782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:1394,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38795,&quot;alt&quot;:&quot;TLS cipher suite for ISO 15118-2&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="TLS cipher suite for ISO 15118-2" title="TLS cipher suite for ISO 15118-2" srcset="https://substackcdn.com/image/fetch/$s_!U0c4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 424w, https://substackcdn.com/image/fetch/$s_!U0c4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 848w, https://substackcdn.com/image/fetch/$s_!U0c4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 1272w, https://substackcdn.com/image/fetch/$s_!U0c4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cedaee7-fe75-4a75-977e-7788bfbcdf28_1394x782.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">TLS cipher suite for ISO 15118-2</figcaption></figure></div><h3>Increasing cybersecurity resilience in ISO 15118-20</h3><p>ISO 15118-20 proposes a new set of cipher suites to enhance data security and be more resilient against cyberattacks. Whether these algorithms will stand the test when quantum computers become more widely available is still to be seen. But then again, commercially available quantum computers (not just prototypes) are likely still at least 10 years away.</p><p>The new cipher suites for ISO 15118-20, which demands the use of <strong>TLS 1.3</strong>, are:</p><ul><li><p><strong>TLS_AES_256_GCM_SHA384: </strong>Uses the same AES algorithm but with a 256-bit key for strong encryption, combined with GCM mode (Galois/Counter Mode) for speed and built-in integrity checks, and SHA-384 for hashing.</p></li><li><p><strong>TLS_CHACHA20_POLY1305_SHA256</strong>: Offers a modern, lightweight alternative optimised for devices with limited hardware acceleration, using the ChaCha20 stream cipher for encryption, Poly1305 for message authentication, and SHA-256 for hashing.</p></li></ul><p>In TLS 1.3, the handshake is quicker because the key exchange algorithm (ECDHE) is known from the start. That&#8217;s why it no longer appears in the beginning of the cipher suite name.</p><p>Beyond the updated cipher suites, ISO 15118-20 brings several notable cybersecurity enhancements, such as</p><ul><li><p>a new default elliptic curve called <em>secp512r1</em> (doubling the size of private and public keys),</p></li><li><p>a backup elliptic curve called <em>Curve448 </em>(for when the default curve gets hacked sometime in the future), </p></li><li><p>additional vehicle certificates to enable mutual TLS authentication, meaning that authentication now happens in both directions &#8211; the EV must also prove its identity to the charger, not just the other way around, and </p></li><li><p>a strong recommendation to use Trusted Platform Module (TPM 2.0) for storing private keys and certificates securely on tamper-resistant hardware. </p></li></ul><p>Interoperability between ISO 15118-2 and -20 isn&#8217;t always straightforward. One common stumbling block is the EV and charger not supporting the same TLS version (TLS 1.2 vs TLS 1.3). If they don&#8217;t handle this gracefully, their attempt to &#8220;speak securely&#8221; can fail. When that happens, both sides may simply give up on Plug &amp; Charge altogether and fall back to regular methods like an RFID card, an app, or a payment terminal. This is probably worth exploring further in a separate article. If that&#8217;s of interest to you, then let me know in the comments or drop me a message.</p><p></p><h2>How do you secure the encryption key?</h2><p>We&#8217;ve covered quite a bit about digital signatures, certificates (specifically in <a href="https://currentaffairs.io/p/plug-and-charge-the-technology-ecosystem-and-road-ahead-of-seamless-charging">last week&#8217;s article</a>), and the use of private and public keys, along with asymmetric (ECDHE, ECDSA) and symmetric (AES) cryptographic algorithms. </p><p>To keep things clear, let&#8217;s step back for a moment and untangle these terms so you can see the bigger picture and understand why we need both symmetric and asymmetric encryption in the first place.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fuuz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fuuz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fuuz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fuuz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fuuz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fuuz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg" width="369" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:369,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138927,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fuuz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fuuz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fuuz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fuuz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7476ee3c-be8a-4382-b90a-37acc8945eb7_369x600.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Symmetric algorithms</strong> like the above mentioned block cipher AES use the same key &#8211; in our example: the TLS session key &#8211; to both encrypt and decrypt data (hence the term <em>symmetric</em>), making them fast and efficient for protecting large amounts of information once a secure connection is established. </p><p>But what if someone was tapping the communication channel (say, the charging cable between the EV and a hacked charging station) remotely during the TLS handshake? Wouldn&#8217;t that person then be able to intercept the symmetric TLS session key? If that&#8217;s the case, then the eavesdropper would be able to listen in on the communication, and the whole purpose of TLS would be rendered useless.</p><p>The eavesdropper could manipulate the communication by modifying the intercepted data for some malicious purpose like manipulating charging schedules (to induce a blackout) or authentication data (to charge on behalf of someone else&#8217;s account). How would the EV or charger know if they&#8217;re actually talking to a trustworthy party and not falling prey to this kind of <em>man-in-the-middle attack</em>?</p><p>That&#8217;s where <strong>public key cryptography, </strong>also known as <strong>asymmetric cryptography,</strong> comes to the rescue. </p><p>It&#8217;s called <em>asymmetric</em> cryptography because it uses two mathematically linked but distinct keys &#8211; a <strong>private key</strong> kept secret and a <strong>public key</strong> shared openly &#8211; which perform opposite functions, such as encrypting and decrypting or signing and verifying messages.</p><p>The private key must be kept secret at all times, otherwise the key pair is considered to be compromised. It&#8217;s a versatile tool that can be used for various cryptographic applications. In ISO 15118, we use asymmetric cryptography only for agreeing on the shared secret key needed for a TLS session key and for digital signatures.</p><ol><li><p><strong>Key Agreement</strong>: Back in 1974, two distinguished mathematicians, Whitfeld Diffie and Martin Hellman, invented the <em>Diffie-Hellman key agreement protocol</em> that uses public key cryptography. In this protocol, two parties can agree on a shared secret key <em>without ever transmitting that secret</em> key directly. Instead, they create a temporary private-public key pair, exchange their corresponding public keys, and use a mathematical function to generate the same shared secret key on both sides. This provides a secure way to establish a shared secret key that can be used for encryption and decryption of the following message flow.</p></li><li><p><strong>Digital Signatures</strong>: A digital signature is a way to ensure the authenticity and integrity of a message. To create a digital signature, the EV, for example, uses the SHA-256 hash function to calculate a hash value (also known as the &#8216;message digest&#8217;) and encrypts the hash value with its private key. That encrypted hash value is then attached to the actual message it sends to the charger. </p><p>The charger can then verify the signature using the EV&#8217;s corresponding public key, which is embedded in a digital certificate to which the charger has access. To verify the message, the charging station basically follows these three steps:</p><ol><li><p>Decrypt the encrypted hash value that the EV attached to its message, using the public key that matches the EV&#8217;s private key</p></li><li><p>Calculate the hash value of the received message</p></li><li><p>Compare the received (and decrypted) hash value with the calculated one. </p><p></p></li></ol><p>If the hash values match, the signature is valid. This means that the charger can be sure that the message has not been tampered with by an unauthorised third party and that it was indeed sent by the EV, who is the only one in possession of that private key that fits to the public key to which the charger has access.</p><p><br>The same principle applies vice versa, of course, when the charger sends a digitally signed message to the EV.</p></li></ol><p></p><h2>How to create and verify digital signatures </h2><p>Digital signatures, specifically the XML-based ones used in ISO 15118<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, can make your head spin and be a bit tricky to understand when you read about them the first time. Let me help you visualise the concept first with the diagram below, and then I&#8217;ll guide you through each step one by one. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8z-I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8z-I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 424w, https://substackcdn.com/image/fetch/$s_!8z-I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 848w, https://substackcdn.com/image/fetch/$s_!8z-I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 1272w, https://substackcdn.com/image/fetch/$s_!8z-I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8z-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png" width="1456" height="2387" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2387,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:262585,&quot;alt&quot;:&quot;The steps to create a digital signature in ISO 15118&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The steps to create a digital signature in ISO 15118" title="The steps to create a digital signature in ISO 15118" srcset="https://substackcdn.com/image/fetch/$s_!8z-I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 424w, https://substackcdn.com/image/fetch/$s_!8z-I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 848w, https://substackcdn.com/image/fetch/$s_!8z-I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 1272w, https://substackcdn.com/image/fetch/$s_!8z-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438ab354-35ef-4ce4-ae5a-fad694d6bc19_1689x2769.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The steps to create a digital signature in ISO 15118</figcaption></figure></div><p>In this example, we&#8217;re assuming that the EV is about to send a digitally signed <code>AuthorizationReq</code> (Req for Request) message to the charging station. This is one of the seven messages in ISO 15118 that need to be digitally signed. Here, the <strong>private key</strong> is the one that&#8217;s mathematically linked to the <strong>public key</strong> in the <strong>contract certificate</strong>. The EV has already shared that certificate &#8211; not the private key &#8211; with the charging station in a previous message called <code>PaymentDetailsReq</code><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>:</p><ol><li><p><strong>EXI-encoding and hashing</strong>: The message body of an ISO 15118 message is converted into a compact, binary data stream using an <em>EXI codec</em> (see footnote 2 for a brief explanation on Efficient XML Interchange, or EXI). We need this binary representation as input for the SHA-256 hash function, which creates a 256 bit message digest. In the image above, those 256 bits are represented in 64 hexadecimal characters (1 hex character = 4 bits; 64 x 4 bits = 256 bits).</p></li><li><p><strong>Store message digest in header</strong>: The resulting hash value is then stored in the <code>DigestValue</code> element of the message header&#8217;s <code>Signature</code>. This <code>Signature</code> contains the two fields <code>SignedInfo</code> and <code>SignatureValue</code>. The <code>SignedInfo</code> element includes several data fields, but for our purposes here, the key one to focus on is <code>DigestValue</code>.</p></li><li><p><strong>EXI encode SignedInfo</strong>: The <code>SignedInfo</code> data field (which contains the message digest, or hash) is then also EXI encoded.</p></li><li><p><strong>Hash EXI-encoded SignedInfo</strong>: The binary, EXI-encoded <code>SignedInfo</code> is then also hashed using SHA-256, producing yet another hash value that represents the <code>SignedInfo</code> data field.</p></li><li><p><strong>Encrypt hashed and EXI-encoded SignedInfo</strong>: Using its private key, the EV will encrypt the hash value of the EXI-encoded <code>SignedInfo</code> data field. This, my friend, <em>is</em> <em>finally</em> the digital signature.<br><br><strong>Important note</strong>: Step 4 and 5 are both part of the Elliptic Curve Digital Signature Algorithm (ECDSA). <em>DO NOT</em> hash the <code>SignedInfo</code> data field before you apply ECDSA, as this would result in a double hashing operation and failed signature verification on the other side. I ran into this issue when I first implemented digital signatures in ISO 15118 many years ago. Took me a while until I understood why. </p></li><li><p><strong>Store digital signature in message header</strong>: The final step of creating the digital signature is to actually place this value into the <code>SignatureValue</code> field of the message header&#8217;s <code>Signature</code>.</p></li><li><p><strong>EXI encode signed ISO 15118 message</strong>: Now, before the EV sends the message across the wire to the charging station, the message needs to be transformed into a compact, digital data stream using the EXI codec once again.</p></li><li><p><strong>Encrypt ISO 15118 message</strong>: The final step is to encrypt the now EXI-encoded and digitally signed <code>AuthorizationReq</code> message with the symmetric block cipher AES-128-CBC, using the 128-bit TLS session key that the EV and charger agreed on during the TLS handshake (remember Elliptic Curve Diffie-Hellman?).</p></li></ol><p>OK, so what does the charging station now do once it receives this message? </p><p>As the saying goes, images speak more than 1000 words. So let&#8217;s first summarise the actions visually before I walk you through each step.</p><p>Verifying a digital signature is actually a two-step process:</p><ul><li><p><strong>Part 1</strong>: Verify the digest value(s) of the message body (elements)<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a></p></li><li><p><strong>Part 2</strong>: Verify the signature value</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3D4T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3D4T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 424w, https://substackcdn.com/image/fetch/$s_!3D4T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 848w, https://substackcdn.com/image/fetch/$s_!3D4T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 1272w, https://substackcdn.com/image/fetch/$s_!3D4T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3D4T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png" width="1456" height="1739" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1739,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182477,&quot;alt&quot;:&quot;Part 1 of verifying digital signatures (ISO 15118): Verifying message digest values&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Part 1 of verifying digital signatures (ISO 15118): Verifying message digest values" title="Part 1 of verifying digital signatures (ISO 15118): Verifying message digest values" srcset="https://substackcdn.com/image/fetch/$s_!3D4T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 424w, https://substackcdn.com/image/fetch/$s_!3D4T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 848w, https://substackcdn.com/image/fetch/$s_!3D4T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 1272w, https://substackcdn.com/image/fetch/$s_!3D4T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d19e91a-7d90-4808-8698-6d45171a5bc6_1526x1823.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Part 1 of verifying digital signatures (ISO 15118): Verifying message digest values</figcaption></figure></div><p>Let&#8217;s go through the steps of Part 1 first:</p><ol><li><p><strong>Decrypt EXI-encoded message</strong>: Upon receiving the <code>AuthorizationReq</code> via the charging cable, the charging station will first try to decrypt the message using the same, symmetric 128-bit TLS session key which the EV used for encryption.</p></li><li><p><strong>EXI decode the message</strong>: To be able to read the message header and body, the charger needs to use the EXI codec for decoding the <code>AuthorizationReq</code>. </p></li><li><p><strong>EXI encode and hash message body</strong>: Then the charger does the same what the EV did previously: EXI encode and hash the message body. This is a step towards checking whether the message has been altered on its way to the charger.  </p></li><li><p><strong>Check if digest values match</strong>: The result from step 3 represents the message digest of the <code>AuthorizationReq</code>. If that message digest is the same as the one stored in the message header&#8217;s <code>DigestValue</code> field, then that&#8217;s already a good sign. But we&#8217;re not done yet. The charger still needs to check the authenticity of the received digest value (which we discuss in Part 2 below).</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p-yy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p-yy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 424w, https://substackcdn.com/image/fetch/$s_!p-yy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 848w, https://substackcdn.com/image/fetch/$s_!p-yy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 1272w, https://substackcdn.com/image/fetch/$s_!p-yy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p-yy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png" width="1456" height="1773" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1773,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127831,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p-yy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 424w, https://substackcdn.com/image/fetch/$s_!p-yy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 848w, https://substackcdn.com/image/fetch/$s_!p-yy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 1272w, https://substackcdn.com/image/fetch/$s_!p-yy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a0b4758-9c10-4e13-8afe-39e4c0cadb31_1497x1823.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Part 2 of verifying digital signatures (ISO 15118): Verifying the signature value</figcaption></figure></div><p>We&#8217;re almost there. The final steps of verifying a digital signature in ISO 15118 are:</p><ol start="5"><li><p><strong>EXI encode Signed Info</strong>: In order to verify the digital signature value, the charger needs to basically go through the same calculation steps as the EV did. Meaning: EXI encoding the <code>SignedInfo</code> element first before &#8230;</p></li><li><p><strong>Hash EXI-encoded Signed Info</strong>: &#8230; hashing the resulting binary data stream, resulting in (hopefully) the same value the EV calculated before it sent the message across.</p></li><li><p><strong>Decrypt Signature Value</strong>: Now the charging station needs to use the public key that is linked to the contract certificate&#8217;s private key in order to decrypt the data field <code>SignatureValue</code>, which is stored in the <code>AuthorizationReq</code>&#8217;s message header. Remember that the charger received the contract certificate (including the public key) from the EV in the previous <code>PaymentDetailsReq</code> message.</p></li><li><p><strong>Check if values match</strong>: The finale: if the decrypted <code>SignatureValue</code> matches the <em>calculated</em> (EXI-encoded and hashed) <code>SignedInfo</code> value, then the message is definitely authentic and can be trusted. </p><p></p></li></ol><p>That was a lot to digest, I know.</p><p>But it&#8217;s the only way to truly understand how XML-based digital signatures work in ISO 15118. The good news? You&#8217;ve just worked through one of the toughest parts of Plug &amp; Charge. If it all clicked &#8211; congratulations, that&#8217;s a real achievement. And if it didn&#8217;t fully land yet, grab a coffee, take a breather, and give it another read. It&#8217;ll make sense the second time around.</p><p></p><h2>Symmetric vs asymmetric &#8211; the big picture</h2><p>To summarise: <em>asymmetric</em> cryptography is ideal for the initial trust-building and key exchange (where confidentiality is critical but speed matters less), while <em>symmetric</em> cryptography takes over once the secure session is set up, efficiently encrypting and decrypting all the data that follows. Asymmetric ciphers require long key lengths compared to symmetric ciphers, which is computationally more expensive and requires a higher memory footprint. That&#8217;s the reason why symmetric ciphers (like AES) are used for encrypting the actual communication.</p><p>Below is a visual summary that captures the essence of what we discussed regarding symmetric and asymmetric ciphers. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZH7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 424w, https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 848w, https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 1272w, https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png" width="1456" height="1262" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1262,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148139,&quot;alt&quot;:&quot;Use of symmetric and asymmetric crypto algorithms in ISO 15118-2&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178481848?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Use of symmetric and asymmetric crypto algorithms in ISO 15118-2" title="Use of symmetric and asymmetric crypto algorithms in ISO 15118-2" srcset="https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 424w, https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 848w, https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 1272w, https://substackcdn.com/image/fetch/$s_!ZH7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cc245dc-7bea-4566-b3b4-12582ccea3e5_2013x1745.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Use of symmetric and asymmetric crypto algorithms in ISO 15118-2</figcaption></figure></div><p>Note that the shared secret key isn&#8217;t used <em>directly</em> as the symmetric TLS session key for encrypting and decrypting messages. Instead, there&#8217;s an intermediate step called a <strong>Key Derivation Function (KDF)</strong>, which transforms the shared secret into a properly sized TLS session key. One reason for this is that ISO 15118-2 mandates the use of the <strong>elliptic curve</strong> <strong>secp256r1</strong> (also known as <strong>prime256v1</strong>), which was considered state-of-the-art when the standard was published in 2014. This curve produces a <em>256-bit shared secret</em>, while the symmetric cipher used in ISO 15118-2 &#8211; AES-128-CBC &#8211; operates on 128-bit keys. The KDF bridges this mismatch by deriving a 128-bit session key from the 256-bit shared secret.</p><p>ISO 15118-20 works in much the same way, but it uses larger key sizes and introduces additional signature algorithms in its cipher suites, as mentioned above.</p><h2>Is your hardware ready for Plug &amp; Charge?</h2><p>Understanding the interplay of the various symmetric and asymmetric ciphers is essential to a) implement and b) debug Plug &amp; Charge sessions in your test lab or later in the field when you introduced your (battle-tested) solutions to the market.</p><p>These days, we don&#8217;t need to reinvent the wheel when it comes to the various ciphers at play. <strong>OpenSSL</strong> is a mature, widely used open-source cryptographic library that already implements all the major symmetric and asymmetric algorithms needed &#8211; from AES and SHA-256 to ECDHE and ECDSA. It&#8217;s a solid foundation for handling TLS, digital signatures, and key exchange without having to build these components from scratch. However, it&#8217;s important to verify which OpenSSL version your system is using, as <strong>older releases may not yet support all the cipher suites</strong> required by ISO<strong> </strong>15118-2 and especially ISO 15118-20 &#8211; which will become mandatory under AFIR in Europe by January 2027.</p><p>Also, keep in mind that there are mature, ready-to-use implementations that are <strong>battle-tested, certified</strong>, and have survived countless interoperability events. From open-source projects like Pionix&#8217;s<em> </em><a href="https://lfenergy.org/projects/everest/">EVerest</a> to closed-source platforms such as <a href="https://ecog.io/ecog-os">EcoG OS</a> (which, for those who remember, incorporates <em>Switch&#8217;s</em> former <em>Josev</em> stack) and Vector Informatik&#8217;s <a href="https://www.vector.com/int/en/products/products-a-z/software/vsecclib/">vSECClib</a> for charging stations.</p><p>Also, make sure that you are sourcing the right crypto chips and hardware security modules (HSM). Ask yourself:</p><ul><li><p>Are they compliant with the Trusted Platform Module (TPM 2.0) reference design?</p></li><li><p>Do they support TLS 1.2 and TLS 1.3?</p></li><li><p>Do they support all cipher suites required for ISO 15118-2 and -20?</p></li><li><p>What are the lead delivery times for those crypto chips?</p></li><li><p>What do you want to build in-house and what do you source from third-party vendors? (which can also have an effect on lead delivery times)</p></li></ul><p>I&#8217;m by no means an expert in sourcing crypto chips, but I do know that companies like <strong>STMicroelectronics</strong> &#8211; and, I believe, <strong>Intel</strong> as well &#8211; offer hardware that meets the necessary security requirements. Take the <a href="https://www.st.com/en/secure-mcus/st33ktpm2i.html">ST33KTPM2I</a>, for example. Just a couple of weeks ago, I spoke with both a charger manufacturer and a supplier of communication controllers, who mentioned that this particular chip currently (as of mid-November 2025) has a lead time of around <strong>40 weeks</strong>. That&#8217;s quite a lead time&#8230;</p><p>It may be a good idea to source complete communication controllers and modules from solutions providers like <a href="https://chargebyte.com/">Chargebyte</a>, who already have these crypto chips integrated into their products.</p><p>If your company does provide the right kind of crypto chips, please do reach out to me by commenting on this article or sending me a message, and I&#8217;ll include your information in this section.</p><div><hr></div><p>It&#8217;s a wrap!</p><p>Cryptography is one of those topics that can make even seasoned engineers&#8217; heads spin. This was probably one of the more technical deep dives in this newsletter &#8211; so if you&#8217;ve made it this far, bravo. Seriously. That means you&#8217;ve either just wrapped your head around one of the toughest parts of Plug &amp; Charge, or you&#8217;ve refreshed and deepened what you already knew.</p><p>I hope this breakdown helped make the moving parts of ISO 15118&#8217;s cryptography click &#8212; without drowning in jargon &#8212; and gave you a clearer sense of how all these algorithms work together under the hood.</p><p>If something didn&#8217;t quite click, feel free to let me know in the comments &#8211; or drop me a note via email or <a href="https://www.linkedin.com/in/marcmueltin/">LinkedIn</a> &#8211; so I can revise for more clarity. And if you <em>did</em> enjoy this one, I won&#8217;t say no to a bit of positive feedback either. &#128521;</p><p>Next week, we&#8217;ll build on this foundation and explore <strong>digital certificates</strong> and the <strong>public key infrastructure (PKI)</strong> that underpins Plug &amp; Charge &#8211; from leaf certificates all the way up to the root trust anchors. We&#8217;ll also look at what CPOs, EV and charger manufacturers need to know about managing and updating their certificates.</p><p>See you next week.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts or questions anytime, I&#8217;d love to hear them.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>When you start working on international standards, you quickly realise it&#8217;s not always the best technology or most elegant solution that makes it in. It&#8217;s the result of consensus. Standards represent the best common denominator that all participating companies and countries can agree on. I learned that early on when I began contributing to ISO 15118 back in 2010.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>The structure of every message in ISO 15118 is defined using XML (Extensible Markup Language) schema files. How these messages are represented in code depends on the programming language being used. To ensure that the exchange of ISO 15118 messages is both efficient &#8211; meaning the data transmitted is as compact as possible &#8211; and easy to validate against the defined schemas on embedded controllers in the EV and charger, the Efficient XML Interchange (EXI) standard was adopted. An EXI codec (a software component that encodes and decodes messages) handles the conversion between human-readable XML and its compressed binary form for transmission.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>I&#8217;m not going down the rabbit hole of going through the sequence of messages exchanged during an ISO 15118 session. But I wanted to mention that <code>PaymentDetailsReq</code> is actually a misnomer. It&#8217;s not payment details that are exchanged here, but <em>identification</em> details, namely the <em>contract certificate</em> installed on the EV.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>With some ISO 15118 messages, the whole message body gets digitally signed. For other messages, only specific parts of the message body are digitally signed. This is why I am referring to the optional pural &#8216;s&#8217; in &#8220;message body element(s)&#8221;.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Plug & Charge: The technology, the ecosystem, and the road ahead of seamless charging]]></title><description><![CDATA[Understand the basic principles, the industry roles, and the rollout challenges shaping the future of a seamless "just plug in and charge" experience &#8211; no apps, no cards, no friction.]]></description><link>https://currentaffairs.io/p/plug-and-charge-the-technology-ecosystem-and-road-ahead-of-seamless-charging</link><guid isPermaLink="false">https://currentaffairs.io/p/plug-and-charge-the-technology-ecosystem-and-road-ahead-of-seamless-charging</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 11 Nov 2025 10:28:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cNo6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>Any sufficiently advanced technology is indistinguishable from magic</p></blockquote><p>declared Arthur C. Clarke, the renowned co-author of &#8220;2001: A Space Odyssey.&#8221;</p><p>That sentiment applies to much of modern technology, but it hasn&#8217;t fully reached the world of EV charging &#8211; at least not for everyone. There is, however, one group of drivers who&#8217;ve been living that &#8220;it just works&#8221; experience for years: Tesla owners.</p><p>Tesla operates a closed ecosystem with complete control over the hardware and software of their EVs and chargers, delivering a seamless and convenient charging experience to their users.</p><p>What if there was a way to expand this seamless experience to all EV manufacturers and charger manufacturers, regardless of brand or geographic location? This is where <strong>Plug &amp; Charge</strong>, or <strong>PnC</strong>, enters the stage, an innovative and advanced technology that wholeheartedly embraces the notion of &#8220;magic&#8221;. </p><p>A helpful way to think about Plug &amp; Charge is to compare it to Apple Pay. With Apple Pay, your device already holds a secure credential, so payment happens automatically when you tap. Plug &amp; Charge works the same way for EV charging: the vehicle carries a secure <em>contract certificate</em> that represents your charging contract, so when you plug in, authentication and billing happen automatically in the background. No RFID cards, no apps, no payment screens &#8211; just plug in and charging starts.</p><p>And it enables true machine-to-machine automation that is not only convenient, but also more reliable than RFID readers or card terminals, and it&#8217;s highly secure by design. The outcome is a noticeably smoother and more reliable charging experience. And, for operators embracing this technology, <strong>better driver loyalty and retention</strong>.</p><p>In fact, it can be <em>more</em> convenient than filling up a petrol car. There&#8217;s no kiosk to walk to, no payment terminal to deal with. The authorisation is already done for you as soon as you plug your EV into the charger. And in many cases, it&#8217;s also <strong>cheaper than paying with a credit or debit card</strong>.</p><p>Doesn&#8217;t that sound like the charging experience we&#8217;ve all been waiting for? </p><p>Let me walk you through the tech behind it, where Plug &amp; Charge is being rolled out around the world, and which network operators and car manufacturers already support it (spoiler: it&#8217;s probably more than you think).</p><p>In this article, we&#8217;ll break down how Plug &amp; Charge actually works: the trust model behind it, the roles each player in the ecosystem performs, where it&#8217;s being deployed today, and how different markets affect adoption.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cNo6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cNo6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 424w, https://substackcdn.com/image/fetch/$s_!cNo6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 848w, https://substackcdn.com/image/fetch/$s_!cNo6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!cNo6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cNo6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png" width="1456" height="1015" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1015,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:299204,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/178400900?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cNo6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 424w, https://substackcdn.com/image/fetch/$s_!cNo6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 848w, https://substackcdn.com/image/fetch/$s_!cNo6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!cNo6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe69c82c8-c0ff-4dc7-baa6-3625303cf2c6_1503x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The trust model and roles behind Plug &amp; Charge</h2><p>The user-convenient Plug &amp; Charge technology is <strong>based on the EV-to-charger communication standard ISO 15118</strong>. </p><p>The reason you don&#8217;t need RFID cards, apps, or payment terminals to start a charging session (although these are still supported in ISO 15118) is because the EV and charger can identify and trust each other automatically. They do this using digital certificates &#8211; essentially cryptographic ID cards that prove a device or service is who it claims to be.</p><p>By placing a digital certificate called the <em>contract certificate</em> inside the EV, we eliminate the need for manual authentication methods. The EV can now prove your identity and authorise charging and billing on your behalf, silently in the background, within a few seconds. The contract certificate links the vehicle to your energy billing account, which is provided by the mobility service provider (MSP) of your choice. Authentication (verifying identity) and authorisation (checking that you&#8217;re allowed to charge) both happen automatically &#8211; no apps, no cards, no friction.</p><p>To do Plug &amp; Charge justice, we need more than a single article. There&#8217;s the cryptography behind it, the public key infrastructure (PKI) that keeps it secure, and the question of how certificates actually make their way into the EV, the charger, and the wider ecosystem. So we&#8217;ll take this step by step.</p><p>This would be a great time to tell me what part of Plug &amp; Charge you&#8217;re particularly interested in. Leave a comment or send me an email, and I&#8217;ll make sure your questions will be answered. </p><p>This article focuses on the core idea: how Plug &amp; Charge works in principle, where it stands in terms of market rollout, and who supports it today. In the following articles, we&#8217;ll go deeper, layer by layer, so you&#8217;ll come away with a full, 360-degree understanding of the ecosystem &#8211; and what it really takes to make Plug &amp; Charge work reliably at scale.</p><p></p><h3>CIA &#8211; The three pillars for seamless &amp; secure EV charging</h3><p>No, it&#8217;s not the CIA you may be thinking of. I&#8217;m referring to the acronym that represents three pillars of secure digital (machine-to-machine) communication. The basic principles that allow the EV and charger to &#8216;talk&#8217; to each other in a secure way: confidentiality, data integrity and authenticity.</p><ol><li><p><strong>Confidentiality</strong>: When your EV exchanges information with a charging station (or wall box) it needs to make sure that no unauthorised third party can listen in on the conversation.</p></li><li><p><strong>Data Integrity</strong>: The data that the EV and charging station exchange must be secure, and any malicious third-party attempts to manipulate the conversation</p><p>must be detected on both sides.</p></li><li><p><strong>Authenticity</strong>: The EV must identify and be able to verify the charger to which it is physically connected as a trustworthy charger, and vice versa.</p></li></ol><p>The big value of Plug &amp; Charge lies in the fact that businesses can offer their customers not only the most seamless, reliable, and convenient but also the most secure charging experience without compromising on data security.</p><div><hr></div><p><strong>A quick word on Autocharge</strong></p><p>You may have heard of Autocharge, which is a mechanism that resembles the seamless experience of just plugging in, using simply the car&#8217;s MAC address as an identifier. A MAC address is a unique hardware identifier assigned to a network interface, and Autocharge relies on each EV exposing a stable, vehicle-unique MAC address so the charger can recognise and authorise it &#8211; but not all manufacturers enable this, which limits Autocharge compatibility. Autocharge also lacks a sufficient level of data security. I wouldn&#8217;t recommend it for public charging and tamper-proof billing, but it does have its place in e.g. fleet depots. It&#8217;s often used by charging networks as a stopgap solution until Plug &amp; Charge has been thoroughly implemented, tested, and rolled out. I&#8217;ll dive deeper into Autocharge and how it compares to Plug &amp; Charge in a future article.</p><div><hr></div><p>OK, now you know what confidentiality, data integrity and authenticity means. But the question still remains: How do we facilitate this seamless, secure charging experience?</p><p>That&#8217;s where we enter the realm of cryptography &#8211; symmetric and asymmetric ciphers, digital signatures, and digital certificates. Data encryption ensures confidentiality, digital signatures and certificates are the tools to ensure data integrity and to verify the authenticity of the communicating counterpart. Managing these digital certificates securely requires not just technology, but an entire system of roles, policies, and procedures for issuing, validating, and revoking certificates. This system is known as a public key infrastructure, or PKI.</p><p>If that piqued your curiosity, you&#8217;ll enjoy next week&#8217;s article &#8211; we&#8217;ll dig into the <a href="https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging">underlying crypto principles</a> and how a PKI actually works.</p><p>PKIs are nothing new. You&#8217;ve been relying on them for decades without even noticing &#8211; every time you browse the web, message someone on WhatsApp or Signal, or search on Google, the same cryptographic principles are at work. What&#8217;s unique in ISO 15118 isn&#8217;t the cryptography itself, but the way digital certificates are issued, managed, and trusted across all the players in the EV charging ecosystem.</p><p>While the structure of the Plug &amp; Charge-specific PKI is defined in ISO 15118, its governing rules are set in the application rule <a href="https://www.vde-verlag.de/standards/0800642/vde-ar-e-2802-100-1-anwendungsregel-2019-12.html">VDE-AR-E 2801-100-1</a>, which I co-authored and is titled &#8220;Handling of certificates for electric vehicles, charging infrastructure and backend systems within the framework of ISO 15118.&#8221;</p><p>The &#8220;Plug &amp; Charge-magic&#8221; only works because several parties across the EV charging ecosystem trust each other &#8211; and that trust is established and verified using digital certificates. Each participant plays a distinct role in enabling that seamless experience.</p><p></p><h3>The market roles behind the Plug &amp; Charge ecosystem</h3><p><strong>The electric vehicle (EV)</strong> is the one initiating the process. When you plug in, the EV presents its contract certificate &#8211; essentially a cryptographic ID linked to your energy contract &#8211; to the charger. This certificate tells the charger which billing account to use, referred to as the <em>e-mobility account identifier (EMAID)</em>. That EMAID itself contains a three-character sequence, called the <em>provider ID,</em> which identifies the mobility service provider who issued and digitally signed this contract certificate. </p><p>The <strong>EV manufacturer (OEM)</strong> installs two key certificate types during production: one or more <em>V2G Root CA (CA = Certificate Authority) certificates</em> and <em>OEM provisioning certificates</em>. The Root CA certificates allow the EV to recognise and trust authorised charging stations &#8211; much like your web browser comes with pre-installed root certificates that allow it to verify secure websites. The OEM provisioning certificate, in turn, is used to securely request and receive (i.e. <em>provision</em>) the contract certificate that links the vehicle to the driver&#8217;s (or vehicle owner&#8217;s) billing account. </p><p>The <strong>charging station</strong> presents its own digital identifier called <em>SECC certificate</em> during the Transport Layer Security (TLS) handshake, which is what establishes the confidentiality mentioned above. The EV verifies its validity by following the certificate chain: the SECC certificate is signed by a Sub-CA, and that Sub-CA certificate is sent along with it. The Sub-CA is, in turn, signed by the V2G Root CA. Because the EV already stores the V2G Root CA certificate, it can validate each signature in the chain and confirm that the charger belongs to the trusted Plug &amp; Charge ecosystem.</p><p>How exactly this whole chain-of-trust mechanism works is something we&#8217;ll have to explore in one of my next articles when we dig a bit deeper into the <a href="https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging">cryptographic principles</a> behind a PKI.</p><p>After secure communication is established, the EV sends its contract certificate, which the charging station then needs to validate before granting access to energy. Some parts of the verification can be performed directly on the charger (e.g. verifying the digital signature of the certificate and checking it&#8217;s expiry date), while others are passed to the backend &#8211; the charge point management system (CPMS).</p><p>That backend belongs to the <strong>charge point operator (CPO)</strong>, who runs the charging network. The CPO&#8217;s platform contacts the mobility service provider (MSP) who issued the contract certificate to check whether or not the billing account is still active and valid before before energy can start flowing. </p><p>Quick sense check: remember how the CPO knows which MSP to contact?</p><p>If you&#8217;re still with me, you&#8217;ll recall the three-letter <em>provider ID</em> embedded in the EMAID, which in turn sits inside the contract certificate. That small identifier is what links the vehicle to your chosen mobility service provider. Several countries have established identifier registries for businesses where you can look up both operator IDs (for CPOs) and provider IDs (for MSPs). In the UK, for example, it&#8217;s the <a href="https://www.evroam.org.uk/id-register">EV Roam registry</a>, in Germany it&#8217;s the <a href="https://bdew-codes.de/Codenumbers/EMobilityId/ProviderIdList">Energy Codes &amp; Services GmbH</a>.</p><p>OK, back to our market roles.</p><p>The <strong>CPO</strong> is also responsible for making sure the charger has up-to-date SECC certificates installed to establish the trusted, TLS-encrypted communication with the EV. There are actually a couple more certificates required on the charger, but let&#8217;s cover the cryptographic principles and concept behind a chain-of-trust PKI first before we go down this rabbit hole. <a href="https://currentaffairs.io/p/inside-plug-and-charge-the-cryptographic-architecture-of-seamless-ev-charging">Next week&#8217;s article</a> will cover this in more depth.</p><p>The driver is ultimately authenticated by the <strong>mobility service provider (MSP)<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong>, the company providing their charging contract. You may have noticed by now that there are no payment details transmitted between EV and charger, only identification details. The payment method (such as your bank account or credit card) is linked to the MSP&#8217;s energy contract, which you eventually sign up for once you choose an MSP of your liking. </p><p>The MSP issues the contract certificate in the first place and is ultimately the party that pays the CPO for the energy, based on a B2B (business-to-business) tariff negotiated between CPO and MSP. The MSP may bill the driver a different price for the same amount of energy, depending on the B2C (business-to-customer) plan or tariff it offers to the driver. The MSP uses a technical integration (see <a href="https://currentaffairs.io/i/177171634/open-plug-and-charge-network-communication-protocol-opnc">Open Plug &amp; Charge Network Communication Protocol</a>) with the car OEM to notify them of a newly created contract certificate so that the car OEM can install said certificate via an over-the-air update into the electric vehicle.</p><p>To make all of this secure and interoperable, we need a trusted anchor. That role is fulfilled by the <strong>V2G Root Certificate Authority (Root CA)</strong> &#8211; the highest level of trust in the Plug &amp; Charge ecosystem. Many certificates the EV and charger use must ultimately trace back to this root authority to verify their validity in this chain of trust.</p><p>Finally, there are the <strong>organisations that manage the data pools and public key infrastructure (PKI)</strong> to issue, distribute, update, and revoke certificates. These are the behind-the-scenes trust-service operators that make sure each party receives the right certificate at the right time &#8211; and that compromised or outdated certificates are removed from circulation. Without them, Plug &amp; Charge would simply not work. </p><div><hr></div><p>Need a refresher on the various market roles in the EV charging world, and their responsibilities beyond Plug &amp; Charge? Then this article is just what you need:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;68506388-e5c3-4e8e-bd30-bdfc2dd182fc&quot;,&quot;caption&quot;:&quot;A warm welcome&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Behind the plug: Who's who in the EV charging ecosystem&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:396681955,&quot;name&quot;:&quot;Marc M&#252;ltin&quot;,&quot;bio&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8155f05c-d9df-4249-abbd-153af8bd4576_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-19T18:19:13.417Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d053772c-adc9-48f3-a555-59b54ccfef1e_1503x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://currentaffairs.io/p/behind-the-plug-whos-who-in-the-ev-charging-ecosystem&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175955228,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:16,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6381095,&quot;publication_name&quot;:&quot;Current Affairs - By Marc M&#252;ltin&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!96R9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ecf94b-c27f-4787-865b-5519d2a94ba1_800x800.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>The state of play of Plug &amp; Charge in 2025</h2><p>As of November 2025, the technology is gaining traction across multiple markets, though adoption rates vary significantly by region and stakeholder type. </p><p>A great source of information is <a href="https://www.hubject.com/ecosystem-overview">Hubject&#8217;s ecosystem overview</a>, which shows an ever growing variety of companies that are either currently onboarding or have already launched products with live (and Hubject-certified) implementations.</p><p>You&#8217;ll find the providers organised by category: CPOs, backend platforms, MSPs, charger and vehicle manufacturers, and even test system providers.</p><p>Here are some examples of well-known <strong>EV charging networks</strong> (<strong>CPOs</strong>) supporting Plug &amp; Charge across the globe:</p><ul><li><p><strong>Europe</strong>: Allego, Aral Pulse, Atlante, Electra, IONITY, Mer, Shell Recharge, Smatrics, Vattenfall</p></li><li><p><strong>United Kingdom: </strong>IONITY, Shell Recharge</p></li><li><p><strong>United States: </strong>Chargepoint, Electrify America, IONNA</p></li></ul><p>On the <strong>vehicle manufacturer</strong> side, you&#8217;ll find Audi, BMW, Cupra, Ford, Genesis, Hyundai, Kia, Lucid, Mercedes, MAN, Mini, Nissan, Polestar, Porsche, Renault, Vinfast, Volkswagen, Volvo and more.</p><p>If you&#8217;re looking for <strong>charger manufacturer</strong> who are up to the game, you might want to talk to ABB, Alpitronic, Autel, Defa, Delta, Ekoenergetyka, Enersys, Huawei, i-Charging, IOCharger, Kempower, Liteon, Mennekes, Power Electronics, StarCharge, Vestel, XCharge, or Zerova, to name just a few.</p><p>Some of the <strong>MSPs</strong> already embracing Plug &amp; Charge are Deftpower, Digital Charging Solutions, Elli, Ford, Mobilize, Octopus Electroverse, Plugsurfing, Porsche, and Shell Recharge. </p><p>According to my sources at Hubject, <strong>more than 3.5 million EVs and about 30% of DC fast (150 kW+) chargers in Europe already support Plug &amp; Charge</strong>.  </p><p>And the list of CPOs, EV OEMs, charger manufacturers, and MSPs is growing by the day as more companies embrace this technology and understand the benefits it brings to their customers &#8211; and to their own business. </p><p></p><h3>PKI operators on the rise</h3><p>Hubject is currently the most widely adopted Plug &amp; Charge PKI operator in the market, but it&#8217;s no longer alone. Irdeto and roaming platform Gireve are also building Plug &amp; Charge PKI operator capabilities. In June 2025, the three companies <a href="https://www.electrive.com/2025/06/16/hubject-gireve-irdeto-announce-plug-charge-partnership/">announced a partnership</a> enabling mutual platform access, so CPOs, MSPs, and even vehicle OEMs can choose any of the three to issue their certificates while still maintaining interoperability across the others. </p><p>In parallel, the Sustainable Transport Forum (STF) is working on an EU-wide governance framework to ensure that Plug &amp; Charge remains interoperable across all market players, regardless of which PKI operator they use.</p><p></p><h3>Car OEMs and MSPs: Ensuring a level playing field</h3><p>A truly open Plug &amp; Charge ecosystem depends on one key capability: <strong>every EV must be able to store and manage multiple contract certificates</strong>, so drivers can choose their preferred MSP just as easily as they choose an energy supplier or mobile network today. That means EVs must offer simple controls for installing, updating, removing, and prioritising these certificates, ideally directly via the in-car display or companion app. This gives the driver full autonomy and ensures that any EV can charge at any public charging station using any compatible service provider.</p><p>Several OEMs already support this approach. BMW and the Volkswagen Group have offered multi-contract Plug &amp; Charge for years, and Porsche has adopted an open model in the Macan. Volvo and Polestar also allow drivers to install the contract certificate of their choice, even if the onboarding flow still varies in polish. Other OEMs are preparing to follow, refining their customer journeys before switching these capabilities on at scale.</p><p>The direction is clear: <strong>the market is moving toward open Plug &amp; Charge by design.</strong> And with the Sustainable Transport Forum (STF) working on EU-level guidance to guarantee non-discriminatory access, we&#8217;re likely to see multi-contract support become an expected baseline. That&#8217;s reassuring for MSPs who have been concerned that OEM-controlled in-car interfaces could otherwise be used to steer customers toward proprietary charging services. The momentum &#8211; both regulatory and intrinsic &#8211; now points firmly toward a <strong>level playing field</strong> where drivers decide who they charge with, not the car.</p><p></p><h3>Bolted-on vs built-in: Plug &amp; Charge in OCPP 1.6 vs 2.0.1</h3><p>If you browse Hubject&#8217;s ecosystem overview you&#8217;ll see a mix of OCPP 1.6 and OCPP 2.0.1 in the wild. That matters because only OCPP 2.0.1 natively supports ISO 15118 Plug &amp; Charge. OCPP 1.6 implementations bolt it on via the <strong>DataTransfer</strong> mechanism, essentially tunneling 2.0.1-style certificate and authorisation messages through 1.6 based on an <a href="https://openchargealliance.org/wp-content/uploads/2023/11/ocpp_1_6_ISO_15118_v10.pdf">application note</a> published by the Open Charge Alliance. However, know that using DataTransfer for overlapping features can create interoperability issues across vendors, complicate certification, and make future upgrades bumpier. This approach also excludes ISO 15118 smart-charging use cases unless you move to OCPP 2.0.1. In practice, 1.6-based Plug &amp; Charge can work &#8211; but it increases the chance of CPMS/charger mismatches (e.g. differing message wrapping or vendor IDs), whereas 2.0.1 gives you the standardised, end-to-end path.</p><p>OCPP 2.0.1 has been around since 2020. It&#8217;s time to say goodbye to OCPP 1.6 and embrace the <a href="https://currentaffairs.io/i/177171634/the-evolution-of-ocpp">benefits</a> this new version brings to the table. </p><p><strong>Why this matters:</strong> If you&#8217;re planning large-scale Plug &amp; Charge rollout, prioritise OCPP 2.0.1 to reduce edge-case behaviour and ease certification and upgrades. Use 1.6+ DataTransfer only if necessary, and with tightly controlled vendor combos and extensive interoperability testing.</p><p></p><h3>Key challenges</h3><p>While Plug &amp; Charge works in the field today, the ecosystem is still maturing &#8211; especially when it comes to ensuring seamless interoperability across all EV and charger combinations. Hubject currently provides a certification program, which has helped accelerate early adoption, but the industry still lacks a <strong>unified, neutral certification framework</strong> backed by a central test system. CharIN has been developing such a program for several years, and once it becomes widely available, it will provide the common reference point the market needs to ensure that &#8220;Plug &amp; Charge just works,&#8221; everywhere.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KCIa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KCIa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 424w, https://substackcdn.com/image/fetch/$s_!KCIa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 848w, https://substackcdn.com/image/fetch/$s_!KCIa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 1272w, https://substackcdn.com/image/fetch/$s_!KCIa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KCIa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png" width="460" height="230" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1280,&quot;resizeWidth&quot;:460,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Plug and Charge Logo and Icon&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plug and Charge Logo and Icon" title="Plug and Charge Logo and Icon" srcset="https://substackcdn.com/image/fetch/$s_!KCIa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 424w, https://substackcdn.com/image/fetch/$s_!KCIa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 848w, https://substackcdn.com/image/fetch/$s_!KCIa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 1272w, https://substackcdn.com/image/fetch/$s_!KCIa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7544a013-8128-4ef1-9d66-d313d27afeeb_1280x640.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Official Plug &amp; Charge logo, launched by CharIN in 2022</figcaption></figure></div><p>Until that framework is fully rolled out, interoperability relies on periodic <a href="https://www.charin.global/events/global-testivals/">CharIN Testivals</a> and bilateral testing between OEMs and charger manufacturers. These efforts are valuable &#8211; they show what works, reveal edge cases, and build shared implementation experience &#8211; but they don&#8217;t yet guarantee seamless behaviour across the entire ecosystem. Closing this gap is one of the key remaining challenges to date.</p><p>Plug &amp; Charge is most commonly found on high-power DC chargers today because <strong>DC charging requires Power Line Communication (PLC)</strong> to operate at all. Since this specific PLC modem (HomePlug Green PHY) is already part of every DC charger&#8217;s hardware stack, adding the extra memory and secure hardware needed for certificate handling has a relatively small impact on the overall bill of materials &#8211; especially given the already higher cost of DC fast chargers.</p><p>AC chargers are a different story. AC charging uses a <a href="https://currentaffairs.io/i/176559522/iec">simple, analogue PWM duty-cycle signal</a> and does not require PLC to deliver energy, so many <strong>AC chargers were originally designed without PLC hardware</strong>, without space to store multiple certificates, and without a secure element for fast cryptographic operations. Most of them run on low-cost microcontrollers with limited RAM and no hardware acceleration for asymmetric crypto, which means they <strong>cannot perform certificate validation quickly enough</strong> to meet ISO 15118&#8217;s tight timing requirements, leading to message timeouts.</p><p>This isn&#8217;t something firmware can fix; the limitation is purely hardware. To support Plug &amp; Charge, legacy AC chargers would need a HomePlug Green PHY PLC modem and a controller upgrade &#8211; typically to a Linux-class processor paired with a dedicated hardware security module (HSM) capable of performing cryptographic operations at the required speed. The next generation of professional AC chargers should be planned with those hardware components in mind.</p><p></p><h2>Regulatory adoption in Europe, the UK, and the US</h2><p>Europe has emerged as the primary regulatory driver of Plug &amp; Charge deployment through the <strong>Alternative Fuels Infrastructure Regulation (AFIR)</strong>, which became effective in April 2024. This sweeping mandate <a href="https://alternative-fuels-observatory.ec.europa.eu/general-information/news/european-commission-publishes-delegated-acts-afir-open-consultation">requires</a> <strong>all newly installed or renovated public DC chargers to support</strong> <strong>ISO 15118-2 from summer 2025</strong>, with an accelerated timeline for full ecosystem adoption. The regulation escalates further on <strong>January 1, 2027</strong>, when both public and private chargers across Europe must <strong>support the advanced ISO 15118-20</strong> standard, effectively forcing a continent-wide infrastructure transformation. This regulatory approach has already spurred network operators to front load deployments and push manufacturers to achieve compliance ahead of deadlines.</p><p>AFIR requires the ISO 15118 standard, not Plug &amp; Charge per se, which is one application of that standard. A charger could theoretically be ISO 15118-20 compliant but not specifically implement the Plug &amp; Charge authentication feature. However, this distinction may be rather academic as it just makes little sense to support the newest ISO 15118-20 without any Plug &amp; Charge support.</p><p>However, the <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L_202500656">AFIR regulation does state</a>: </p><blockquote><p>Where such recharging points offer automatic authentication and authorisation services, such as <strong>plug-and-charge</strong>, they <strong>shall comply</strong>, for interoperability and security purposes, <strong>with both</strong> standard EN <strong>ISO 15118-2</strong>:2016 <strong>and</strong> standard EN <strong>ISO 15118-20</strong>:2022</p></blockquote><p>Interoperability between ISO 15118-2 and -20 isn&#8217;t always straightforward. One common stumbling block is that the newer ISO 15118-20 expects a more modern security setup than the older standard (i.e. TLS 1.3 vs TLS 1.2). If the car and charger don&#8217;t handle this gracefully, their attempt to &#8220;speak securely&#8221; can fail. When that happens, both sides may simply give up on Plug &amp; Charge altogether and fall back to regular methods like an RFID card, an app, or a payment terminal.</p><p>Note that all newly installed or renovated publicly accessible AC and DC charge points must comply with EN ISO 15118-2 from 8 January 2026. In practical terms, this means every new AC and DC charger in Europe will need to be equipped with (HomePlug Green PHY) PLC modem and fully functional ISO 15118 capability from early 2026, effectively accelerating the transition and closing the gap between the 2025 and 2027 milestones.</p><p>It&#8217;s easy to get confused about the various timelines and what is required when, so here&#8217;s a quick summary of the AFIR mandate regarding ISO 15118:</p><ul><li><p><strong>Summer 2025: Public DC only, ISO 15118-2:</strong></p><p>All <em>new or renovated public DC fast chargers</em> must support ISO 15118-2. AC chargers are not yet included, and ISO 15118-20 is not required.</p></li><li><p><strong>8 January 2026: Public AC &amp; DC, ISO 15118 base stack:</strong></p><p>All <em>new or renovated publicly accessible AC and DC chargers</em> must comply with ISO 15118-2 (including HPGP). This is the first time AC chargers are pulled fully into the ISO 15118 mandate.</p></li><li><p><strong>1 January 2027: All chargers, public &amp; private, ISO 15118-20:</strong></p><p>Every newly installed charger &#8211; AC or DC, public or private &#8211; must support ISO 15118-20, bringing the entire market (including home and workplace charging) into next-generation Plug &amp; Charge&#8211;ready infrastructure.</p></li></ul><p>That doesn&#8217;t leave too much time, so make sure you&#8217;re ready when the deadline hits!</p><p>The United States has adopted a similar but slightly less prescriptive approach through the <strong>National Electric Vehicle Infrastructure (NEVI)</strong> program, which <strong>conditions federal funding eligibility on</strong> <strong>Plug &amp; Charge capability</strong>. NEVI requirements mandate that all chargers conform to ISO 15118-3 standards and possess hardware capable of implementing both ISO 15118-2 and ISO 15118-20 protocols. However, the US timeline is more flexible: charger software must initially conform to ISO 15118-2 with Plug &amp; Charge capabilities operational within one year of the final regulatory rules, allowing manufacturers a grace period for full compliance compared to Europe&#8217;s immediate mandates.</p><p>Both regulatory regimes underscore that <strong>Plug &amp; Charge has transitioned from an optional premium feature to a mandatory infrastructure requirement</strong>. This regulatory pressure is the primary factor driving CPO investment and manufacturer development priorities, particularly for charger hardware redesigns and backend system migrations. Without these regulatory mandates, market-driven adoption would likely remain concentrated among premium vehicle manufacturers and flagship networks, leaving much of the charging network without Plug &amp; Charge support.</p><p>The United Kingdom has, so far, adopted a distinctly non-prescriptive approach to Plug &amp; Charge, with no explicit ISO 15118 mandates in its regulatory framework. The <strong>Public Charge Point Regulations 2023</strong> and oversight by the <strong>Office for Zero Emission Vehicles (OZEV)</strong> focus on contactless payment access, reliability, pricing transparency, and open data &#8211; but contain no requirements for ISO 15118 or Plug &amp; Charge support. Unlike AFIR&#8217;s January 1, 2027 deadline for ISO 15118-20 across the EU, the UK has no equivalent legal requirement &#8211; yet.</p><div><hr></div><p>That&#8217;s it for today. We&#8217;ve covered the core idea: Plug &amp; Charge relies on digital certificates and a public key infrastructure to create a secure chain of trust between the EV, the charger, and the services behind them. But there&#8217;s much more to explore. We haven&#8217;t yet looked at how these certificates find their way into the vehicle and charger, how the authentication handshake unfolds step-by-step, or how the trust chain is managed and maintained across the ecosystem. </p><p>We&#8217;ll also look at the practical side: what technical requirements you should consider when bringing a Plug &amp; Charge&#8211;ready product to market. For example, how many certificates your EV or charger needs to store to remain future-proof, which secure hardware modules are available, and what their lead times look like.</p><p>We&#8217;ll dive into those topics in the next articles, building up your understanding layer by layer. And because I&#8217;m writing this for you, I&#8217;d love to know what you want to go deeper on. Reply, comment, or message me with what you&#8217;re most curious about, and I&#8217;ll shape the next part of the series around the questions that matter most to you.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts or questions anytime, I&#8217;d love to hear them.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Unlike in Germany and some European markets where CPO and MSP roles are more commonly separated to support roaming and consumer choice, the US and UK markets allow &#8211; and often default to &#8211; vertically integrated models. That means the same company frequently operates the charging infrastructure (CPO) and provides the customer account and billing service (MSP).</p></div></div>]]></content:encoded></item><item><title><![CDATA[Behind the plug: Inside the web of cloud connections behind every charging session]]></title><description><![CDATA[Lift the curtain behind the operations and "languages" that connect the central charge point operator with utilities, mobility service providers, roaming hubs, and cybersecurity providers.]]></description><link>https://currentaffairs.io/p/behind-the-plug-inside-the-web-of-cloud-connections-behind-every-charging-session</link><guid isPermaLink="false">https://currentaffairs.io/p/behind-the-plug-inside-the-web-of-cloud-connections-behind-every-charging-session</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 04 Nov 2025 10:02:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kcEF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the third and final chapter of <em>Behind the plug</em>. In <a href="https://currentaffairs.io/p/behind-the-plug-whos-who-in-the-ev-charging-ecosystem">Part 1</a>, we mapped out the players behind every charging session, from the EV, charger and charge point operator to the mobility service provider (MSP), roaming hub and payment service provider. In <a href="https://currentaffairs.io/p/behind-the-plug-what-really-happens-when-your-ev-talks-to-the-charger">Part 2</a>, we unpacked how the EV and the charger speak to each other, laying the foundation for safe and smart delivery of every kilowatt before the energy starts to flow.</p><p>But that conversation doesn&#8217;t end at the charger.</p><p>Today, we&#8217;re following the data as it travels deeper into the charging ecosystem. We&#8217;ll look at the kind of conversation that unfolds between charger and the cloud-based Charge Point Management System (CPMS), and how the CPMS orchestrates everything from authentication and billing via MSPs and roaming partners to responding to grid signals from the DSO to make sure the EV drivers&#8217; mobility needs are balanced with the needs to operate a stable electricity grid. We&#8217;ll also shed light on the role of PKI operators (and what a PKI is) who ensure the entire communication chain remains secure and trustworthy.</p><p>This is where the industry&#8217;s complexity truly reveals itself: a multi-party digital network working behind the scenes so that, for drivers, charging remains as simple as &#8220;plug in and walk away.&#8221;</p><p>Let&#8217;s dive in and complete the picture, one protocol at a time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kcEF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kcEF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 424w, https://substackcdn.com/image/fetch/$s_!kcEF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 848w, https://substackcdn.com/image/fetch/$s_!kcEF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!kcEF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kcEF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png" width="1456" height="1025" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bee892ae-0090-4772-899e-c546c04cb332_2253x1586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1025,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:688320,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/177171634?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kcEF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 424w, https://substackcdn.com/image/fetch/$s_!kcEF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 848w, https://substackcdn.com/image/fetch/$s_!kcEF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!kcEF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee892ae-0090-4772-899e-c546c04cb332_2253x1586.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Charging Station Management</h2><p>A charging station needs to speak several languages flawlessly in order to deliver a pleasant charging experience. </p><p>On one side, we have the analogue or digital communication with the electric vehicle, which we explored in the previous article, <a href="https://currentaffairs.io/p/behind-the-plug-what-really-happens-when-your-ev-talks-to-the-charger">Behind the plug: What really happens when your EV talks to the charger</a>. </p><p>Each of these digital communication protocols spans hundreds of pages of technical requirements that both parties &#8211; the EV and the charger &#8211; must implement and interpret in exactly the same way for data to flow flawlessly. (And yes, no standard is ever perfect, there&#8217;s always room for interpretation.) </p><p>A decade of interoperability testing events &#8211; since 2019 orgainsed by CharIN under the name <a href="https://www.charin.global/events/topic:CharIN+Testival/">CharIN Testivals</a>, focusing on CCS communication &#8211; proves just how challenging it is to get everything working flawlessly. </p><p>On the other side, the charger maintains a constant connection with a cloud-based Charge Point Management System (CPMS). This allows the system to monitor, control, and update the charger remotely &#8211;&nbsp;a crucial capability when it&#8217;s part of a wider network operated by what the industry calls a Charge Point Operator (CPO).</p><p>Over the past 15 years, the number of &#8220;languages&#8221; &#8211; or communication protocols &#8211; used for this charger-to-CPMS conversation has distilled from a mix of vendor-specific, proprietary solutions into a single de-facto global standard: the <strong>Open Charge Point Protocol</strong> (OCPP).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_T7h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_T7h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 424w, https://substackcdn.com/image/fetch/$s_!_T7h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 848w, https://substackcdn.com/image/fetch/$s_!_T7h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 1272w, https://substackcdn.com/image/fetch/$s_!_T7h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_T7h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121912,&quot;alt&quot;:&quot;EV charging landscape: market roles and communication protocols&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/177171634?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="EV charging landscape: market roles and communication protocols" title="EV charging landscape: market roles and communication protocols" srcset="https://substackcdn.com/image/fetch/$s_!_T7h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 424w, https://substackcdn.com/image/fetch/$s_!_T7h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 848w, https://substackcdn.com/image/fetch/$s_!_T7h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 1272w, https://substackcdn.com/image/fetch/$s_!_T7h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31e2e10-8868-40b7-bc23-5d9f47fdd0ed_2268x1331.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">EV charging landscape: market roles and communication protocols</figcaption></figure></div><p></p><h4>OCPP &#8211; The backbone between charger and cloud</h4><p>Originally developed by the Dutch foundation ElaadNL, OCPP was created to ensure chargers and backends (a CPMS is often referred to as a &#8216;CPO backend&#8217; or &#8216;backend&#8217;) from different vendors could communicate using an <strong>open, vendor-neutral protocol</strong>. It&#8217;s now maintained and governed by the Open Charge Alliance (OCA).</p><p>OCPP allows a Charge Point Operator (CPO) to:</p><ul><li><p>Monitor station health, availability, and transaction data</p></li><li><p>Authenticate (who is it) and authorise (is he/she allowed to charge) the driver</p></li><li><p>Start or stop sessions and unlock connectors remotely</p></li><li><p>Push firmware updates and configuration changes</p></li><li><p>Reserve connectors for drivers</p></li><li><p>Change the availability status of a charger or connector</p></li><li><p>Exchange dynamic pricing information</p></li><li><p>Influence charging behaviour to optimise costs and/or help balance the grid (think: smart charging profiles)</p><p></p></li></ul><h4>The Evolution of OCPP</h4><ul><li><p><strong>OCPP 1.6</strong> was published in 2015 and remains the most widely deployed version today. Its implementation has matured over time and it&#8217;s supported by basically all existing networks.</p></li><li><p><strong>OCPP 2.0.1</strong>, published in 2020, represents a major leap forward. It adds richer monitoring and control of all charger components (called the &#8216;device model&#8217;), enhanced event handling, a robust security framework, and native integration with ISO 15118 / Plug &amp; Charge. It&#8217;s the version most networks are now transitioning toward, and I&#8217;ll unpack more about the benefits of OCPP 2.0.1 in a future post. <br><br>If you have some time and want to dig deeper into the changes and benefits, then check out this <a href="https://www.youtube.com/watch?v=d-R18CsSKYI">OCPP 2.0.1 video tutorial</a> published by the OCA.<br><br>OCPP 1.6 follows a different application logic and isn&#8217;t compatible with OCPP 2.0.1, which has slowed down industry adoption. Unfortunately, many charger manufacturers seem to treat software development like a dentist appointment: they delay it until the pain is too big to ignore. Instead of embracing OCPP 2.0.1, a familiar pattern emerged: patching OCPP 1.6 with extensions that <em>pretend</em> to behave like it. Spoiler: that&#8217;s not how you build interoperable, future-proof solutions. </p><p>Or, to borrow a perfectly fitting meme from the <em><a href="https://www.readelectricavenue.com/">Electric Avenue</a></em> newsletter:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!61il!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!61il!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 424w, https://substackcdn.com/image/fetch/$s_!61il!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 848w, https://substackcdn.com/image/fetch/$s_!61il!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 1272w, https://substackcdn.com/image/fetch/$s_!61il!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!61il!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png" width="1051" height="1242" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1242,&quot;width&quot;:1051,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!61il!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 424w, https://substackcdn.com/image/fetch/$s_!61il!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 848w, https://substackcdn.com/image/fetch/$s_!61il!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 1272w, https://substackcdn.com/image/fetch/$s_!61il!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d43bf21-1f70-4460-9f5c-f522af451351_1051x1242.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Electric Avenue newsletter</figcaption></figure></div><p>However, I&#8217;m now seeing clear signals that the pace is slowly picking up. In my view, one of the biggest advantages of OCPP 2.0.1 for CPOs is its new device model and native support for ISO 15118. I&#8217;ll likely dedicate one or more upcoming articles to exploring these benefits, it&#8217;s simply too important to overlook.</p></li><li><p><strong>OCPP 2.1</strong>, released in 2025, builds on 2.0.1 and introduces support for bidirectional power flow, making it the first OCPP version capable of managing Vehicle-to-Grid (V2G) and Vehicle-to-Home (V2H) use cases. It also brings improvements in smart-charging orchestration, enhanced extensibility for energy services, and tighter alignment with the new ISO 15118-20 features.</p></li></ul><p>OCPP 2.1 extends OCPP 2.0.1 with additional functionality, so it&#8217;s 100% backwards-compatible. Care has been taken to make sure that all application logic developed for OCPP 2.0.1 will continue to work in OCPP 2.1.</p><p>In October 2024, OCPP 2.0.1 Edition 3 was officially adopted by the International Electrotechnical Commission (IEC) as <strong>IEC 63584</strong>, giving OCPP finally a full international standard status.</p><p></p><h4>A word on EV charging software stacks </h4><p>A charging station these days has to speak an impressive number of &#8220;languages&#8221; &#8211; from various versions of ISO 15118 to DIN SPEC 70121, and sometimes even CHAdeMO or NACS (North American Charging Standard)<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, depending on the region, to OCPP 1.6 and newer. These protocols are complex enough to implement, but the real challenge begins afterward: <strong>interoperability testing</strong>. Every car manufacturer may have interpreted a technical requirement just a little differently, and ironing out those differences takes far more effort than writing the initial implementation. In fact, most of the work lies in testing, not in coding the standard itself.</p><p>And standards never stand still. Revisions, new editions, and feature-packed versions continue to emerge &#8211; each one nudging the industry forward but adding to the engineering load.</p><p>So it&#8217;s fair to ask: <strong>how much effort should a charger manufacturer really invest in reinventing the wheel</strong>, especially if software development isn&#8217;t part of their DNA? Today, there are mature, ready-to-use implementations that are <strong>battle-tested, certified</strong>, and have survived countless interoperability events. From open-source projects like Pionix&#8217;s<em> </em><a href="https://lfenergy.org/projects/everest/">EVerest</a> to closed-source platforms such as <a href="https://ecog.io/ecog-os">EcoG OS</a> (which, for those who remember, incorporates <em>Switch&#8217;s</em> former <em>Josev</em> stack).</p><p>EV drivers, and CPOs, will be thankful for a wider adoption of these battle-tested and certified solutions, as the impact will be a much more seamless charging experience.</p><p></p><h2>Roaming &#8211; Charging everywhere with one contract</h2><p>In the early days of e-mobility, the industry experimented with several roaming protocols, each trying to make EV charging networks talk to each other.</p><p>There was <strong>eMIP</strong> (promoted by <strong>Gireve</strong>) and the Open Clearing House Protocol (<strong>OCHP</strong>) used by <strong>e-clearing.net</strong>, and until early September 2025, <strong>Hubject</strong> had only supported its own Open InterCharge Protocol (<strong>OICP</strong>). Each worked well within its own ecosystem, but none achieved true universal coverage.</p><p>Over time, the industry converged on a single, open protocol that everyone could adopt: <strong>OCPI &#8211; </strong>the<strong> Open Charge Point Interface</strong>.</p><p>Maintained by the EVRoaming Foundation, OCPI has become the de facto global standard for roaming interoperability, enabling a consistent way for Charge Point Operators (CPOs) and Mobility Service Providers (MSPs) to exchange data, authorise sessions, and settle payments directly, without relying on a central clearing house. </p><div><hr></div><p>Apparently, there&#8217;s an unwritten rule in the EV charging world: if your protocol name doesn&#8217;t contain <strong>O</strong>, <strong>C</strong>, and <strong>P</strong>, it&#8217;s not real.<br><br><strong>OCPP, OCPI, OICP, OCHP, OCSP, OPNC</strong>&#8230; somewhere, there&#8217;s a secret committee ensuring we stay alphabetically confused. To clear up that confusion, check out my <a href="https://currentaffairs.io/p/acronyms">Acronym Survival Guide</a>. Your go-to cheat sheet for all acronyms in the EV charging world.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EUwk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EUwk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 424w, https://substackcdn.com/image/fetch/$s_!EUwk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 848w, https://substackcdn.com/image/fetch/$s_!EUwk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 1272w, https://substackcdn.com/image/fetch/$s_!EUwk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EUwk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png" width="1456" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:196709,&quot;alt&quot;:&quot;Ecosystem illustration with charger (EVSE), CPO, MSP, roaming platform, driver and EV (Source: ChargeUp Europe)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/177171634?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ecosystem illustration with charger (EVSE), CPO, MSP, roaming platform, driver and EV (Source: ChargeUp Europe)" title="Ecosystem illustration with charger (EVSE), CPO, MSP, roaming platform, driver and EV (Source: ChargeUp Europe)" srcset="https://substackcdn.com/image/fetch/$s_!EUwk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 424w, https://substackcdn.com/image/fetch/$s_!EUwk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 848w, https://substackcdn.com/image/fetch/$s_!EUwk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 1272w, https://substackcdn.com/image/fetch/$s_!EUwk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e2b26e-becc-431c-857a-ae6bc1ca31cc_3152x1702.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ecosystem illustration with charger (EVSE), CPO, MSP, roaming platform, driver and EV (Source: ChargeUp Europe)</figcaption></figure></div><h3>Why roaming exists</h3><p>In many regions, especially in Europe, the EV charging market is deregulated.<br>That means the CPO (who operates the chargers) and the MSP (who sells access to charging stations for drivers via electricity contracts) must be separate legal entities.</p><p>As an EV driver, you sign up with an MSP of your choice, much like choosing an electricity supplier for your home. The MSP gives you an electricity contract for your EV, together with an app or RFID card with which you can access hundreds of thousands of chargers through <strong>roaming agreements</strong> with CPOs.</p><p>The concept is similar to the mobile phone world: you can make calls abroad because your provider has roaming contracts with others.</p><h3>What&#8217;s actually exchanged</h3><p>Roaming protocols handle a wide range of data:</p><ul><li><p><strong>Authentication tokens</strong> (to identify the driver or vehicle)</p></li><li><p><strong>Static data</strong> (charger location, type, power rating, amenities, accessibility)</p></li><li><p><strong>Dynamic data</strong> (real-time availability and pricing)</p></li><li><p><strong>Charge Detail Records (CDRs)</strong> for billing and reconciliation</p></li></ul><p>This ensures a driver can find the right charge point along their way, possibly even reserve a charge point, plug in upon arrival, start charging, and get billed accurately &#8211; whether you&#8217;re charging in your home country or abroad.</p><h3>Centralised vs peer-to-peer roaming</h3><p>There are two main models for roaming:</p><ol><li><p><strong>Centralised platforms (clearing houses):</strong><br>Roaming platforms like Hubject or e-clearing.net act as intermediaries, brokering connections between many CPOs and MSPs. </p><p></p><p>This saves everyone from negotiating endless bilateral contracts, which dramatically speeds up time-to-market and has proven especially useful in markets like Germany, where Hubject has deep roots among municipal utilities<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>. Enterprise SLAs and <a href="https://hubject-fs.com/">Hubject&#8217;s financial settlement offer</a> may also be an incentive to join their hub, given their global footprint of 1,000,000+ connected charging stations.<br></p><p>As a CPO, you have the option to set up <em>offer-to-all</em> pricing arrangements that apply to all MSPs on the roaming platform. You can also establish bilateral agreements with select MSPs, where those specific terms override the general offer-to-all pricing.</p></li><li><p><strong>Peer-to-peer connections:</strong><br>OCPI takes a more decentralised approach, allowing CPOs and MSPs to connect directly. This streamlines communication for specific features they may want to enable, and provides more control over their data and commercial agreements. MSPs also save the transaction handling fees that come with a roaming hubs. </p><p></p></li></ol><h3>So which roaming protocol should you implement?</h3><p>If you&#8217;re a CPO or MSP, the practical answer so far been depending on your target market. Most major players today implement OCPI for peer-to-peer interoperability, but many also keep OICP to access Hubject&#8217;s network of partners.</p><p>However, in <a href="https://www.hubject.com/blog-posts/hubject-and-evrf-join-forces-to-further-drive-scalability-for-the-global-ev-market">September 2025, Hubject finally announced their support of OCPI</a>. Their dual-stack approach allows their customers to leverage both OCPI and OICP protocols and protocol versions. Hubject&#8217;s long-term goal is to help foster one global roaming standard &#8211; OCPI &#8211; while helping companies transition away from OICP in their own speed.</p><p>Roaming may sound like a niche technical detail, but it&#8217;s one of the biggest enablers of <strong>driver convenience and network growth</strong>. Without it, EV charging would still be a patchwork of closed networks. </p><p>Like the early days of mobile phones, when you couldn&#8217;t call outside your carrier&#8217;s network. Thankfully, just as telecom roaming made global communication effortless, EV roaming is doing the same for electric mobility.</p><p></p><h2>Grid operator link &#8211; DSOs and the protocols that keep the power balance</h2><p>The <strong>Distribution System Operator (DSO)</strong> &#8211; sometimes just called the utility or grid operator &#8211; plays the unsung role of maintaining the &#8220;traffic lights&#8221; for electricity. They watch the load on the low-voltage grid (to which most chargers connect), and ensure that power generation equals consumption, so the frequency stays within safe bounds (50 Hz in Europe, 60 Hz in the U.S.). </p><p>Picture the grid as a see-saw that must stay perfectly level: every car plugged in, every charging station active, adds weight. But leveraged smartly, EV&#8217;s can act as essential mobile batteries that reduce the stress on the grid or even power the grid when needed (think: smart charging and Vehicle-to-Grid &#8211; or V2G &#8211; technology). The rules that govern this balance are called <strong>grid codes</strong>, which is an exciting topic of its own and one I&#8217;ll make sure to cover as well.</p><p>Since the CPMS (the CPO&#8217;s backend) is managing large clusters of chargers, there must be a <strong>communication link</strong> between the CPMS and the DSO to exchange forecasts, capacity constraints, and control instructions. After all, charging needs to fit into the grid without triggering a blackout.</p><p>In practice, three main protocol families are currently being used for this DSO &#8592;&#8594; charger/aggregator link, depending on the region:</p><ul><li><p><strong>OpenADR</strong> (Open Automated Demand Response)</p></li><li><p><strong>IEEE&#8239;2030.5</strong> (formerly known as Smart Energy Profile 2.0)</p></li><li><p><strong>IEC&#8239;61850&#8209;90&#8209;8</strong> (a data exchange profile of IEC 61850 tailored for EV charging/grid-interaction)</p></li></ul><h4>OpenADR</h4><p>OpenADR is the go-to standard for communicating <strong>demand response events</strong>. Think: &#8220;Please reduce your power draw now&#8221; or &#8220;You may resume&#8221;. Especially in the U.S.  and increasingly in Europe (e.g., Dutch DSOs implementing Grid-Aware Charging), OpenADR enables DSOs to send signals to CPOs or aggregators, who then throttle or schedule EV charging to avoid overloads. </p><p>It&#8217;s like the DSO telling the chargers: &#8220;Hey, ease up, traffic&#8217;s piling up on the power highway.&#8221;</p><h4>IEEE 2030.5 (SEP 2.0)</h4><p>While OpenADR is focused on demand response messaging to coordinate energy usage, IEEE 2030.5 provides a comprehensive communication standard for directly controlling and managing a wide range of smaller distributed energy resources (DERs), such as solar, battery storage, or EV chargers. </p><p>It&#8217;s particularly strong in the U.S., where utilities are pushing for secure, two-way communication with chargers that can act as grid resources &#8212; for example, in Vehicle-to-Grid (V2G) use cases. U.S. power grids are notoriously vulnerable to weather events such as wildfires and blizzards, often leaving millions without electricity because much of the infrastructure is built above ground. That&#8217;s why the ability to use your EV to power your home &#8212; known as Vehicle-to-Home (V2H) &#8212; has attracted so much attention. Ford&#8217;s F-150 Lightning, for instance, became a hit after a Super Bowl commercial showed it instantly lighting up a house during a (fictional) blackout.</p><h4>IEC 61850-90-8</h4><p>This lesser-known standard is part of the IEC 61850 family (used in substations), with profile 90-8 tailored for EV charging/data exchange between DSOs and charging infrastructure. It&#8217;s mainly European in traction.</p><p></p><h3>Bottom line for CPOs</h3><p>The industry has not yet settled on a single communication standard for the DSO &#8592;&#8594; CPO link. Meaning: if you&#8217;re operating chargers at scale, you&#8217;ll want to be compatible with at least one of these protocols (depending on region) because:</p><ul><li><p>DSOs increasingly mandate smart-charging behaviour (e.g. grid-aware profiles, dynamic curtailment).</p></li><li><p>Being &#8220;grid-friendly&#8221; means you avoid bottlenecks, get quicker access to power infrastructure without needing to wait for capacity upgrades, and can even monetise flexibility (see for example <a href="https://investor.pgecorp.com/news-events/press-releases/press-release-details/2025/New-PGE-Service-Offering-Makes-It-Easier-and-Faster-to-Connect-EV-Chargers-EV-Fleets-and-Big-Batteries-to-the-Grid/default.aspx">Pacific Gas &amp; Electric&#8217;s Flex Connect program</a>).</p></li><li><p>These protocols turn chargers from passive consumers into active grid participants. This is a key enabler to unlock timely buildout of EV infrastructure and, as a result, accelerate EV uptake. Additionally, this capability adds new revenue streams for CPOs as they can bundle their EV chargers into what we call <strong>virtual power plants (VPPs)</strong> to participate in the energy and flexibility markets (e.g. intraday and day-ahead trading, or frequency containment reserve).</p><p></p></li></ul><h2>Public Key Infrastructure operator</h2><p>The last part of the EV charging ecosystem shown in the map above has become an increasingly important one, both with respect to user convenience and cybersecurity.</p><p>With ISO 15118&#8217;s <strong>Plug &amp; Charge</strong> adoption rising quickly, <strong>user convenience</strong> is taking centre stage, providing the same seamless experience that Tesla drivers have enjoyed for years. And as EV charging networks increasingly form part of critical infrastructure that must be protected from malicious actors at all times, <strong>cybersecurity</strong> is shifting from a nice-to-have feature &#8211; often overlooked in the early days &#8211; to a key topic on industry and government agendas.</p><p>A <strong>Public Key Infrastructure (PKI)</strong> is the framework that makes secure digital communication possible. It relies on cryptographic key pairs &#8211; one public, one private &#8211; and digital certificates issued by trusted authorities to prove that each party in a communication is who they claim to be.</p><p>In the context of EV charging, PKI ensures that the information exchanged between the EV and the charger (such as authentication credentials, contract certificates or charging profiles) and between the charger and the backend system (like charging data, pricing, or firmware updates) remains encrypted, tamper-proof, and verifiable.</p><p>This system of digital certificates allows all actors &#8212; the vehicle, the charger, and the backend &#8212; to <strong>trust one another automatically</strong>, without manual intervention. It&#8217;s the foundation that enables secure features such as Plug &amp; Charge, where the EV identifies itself and authorises payment seamlessly the moment it&#8217;s plugged in.</p><p>The charging-related information exchanged between EV and charger is encrypted via <strong>Transport Layer Security (TLS)</strong>, guaranteeing confidentiality. Additionally, sensitive information that is exchanged between the charging station and its cloud-based CSMS is digitally signed to guarantee both the integrity of the information and the authenticity of the sender. Confidentiality, data integrity and authenticity are the three cornerstones of a secure charging and billing process. All this is made possible through a PKI. </p><p>The Plug &amp; Charge ecosystem actually comprises several market roles which, for brevity&#8217;s sake, I subsumed under the term &#8220;Public Key Infrastructure operator&#8221;. As I&#8217;m writing this article, there&#8217;s only one established PKI operator, namely Hubject. Hubject currently takes on several roles from issuing, distributing and revoking digital certificates to operating data pools that are necessary to guarantee a smooth and secure exchange of information between the stakeholders in a Plug &amp; Charge ecosystem.</p><p>There are other PKI operators coming to the e-mobility market, namely Irdeto and roaming hub operator Gireve. In June 2025, the three companies <a href="https://www.electrive.com/2025/06/16/hubject-gireve-irdeto-announce-plug-charge-partnership/">announced a Plug &amp; Charge partnership</a>, providing mutual access and integrations to each other&#8217;s platforms. In practice, this means CPOs, EMPs, and even vehicle OEMs are free to pick whichever Plug &amp; Charge provider they prefer, while still gaining interoperability with the other two ecosystems.</p><p>The Sustainable Transport Forum (STF), an expert body advising the European Commission on e-mobility, is working to define a common EU-wide governance framework that will ensure truly interoperable EV charging infrastructure across all market players.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Y4R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Y4R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 424w, https://substackcdn.com/image/fetch/$s_!0Y4R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 848w, https://substackcdn.com/image/fetch/$s_!0Y4R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 1272w, https://substackcdn.com/image/fetch/$s_!0Y4R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Y4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png" width="1456" height="591" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:591,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174996,&quot;alt&quot;:&quot;ISO 15118 PKI and market roles involved in the Plug &amp; Charge ecosystem&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/177171634?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ISO 15118 PKI and market roles involved in the Plug &amp; Charge ecosystem" title="ISO 15118 PKI and market roles involved in the Plug &amp; Charge ecosystem" srcset="https://substackcdn.com/image/fetch/$s_!0Y4R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 424w, https://substackcdn.com/image/fetch/$s_!0Y4R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 848w, https://substackcdn.com/image/fetch/$s_!0Y4R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 1272w, https://substackcdn.com/image/fetch/$s_!0Y4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5f97e8c-9397-44f1-b1e2-a8ac068ca75c_2186x888.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ISO 15118 PKI and market roles involved in the Plug &amp; Charge ecosystem</figcaption></figure></div><p>There&#8217;s a lot to unpack when it comes to Plug &amp; Charge and the underlying PKI. The image above shows just how many entities are involved in this ecosystem. Enough material to fill an entire day of training, as I&#8217;ve done in the past. I&#8217;ll dive deeper into this diagram and share that knowledge in my upcoming articles dedicated to Plug &amp; Charge. If there&#8217;s a particular aspect you&#8217;d like me to cover, let me know &#8211; I&#8217;d love to tailor it to what you find most interesting.</p><p></p><h4><strong>Open Plug &amp; Charge Network Communication Protocol (OPNC)</strong></h4><p>Early 2022, Hubject introduced an open-source protocol called <a href="https://github.com/hubject/opcp">Open Plug and Charge Protocol (OPCP)</a>. The purpose of the OPCP protocol is to provide an open, international, supplier-agnostic API framework that enables seamless interoperability across Plug &amp; Charge systems, linking multiple PKI ecosystems, CPOs, MSPs and OEMs so that EVs, chargers and backend networks can operate together smoothly.</p><p>In 2024, <a href="https://www.charin.global/news/charin-unveils-opnc-protocol/">CharIN e.V. established a task force</a> to take over the governance of this open-source project and changed the protocol name to <strong>Open Plug &amp; Charge Network Communication Protocol</strong>, or <strong>OPNC</strong> (<a href="https://github.com/charinev/opnc">link to GitHub repo</a>) for short. Did I mention already that this industry just loooves using <em>O</em>&#8217;s, <em>P</em>&#8217;s and <em>C</em>&#8217;s in protocol names?</p><p></p><div><hr></div><p>All right, you now have a pretty complete overview of the market roles and communication protocols at play, working in concert around the clock to ensure you have the most seamless and secure charging experience possible. </p><p>It&#8217;s not perfect, and I&#8217;m sure there are people out there who may wonder why it appears to be so complex. Although I tried to shed some light and reduce any confusion, I&#8217;m sure your head is still spinning with all the roles, protocols, and acronyms. </p><p><strong>If anything remains unclear</strong>, please don&#8217;t hesitate to leave a <strong>comment on this article</strong>, or <strong>respond</strong> directly <strong>to my email</strong>. I&#8217;ll be happy to explain further. </p><p>In next week&#8217;s article, we&#8217;ll start pulling back the curtain on the magic behind Plug &amp; Charge. Stay tuned, and have a great week!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts or questions anytime, I&#8217;d love to hear them.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Need a refresher on those communication protocols? Then head to <a href="https://currentaffairs.io/i/176559522/iso-and-din-spec">Behind the plug: What really happens when your EV talks to the charger</a>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>There are more than 860 municipal utilities in Germany. However, only about a third of them has registered charge points with the <a href="https://www.bundesnetzagentur.de/DE/Fachthemen/ElektrizitaetundGas/E-Mobilitaet/start.html">Federal Network Agency (Bundesnetzagentur)</a>. Yet, this shows how fragmented the CPO market in Germany is.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Behind the plug: What really happens when your EV talks to the charger]]></title><description><![CDATA[In this Part 2 of "Behind the Plug", we'll start to cover the communication protocols (aka "languages") used to facilitate an interoperable, seamless charging experience. Starting with the EV to charger communication flow.]]></description><link>https://currentaffairs.io/p/behind-the-plug-what-really-happens-when-your-ev-talks-to-the-charger</link><guid isPermaLink="false">https://currentaffairs.io/p/behind-the-plug-what-really-happens-when-your-ev-talks-to-the-charger</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Tue, 28 Oct 2025 10:03:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e2d76cc1-d3d1-488d-9307-6f0a06e8b000_1503x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In Part 1 of this &#8220;Behind the plug&#8221; series (<a href="https://currentaffairs.io/p/behind-the-plug-whos-who-in-the-ev-charging-ecosystem">Who&#8217;s who in the EV charging ecosystem</a>), we lifted the curtain on the EV charging world and discovered just how many players are working behind the scenes to deliver a simple outcome: your car gets the energy it needs.</p><p>But the more actors involved, the more chances there are for something to go wrong. A single weak link in the chain &#8211; whether it&#8217;s the EV, the charger, the network operator&#8217;s Charge Point Management System (CPMS), a roaming hub, or a payment provider &#8211; can derail the entire experience. No energy. Frustrated driver. Lost revenue.</p><p>To avoid that, every system in this chain needs to <em>speak the same language</em>. That language is defined by communication protocols.</p><p>You might think: <em>&#8220;What&#8217;s there to talk about? I want my car to be fully charged asap, here are my payment details, plug in and done!&#8221;</em></p><p>In reality, delivering electricity to your EV is a carefully choreographed digital conversation. So let&#8217;s break down <strong>what</strong> information needs to flow between all these components, and <strong>how</strong> communication protocols make the magic work.</p><p>Today, we focus on how the EV and the charger talk to each other. In the next edition, we&#8217;ll venture deeper into the protocol jungle and explore the rest of the ecosystem.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H0wx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H0wx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 424w, https://substackcdn.com/image/fetch/$s_!H0wx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 848w, https://substackcdn.com/image/fetch/$s_!H0wx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!H0wx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H0wx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png" width="1456" height="1015" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1015,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:318850,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/176559522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!H0wx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 424w, https://substackcdn.com/image/fetch/$s_!H0wx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 848w, https://substackcdn.com/image/fetch/$s_!H0wx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!H0wx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb29c423-bba7-4b96-9a39-2aa8bc9994c9_1503x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What are they even talking about?</h2><p>Once an EV plugs into a charger, the real work begins. Not through sparks and cables, but through data. Before a single electron flows, the car and the charger start exchanging information like two strangers figuring out how to dance together.</p><p>The EV says things like:</p><ul><li><p><em>How much energy I need</em></p></li><li><p><em>My max charge power</em></p></li><li><p><em>What voltages and currents I can safely handle</em></p></li><li><p><em>When I plan to leave &#8211; so no need to rush, or please do rush!</em></p></li><li><p><em>What energy contract I want to use at this location (if Plug &amp; Charge is enabled)</em></p></li></ul><p>In return, the charger reports to the EV:</p><ul><li><p><em>What power it can deliver right now, and how this may change over the next hours</em></p></li><li><p><em>Confirmation that the driver is actually allowed to charge here</em></p></li><li><p><em>Whether all safety checks are complete to start charging</em></p></li></ul><p>Then there&#8217;s the wider ecosystem. The charger usually not acting alone, it&#8217;s constantly checking in with the Charge Point Management System (CPMS), sending operational and health status updates, keeping track of the energy delivered to the EV, and receiving smart-charging instructions that align power delivery with grid needs.</p><p>And further down the chain, the CPMS coordinates with a Mobility Service Provider (MSP) or roaming hub to sort out:</p><ul><li><p><em>Where the charger is located and whether it&#8217;s available for energy delivery</em></p></li><li><p><em>Who the driver is and whether he or she is allowed to charge</em></p></li><li><p><em>Which price to apply and how the session will be billed</em></p></li></ul><p>So while you&#8217;re casually plugging in and walking away, there&#8217;s a multi-party negotiation unfolding in seconds. Everyone in this chain &#8211; the EV, the charger, the backend systems, the payment platforms &#8211; must quickly agree on what&#8217;s happening, what&#8217;s allowed, and what comes next.</p><p>That&#8217;s the conversation. Next, we&#8217;ll explore the <strong>languages</strong> they use to have it: the communication protocols that intend to keep charging simple for drivers. But boy can they be incredibly complex under the hood.</p><p></p><h2>EV to charger communication protocols</h2><p>If you&#8217;ve ever tried to make sense of all the acronyms flying around in the EV charging world &#8211; OCPP, OCPI, OICP, OCHP, OPNC &#8211; you&#8217;re not alone. </p><p>The list of communication protocols can make your head spin (and yes, the fact that so many start with <em>O</em> and include a <em>C</em> and a <em>P</em> is not lost on anyone). I guess protocol nerds are not the most creative bunch of people when it comes to naming&#8230;</p><p>Let&#8217;s start with the EV itself and follow the data trail outward, step by step.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fbn5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fbn5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 424w, https://substackcdn.com/image/fetch/$s_!fbn5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 848w, https://substackcdn.com/image/fetch/$s_!fbn5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 1272w, https://substackcdn.com/image/fetch/$s_!fbn5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fbn5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121912,&quot;alt&quot;:&quot;EV charging landscape: market roles and communication protocols&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/176559522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="EV charging landscape: market roles and communication protocols" title="EV charging landscape: market roles and communication protocols" srcset="https://substackcdn.com/image/fetch/$s_!fbn5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 424w, https://substackcdn.com/image/fetch/$s_!fbn5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 848w, https://substackcdn.com/image/fetch/$s_!fbn5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 1272w, https://substackcdn.com/image/fetch/$s_!fbn5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f39114d-5d63-4a7e-bf38-9c7bba065b97_2268x1331.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">EV charging landscape: market roles and communication protocols</figcaption></figure></div><h3></h3><p>When an EV connects to a charging station, they need a shared language to coordinate the flow of energy. This can happen in one of two ways:<br>through <strong>analogue signalling</strong> or <strong>digital communication</strong>.</p><p></p><h3>IEC 61851</h3><p>The IEC 61851 standard governs the <strong>analogue</strong> communication between the EV and the charger. It defines the basic safety mechanisms that ensure power only flows when it&#8217;s safe, i.e. when the vehicle is stationary and correctly connected.</p><p>When the charging cable is plugged in, the station sends what is called a <strong>pulse width modulation (PWM)</strong> signal along the control pilot (CP) line of the charging cable. The EV reads the duty cycle of this PWM signal (expressed as a percentage) to determine how much current it&#8217;s allowed to draw.</p><p>If you&#8217;re thinking <em>&#8220;duty what now?&#8221;</em>, you&#8217;re not alone. The first time I saw the term, I assumed it was one of those insider phrases electricians knowingly toss around over a bottle of cold beer. In reality, the <strong>duty cycle</strong> is simply the ratio of how long a signal is ON vs. OFF during each tiny pulse. It&#8217;s expressed as a percentage, and the higher that percentage, the more current the EV is allowed to draw. Think of it like the charger saying: <em>&#8220;I&#8217;m 53% &#8216;on&#8217;, feel free to take up to 32 amps.&#8221;</em></p><p>A duty cycle between <strong>10% and 96%</strong> represents a theoretical charging range from <strong>6 A to 80 A per phase</strong>, though in practice, most AC chargers are limited to 11 kW (16 A) or 22 kW (32 A) per phase. </p><p>A <strong>phase</strong> is basically one live wire carrying power in a rhythm (a sine wave), like a lane on an electrical highway; using three phases means three live wires working together to deliver more power at once, which charges your car faster.</p><p>The image below illustrates the concept of this analogue &#8220;communication&#8221; between the EV and the charger on the Control Pilot wire of the charging cable. This example is specifically relevant for slower AC charging, DC charging works slightly different. (Hold on, you eager beaver, we&#8217;ll get to that in a minute. )</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9ojy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9ojy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 424w, https://substackcdn.com/image/fetch/$s_!9ojy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 848w, https://substackcdn.com/image/fetch/$s_!9ojy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 1272w, https://substackcdn.com/image/fetch/$s_!9ojy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9ojy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png" width="1456" height="597" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:597,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30940,&quot;alt&quot;:&quot;Controlling amperage limits with Pulse Width Modulation (PWM) and duty cycles&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/176559522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Controlling amperage limits with Pulse Width Modulation (PWM) and duty cycles" title="Controlling amperage limits with Pulse Width Modulation (PWM) and duty cycles" srcset="https://substackcdn.com/image/fetch/$s_!9ojy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 424w, https://substackcdn.com/image/fetch/$s_!9ojy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 848w, https://substackcdn.com/image/fetch/$s_!9ojy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 1272w, https://substackcdn.com/image/fetch/$s_!9ojy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b8f3c73-d14b-43a7-a344-137ac10a3eeb_2267x930.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Controlling amperage limits with Pulse Width Modulation (PWM) and duty cycles</figcaption></figure></div><p>Let&#8217;s run through how the Control Pilot signal guides the charging process, as defined in IEC 61851:</p><ul><li><p><strong>Charger waiting (State A: +12 V)</strong></p><ul><li><p>No car plugged in</p></li><li><p>Control Pilot sits at a steady +12 volts</p></li><li><p>Meaning: <em>&#8220;I&#8217;m here and ready, but no vehicle connected&#8221;</em></p></li></ul></li><li><p><strong>Car plugs in &#8594; voltage drops (State B: +9 V)</strong></p><ul><li><p>The EV adds a resistor to ground when inserted</p></li><li><p>Voltage drops from +12 V &#8594; +9 V</p></li><li><p>Meaning: <em>&#8220;A vehicle is present and communication can start&#8221;</em></p></li><li><p>Charger begins sending a <strong>1 kHz square-wave </strong>(the PWM signal)</p></li><li><p>Positive part of the wave encodes max current available</p></li></ul></li><li><p><strong>Car requests charging &#8594; clipped signal (State C: +6 V)</strong></p><ul><li><p>The EV changes the resistance again to show it is ready to draw power</p></li><li><p>The positive peak is clipped to <strong>+6 V</strong></p></li><li><p>Meaning: <em>&#8220;Ready to charge&#8221; &#8594; &#8220;Charging in progress&#8221;</em></p></li><li><p>The <strong>width of the positive pulses</strong> (duty cycle) tells the EV how many <strong>amps</strong> it may pull</p></li><li><p>The <strong>-12 V</strong> portion keeps confirming grounding and line integrity</p></li></ul></li><li><p><strong>Charging stops &#8594; signal returns</strong></p><ul><li><p>EV stops power draw &#8594; positive peak goes back to <strong>+9 V</strong></p></li><li><p>Driver unplugs &#8594; solid <strong>+12 V</strong> again</p></li><li><p>Meaning: <em>&#8220;Session over, no EV connected&#8221;</em></p></li></ul><p></p></li></ul><p>Beyond States A to C, IEC 61851 also defines additional safety-related states:</p><ul><li><p><strong>State D</strong>: Vehicle connected and charging possible, but ventilation required (not used anymore, was only relevant for old lead-acid batteries)</p></li><li><p><strong>State E</strong>: Supply fault, Control Pilot power lost, charging disabled</p></li><li><p><strong>State F</strong>: Ground fault, PE issue detected, charging prohibited</p></li></ul><p>Does that make sense? Hope so. If not, let me know.</p><p>Now, you might think: &#8220;What&#8217;s this &#8216;Control Pilot&#8217; wire he&#8217;s talking about?&#8221; </p><p>Great question, and a perfect moment to quickly decode what&#8217;s actually hiding inside these charging plugs. Below you&#8217;ll see the CCS 2 connector used for DC fast charging (left), the matching vehicle inlet (middle), and the familiar Type 2 AC plug (right). You&#8217;ve probably used these countless times without thinking about what each pin does. But after this, you&#8217;ll know exactly how they work and can impress the next EV driver you meet at the charger.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!juwF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!juwF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 424w, https://substackcdn.com/image/fetch/$s_!juwF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 848w, https://substackcdn.com/image/fetch/$s_!juwF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 1272w, https://substackcdn.com/image/fetch/$s_!juwF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!juwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png" width="1456" height="615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:615,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:261150,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/176559522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!juwF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 424w, https://substackcdn.com/image/fetch/$s_!juwF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 848w, https://substackcdn.com/image/fetch/$s_!juwF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 1272w, https://substackcdn.com/image/fetch/$s_!juwF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146c8289-cd48-4d58-94fa-75a47a54573a_1902x803.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What all those pins actually do (Type 2 &amp; CCS2 connectors)</h3><p>Every pin has a very specific job:</p><ul><li><p><strong>L1, L2, L3: the power lanes</strong><br>These are the <strong>three phases</strong> that carry the actual AC charging power. The car can use one of them (single-phase) or all three at once (three-phase) to charge faster.</p></li><li><p><strong>N: Neutral</strong><br>Completes the electrical AC circuit, working together with the phases.</p></li><li><p><strong>PE: Protective Earth (ground)</strong><br>A safety connection to the ground. If something ever goes wrong, this gives the electricity a safe path away from you and the car.</p></li><li><p><strong>CP: Control Pilot</strong><br>The <strong>communication lifeline</strong> between car and charger. It tells the EV how much current it&#8217;s allowed to draw and whether charging is permitted. It&#8217;s also how the system detects when the plug is inserted or removed.</p></li><li><p><strong>PP: Proximity Pilot</strong><br>A simple but important safety pin: it detects that a cable is plugged in and prevents the car from driving away with the cable still attached. It also tells the charger how thick the cable is, and therefore how much current the cable can safely handle.</p></li></ul><p>By the way, <strong>CCS</strong> stands for <strong>Combined Charging System</strong> &#8211; &#8220;combined&#8221; because it merges the Type 2 AC interface at the top with the two larger DC+ and DC&#8211; pins below for fast DC charging. Type 2 and CCS2 are the standard in e.g. Europe, the UK, Australia, and India, while the slightly different <strong>Type 1 / CCS1</strong> interface (built around a single-phase AC design) dominates in the U.S., Canada, and Japan.</p><p>Since its introduction in the early 2010s, CCS has been adopted as the de facto global standard for DC fast charging in Europe, North America, and much of the world. It&#8217;s supported by virtually all major automakers and infrastructure providers and governed by the <a href="https://www.charin.global/">Charging Interface Initiative (CharIN) e.V</a>. Have a look at their website to learn more about their initiatives, members, white papers and organised industry events.</p><p>I could happily keep diving into the nuances of global charging connectors, but that would lead us deep down the hardware rabbit hole. And this article is really about communication protocols. So let&#8217;s shift gears from plugs and pins to the <strong>digital language</strong> that makes EV charging smart.</p><p></p><h3>ISO 15118 and DIN SPEC 70121</h3><p>After mastering the electrical handshake, the industry needed something smarter. A way for the car and charger to actually talk. That&#8217;s where <strong>ISO 15118</strong> and <strong>DIN SPEC 70121</strong> step in. CCS builds on the basic safety handshake defined in IEC 61851, and adds ISO 15118 and DIN SPEC 70121 on top of it to enable <strong>digital</strong> communication.</p><p>These digital communication standards run over <strong>Power Line Communication (PLC)</strong>, using the same<strong> Control Pilot wire</strong> that already handles the PWM signal. In other words: without adding any extra wires, the EV and charging station can now exchange real data, from basic status updates to fully automated Plug &amp; Charge experiences.</p><p>IEC 61851 dictates that if a digital protocol is used, the duty cycle should drop to 5%, signalling the start of &#8220;high-level communication&#8221;. From that point on, it&#8217;s all data: bits and bytes defining authentication credentials, charging parameters, and energy flow.</p><p><strong>DIN SPEC 70121</strong> is focused on <strong>DC charging</strong> and was originally conceived as a temporary bridge when it was first released in 2012, until ISO 15118 was finalised in 2014. But as the saying goes, <em>nothing is as permanent as a temporary solution</em>. It&#8217;s still widely used today.</p><p><strong>ISO 15118</strong>, by contrast, supports both <strong>AC and DC charging</strong> and forms the foundation for modern innovations like Plug &amp; Charge, Vehicle-to-Grid (V2G), and solid cybersecurity measures, which we&#8217;ll explore more in future articles.</p><p>It&#8217;s also worth noting that ISO 15118 itself has evolved: from the foundational <strong>ISO 15118-2</strong> published in 2014 (covering AC and DC charging) to the newer <strong>ISO 15118-20 </strong>published in 2022, which extends capabilities such as <strong>bi-directional power flow </strong>(enabling your car to power your home or stabilise the grid when needed and getting paid for it), better support for <strong>multi-contract handling for Plug &amp; Charge,</strong> and <strong>advanced cybersecurity enhancements</strong>. I&#8217;ll unpack these differences and what they mean for CPOs, OEMs, and utilities in future posts.</p><p>At its core, ISO 15118-2 upgrades charging from a simple power delivery experience to a smart, secure, and fully automated one. For drivers, it enables <strong>Plug &amp; Charge</strong>: you just plug in, and the car and charger authenticate each other automatically, no apps or RFID cards needed. This magic is powered by digital certificates and cryptographic signatures that ensure both sides can truly trust who they&#8217;re talking to. For charge point operators and energy companies, it unlocks <strong>smart charging</strong> features like scheduling, price-responsive charging, and load balancing to protect the grid and reduce costs. </p><p>I literally wrote the book on this &#8211; the <em>ISO 15118 Manual</em> back in 2017 &#8211; so believe me, there&#8217;s a lot more to explore. We&#8217;ll start with the essentials here, and save the deeper magic for upcoming articles.</p><p></p><h3>CHAdeMO, GB/T, ChaoJi, and Tesla / NACS</h3><p>The Combined Charging System (CCS) has probably the biggest adoption worldwide, but it&#8217;s not the only DC-based charging system. </p><p><strong>CHAdeMO</strong>, for example, is a Japanese DC charging and communication standard that came to market with early Nissan and Mitsubishi vehicles. It also enabled some of the world&#8217;s first vehicle-to-grid (V2G) trials, thanks to its built-in bi-directional power flow capability. While many stations still support CHAdeMO, its relevance outside Japan is fading since Nissan&#8217;s 2020 decision to move to CCS for the European and U.S. markets.</p><p><strong>GB/T</strong> is China&#8217;s national DC charging and communication standard, used exclusively for EVs and chargers sold within China. Like CHAdeMO, it relies on CAN bus communication rather than PLC and therefore does not use PWM signalling.</p><p><strong>ChaoJi</strong> (also known as CHAdeMO 3.0) is the next-generation DC charging system jointly developed by the CHAdeMO Association and the China Electricity Council (CEC). It supports ultra-high-power charging (up to ~900 kW) and is designed for backward compatibility with both CHAdeMO and GB/T connectors. ChaoJi still uses CAN-based communication but represents a more coordinated step toward a globally harmonised DC standard.</p><p><strong>Tesla&#8217;s North American Charging Standard (NACS)</strong> &#8211; now formalised as the <strong>SAE J3400</strong> standard &#8211; has rapidly become the dominant connector type in North America. Unlike Tesla&#8217;s original proprietary CAN-based setup, J3400 uses Power Line Communication and <strong>supports</strong> <strong>ISO 15118 / DIN 70121</strong> messaging. This makes it technically compatible with Plug &amp; Charge, aligning it with CCS communication layers and paving the way for full interoperability as automakers and networks adopt ISO 15118-compliant firmware and PKI integration.</p><p></p><div><hr></div><p></p><p>That&#8217;s all folks. You now have a solid overview of the charging systems used around the world, the communication protocols involved, and the capabilities they unlock.</p><p>If an acronym ever slips your mind, bookmark the <a href="https://currentaffairs.io/p/acronyms">Acronym Survival Guide</a>. Future you will be grateful.</p><p>Next week, in Part 3 of the <em>Behind the Plug</em> series, we&#8217;ll explore the communication protocols that connect the rest of the e-mobility ecosystem. The ones working behind the scenes beyond the plug. Stay tuned!</p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive? <strong>Subscribe to </strong><em><strong>Current Affairs</strong></em> for more straight to your inbox. And drop your thoughts or questions anytime, I&#8217;d love to hear them.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Acronym Survival Guide]]></title><description><![CDATA[A quick-reference glossary for the EV charging acronyms you&#8217;ll see across my articles.]]></description><link>https://currentaffairs.io/p/acronym-survival-guide</link><guid isPermaLink="false">https://currentaffairs.io/p/acronym-survival-guide</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Sun, 26 Oct 2025 11:49:48 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b742fc3f-c4d1-4f12-b33b-acfd2f62d7df_512x288.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>E-mobility has its fair share of jargon, and it&#8217;s easy to lose track of what&#8217;s what. This is your Acronym Survival Guide for all the abbreviations you&#8217;ll see across my articles.</p><p>And trust me, even the engineers who invented half these acronyms occasionally have to look them up.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uNoH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uNoH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uNoH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uNoH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uNoH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uNoH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg" width="512" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:512,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;acronyms acronyms everywhere - acronyms acronyms everywhere  Everywhere&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="acronyms acronyms everywhere - acronyms acronyms everywhere  Everywhere" title="acronyms acronyms everywhere - acronyms acronyms everywhere  Everywhere" srcset="https://substackcdn.com/image/fetch/$s_!uNoH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uNoH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uNoH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uNoH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff791e3dc-9895-4798-92d2-936bca8a14a8_512x288.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><ul><li><p><strong>AC</strong>: Alternating Current</p></li><li><p><strong>ACER</strong>: Agency for the Cooperation of Energy Regulators</p></li><li><p><strong>CA</strong>: Certificate Authority</p></li><li><p><strong>CCS</strong>: Combined Charging System</p></li><li><p><strong>CP</strong>: Control Pilot</p></li><li><p><strong>CPMS</strong>: Charge Point Management System (synonym for CSMS)</p></li><li><p><strong>CPO</strong>: Charge Point Operator</p></li><li><p><strong>CSMS</strong>: Charging Station Management System (synonym for CPMS)</p></li><li><p><strong>DC</strong>: Direct Current</p></li><li><p><strong>DCC</strong>: Demand Connection Code</p></li><li><p><strong>DER</strong>: Distributed Energy Resource</p></li><li><p><strong>DSO</strong>: Distribution System Operator</p></li><li><p><strong>ECC</strong>: Elliptic Curve Cryptography</p></li><li><p><strong>EMAID</strong>: E-Mobility Account Identifier</p></li><li><p><strong>EVCC</strong>: Electric Vehicle Communication Controller</p></li><li><p><strong>EVSE</strong>: Electric Vehicle Supply Equipment</p></li><li><p><strong>FRT</strong>: Fault Ride-Through</p></li><li><p><strong>LFSM-U(C)</strong>: Limited Frequency Sensitive Mode &#8211; Underfrequency (Control)</p></li><li><p><strong>LFSM-O(C)</strong>: Limited Frequency Sensitive Mode &#8211; Overfrequency (Control)</p></li><li><p><strong>MO</strong>: Mobility Operator (synonym for MSP)</p></li><li><p><strong>MSP</strong>: Mobility Service Provider</p></li><li><p><strong>OBC</strong>: On-Board Charger</p></li><li><p><strong>OCHP</strong>: Open Clearing House Protocol</p></li><li><p><strong>OCPI</strong>: Open Charge Point Interface</p></li><li><p><strong>OCPP</strong>: Open Charge Point Protocol</p></li><li><p><strong>OCSP</strong>: Online Certificate Status Protocol</p></li><li><p><strong>OICP</strong>: Open InterCharge Protocol</p></li><li><p><strong>PKI</strong>: Public Key Infrastructure</p></li><li><p><strong>PSP</strong>: Payment Service Provider</p></li><li><p><strong>PLC</strong>: Power Line Communication</p></li><li><p><strong>RfG</strong>: Requirements for Generators</p></li><li><p><strong>RoCoF</strong>: Rate of Change of Frequency</p></li><li><p><strong>SAE</strong>: Society of Automotive Engineers</p></li><li><p><strong>SECC</strong>: Supply Equipment Communication Controller</p></li><li><p><strong>VAr</strong>: Volt Ampere reactive</p></li><li><p><strong>V2G</strong>: Vehicle-to-Grid</p></li><li><p><strong>V2H</strong>: Vehicle-to-Home</p></li><li><p><strong>VPP</strong>: Virtual Power Plant</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Behind the plug: Who's who in the EV charging ecosystem]]></title><description><![CDATA[When you plug in your car, a quiet digital conversation begins. In this Part 1, we'll cover who&#8217;s talking, and why seamless charging is harder than it looks.]]></description><link>https://currentaffairs.io/p/behind-the-plug-whos-who-in-the-ev-charging-ecosystem</link><guid isPermaLink="false">https://currentaffairs.io/p/behind-the-plug-whos-who-in-the-ev-charging-ecosystem</guid><dc:creator><![CDATA[Marc Mültin]]></dc:creator><pubDate>Sun, 19 Oct 2025 18:19:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d053772c-adc9-48f3-a555-59b54ccfef1e_1503x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>A warm welcome </h2><p>Welcome, and thank you for being here.</p><p>If you&#8217;ve just joined from the old Switch EV newsletter &#8211; welcome back! This marks the first issue of my new publication, <strong>Current Affairs.</strong></p><p>This is my very first Substack article. A new beginning, and a new space for me to continue my mission as a technical guide through the complex world of EV charging.</p><p>If you&#8217;re a charge point operator, EV or charger manufacturer, mobility service provider, utility, consultant, researcher, or simply someone who wants to <em>really</em> understand how the EV ecosystem fits together &#8211; this space is for you.</p><p>For over a decade, I&#8217;ve been building this ecosystem from the inside and teaching companies the ins and outs of complex EV charging standards. And now I&#8217;m here to continue sharing that experience with everyone else who needs to truly understand how it all fits together. </p><p>My goal is to make this publication your <strong>go-to source</strong> for:</p><ul><li><p>Clear <strong>explanations of complex standards</strong> like ISO 15118 and OCPP</p></li><li><p><strong>Behind-the-scenes perspectives</strong> from industry professionals</p></li><li><p><strong>Reflections</strong> on innovation, policies, and the future of EVs as mobile batteries</p></li><li><p>Operational insights from a <strong>Charge Point Operator&#8217;s view</strong></p></li><li><p>Practical explorations of <strong>how AI and automation</strong> can make <strong>EV charging networks more reliable</strong> and smarter</p></li></ul><p>This is a shared journey, not a monologue. Your feedback will directly shape what I write about next. What questions are you trying to answer? What&#8217;s most interesting to you? Just hit reply and let me know.</p><p>I&#8217;ll be here (bi-)weekly with new posts, and with your input, this will become an essential resource for anyone navigating the charging space.</p><p>All right, let&#8217;s dive into the world of EV charging &#8211; starting with the main market roles.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://currentaffairs.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IQat!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IQat!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 424w, https://substackcdn.com/image/fetch/$s_!IQat!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 848w, https://substackcdn.com/image/fetch/$s_!IQat!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!IQat!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IQat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png" width="1456" height="1015" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1015,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:344854,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/175955228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IQat!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 424w, https://substackcdn.com/image/fetch/$s_!IQat!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 848w, https://substackcdn.com/image/fetch/$s_!IQat!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!IQat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13d8bb9-d1be-4a23-b6cf-1bccb339c6a9_1503x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Charging an electric vehicle (EV) shouldn&#8217;t be harder than filling up a car with fuel. In fact, it should even be <strong>easier</strong>. Plug in, wait a few minutes (while you maybe eat a snack or use the bathroom), unplug, drive away - done! No need to even go inside to pay for the charged energy because it&#8217;s all paid for automatically. That&#8217;s the Tesla experience, and guess what &#8211; the same experience is achievable for ALL EV drivers.</p><p>Yet in practice, EV charging often feels anything but straightforward. And that&#8217;s puzzling, because EVs themselves are far less complex than the combustion cars they&#8217;re replacing.</p><p>But behind the scenes of a charging session unfolds a whole orchestra of market roles and communication protocols that must act in concert to make charging  seamless. Although the first early-adopter phase of modern EVs began around 2010-2012, the EV charging ecosystem is still in the process of standardising and aligning its many moving parts. Comparisons with the telecommunications industry are common: both depend on <strong>interoperable networks, shared standards, and reliable data exchange</strong>. The difference is that EV charging can build on the lessons telecom learned over decades of standardisation and integration, allowing our industry to reach maturity much faster.</p><p>In today&#8217;s article (Part 1), we start off by explaining the <strong>main market roles</strong>:</p><ul><li><p>Charge Point Operator (CPO)</p></li><li><p>Mobility Service Provider (MSP)</p></li><li><p>Roaming Platform / Hub</p></li><li><p>Payment Service Provider (PSP)</p></li><li><p>Payment Terminal Provider</p></li><li><p>Distribution System Operator (DSO)</p></li><li><p>Public Key Infrastructure (PKI) Operator</p></li><li><p>EV and Charger Manufacturer (OEMs)</p></li></ul><p>Part 2 will then dive into the actual communication protocols used to exchange data between these market roles in order to facilitate interoperability, scalability, and &#8211;  ultimately &#8211; a seamless charging experience for EV drivers.</p><p>So let&#8217;s dive right in.</p><p></p><div><hr></div><p></p><h2>Market roles in EV charging</h2><p>When you plug in your car, you&#8217;re not just connecting to a charger. You&#8217;re entering a complete ecosystem.<br><br>Behind that simple action sits a web of companies, contracts, and communication layers, all working together (or at least trying to).</p><p>The image below shows the key players and how they interact through various communication protocols. Let&#8217;s unpack who does what and why it matters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BCoq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BCoq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 424w, https://substackcdn.com/image/fetch/$s_!BCoq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 848w, https://substackcdn.com/image/fetch/$s_!BCoq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 1272w, https://substackcdn.com/image/fetch/$s_!BCoq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BCoq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121912,&quot;alt&quot;:&quot;EV charging landscape: market roles and communication protocols&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://currentaffairs.io/i/175955228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="EV charging landscape: market roles and communication protocols" title="EV charging landscape: market roles and communication protocols" srcset="https://substackcdn.com/image/fetch/$s_!BCoq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 424w, https://substackcdn.com/image/fetch/$s_!BCoq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 848w, https://substackcdn.com/image/fetch/$s_!BCoq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 1272w, https://substackcdn.com/image/fetch/$s_!BCoq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ea921f-c6bb-4e3b-b909-7727fe8fd959_2268x1331.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">EV charging landscape: market roles and communication protocols</figcaption></figure></div><p></p><h3>Charge Point Operator</h3><p>Whether it&#8217;s the charger on your street, the one at your office, or a rapid charger on the motorway, someone needs to make sure it&#8217;s alive, available, and behaving.<br>That&#8217;s the job of the <strong>Charge Point Operator (CPO)</strong> &#8211; the company responsible for keeping chargers running smoothly, monitoring their health, and ensuring drivers can actually charge when they arrive.</p><p>To do this, CPOs use a <strong>Charge Point Management System (CPMS)</strong> &#8211; also called a <strong>Charging Station Management System (CSMS)</strong> &#8211; typically a cloud-based platform that talks to each charger in real time. These CPMS platforms are either built in-house or provided by specialised Software-as-a-Service (SaaS) companies like Ampeco, Monta, Driivz, Greenflux, Spirii, or Chargepoint, to name just a few.</p><p>Communication happens via a <strong>WebSocket</strong> connection using the <strong>Open Charge Point Protocol </strong>(<strong>OCPP </strong>&#8211; more on that in Part 2 of this article), most often over Ethernet or a cellular network through a SIM card inside the charger.</p><p>In short, if a charger is the hardware, the CPMS is the central nervous system connected to a wider set of market roles, and the CPO is the one making sure it doesn&#8217;t have a breakdown.</p><p></p><h3>Mobility Service Provider</h3><p>There&#8217;s more than one way to start a charging session. You might download an app from the CPO directly, register your name, address, and payment details, and start charging through that app. Or you might simply tap your credit card at a contactless payment terminal &#8211; no registration, no contract, completely anonymous.</p><p>But behind many public charging experiences sits another, often invisible layer: the <strong>Mobility Service Provider (MSP)</strong>.</p><p>The MSP gives you an electricity contract for your car, linked to a digital identity: your authentication token. That token might be:</p><ul><li><p>an <strong>RFID card</strong> you tap at the charger,</p></li><li><p>your <strong>user account</strong> within an MSP&#8217;s mobile app, or</p></li><li><p>a <strong>digital certificate</strong> embedded directly in your vehicle (for the Plug &amp; Charge experience defined in <strong>ISO 15118<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong>).</p></li></ul><p>In the ISO 15118 standard, this role is called the <strong>Mobility Operator (MO)</strong> &#8211; but the idea is the same: the MSP connects your identity, contract, and payment method to the charging infrastructure and authenticates your session (enabling the CPO to grant access to its charging infrastructure after the MSP confirmed that the EV driver is a valid customer) and ensures billing happens correctly, even when you&#8217;re roaming across networks run by different CPOs.</p><p></p><h3>Roaming Platform</h3><p>Imagine driving across Europe and being able to charge your EV anywhere, without juggling half a dozen apps or RFID cards from various CPO networks. That&#8217;s the idea behind <strong>EV roaming</strong>: enabling drivers to charge at stations operated by different CPOs <strong>using a single credential</strong>.</p><p>To make that happen, CPOs and MSPs need to exchange a lot of information automatically. Things like driver authentication, session authorisation, billing data, and real-time station details such as location, pricing, and availability.</p><p>A <strong>roaming platform</strong> (or <strong>roaming hub</strong>) acts as a digital marketplace, a broker of sorts, where CPOs and MSPs can connect and form roaming agreements based on pre-defined legal contract templates. These agreements let an MSP&#8217;s customers access a much wider network of chargers, and let CPOs make their infrastructure available to many more drivers, which results in increased utilisation and revenues.</p><p>Instead of managing dozens of one-to-one contracts, both sides can join a roaming hub that offers what&#8217;s known as <strong>&#8220;offer-to-all&#8221; functionality</strong>. This allows every CPO on the platform to publish its tariffs to all participating MSPs, and vice versa. They can still make <strong>bilateral deals</strong> on top of that if they want special commercial terms, but the hub takes care of the messy part: contractual agreements &amp; interoperability at scale.</p><p>Some of the most established European roaming platforms today are <strong>Hubject</strong> and <strong>Gireve</strong>. Hubject remains the dominant global player, connecting over a million charging points through thousands of partner networks across 70+ countries, and serving as a de facto backbone for cross-border interoperability. Meanwhile, Gireve is especially active across France and greater Western Europe. Its roaming barometer showed around 659,000 connected stations as of October 2025. Thirdly, there is also <strong>e-clearing.net</strong>, another early player in the market, with a strong German foundation and active across Europe. More recently, newer entrants such as <strong>ENAPI</strong> are gaining momentum in Europe: for instance, Driivz (a prominent SaaS provider for CPOs) has partnered with ENAPI to leverage its network of 350,000+ connected points.</p><p>In the United States, Hubject is extending its footprint through integrations (e.g., with Blink), and <strong>ChargeHub</strong> is a key local roaming hub via its Passport Hub. Meanwhile, in markets like the US and UK, <strong>peer-to-peer (bilateral) roaming</strong> &#8211; direct agreements between CPOs and MSPs without a hub &#8211; continues to be widespread.</p><p></p><h3>Which Roaming Partners &amp; Hubs Should a CPO Focus On?</h3><p>That, my friend, is a question that needs to be answered on a case by case basis. It depends on the region you operate in, your individual network, your in-house legal expertise (and appetite to negotiate terms), and your need for flexibility when it comes to implementing specific roaming functionalities. However, at least for Europe and the UK, I can point out a few big players in the market that give you instant access to a big network of EV drivers:</p><ul><li><p><strong>Roaming hub</strong>: The biggest and most well-established player across the globe is Hubject. Their <a href="https://www.hubject.com/pricing#Payment-Plans">intercharge CPO</a> solution costs you a one-off technical integration fee of &#8364;5,000 and then &#8364;99 per month. No caps on the number of charge points you integrate, no other hidden fees, and instant access to hundreds of MSPs.</p></li><li><p><strong>Peer-to-peer roaming</strong>: Some of the bigger MSPs on the market include Octopus Electroverse, Plugsurfing, Shell Recharge, Maingau Energie, DCS (Digital Charging Solutions) and Elli (Volkswagen&#8217;s e-mobility service).</p></li></ul><p>Particularly <strong>DCS</strong> and <strong>Elli</strong> are interesting MSP solutions, as they offer white-labelled MSP apps for major automotive brands and fleet operators. This means the charging stations they provide access to are automatically integrated into the vehicle&#8217;s onboard navigation system. The moment a driver searches for a charger, your charging site could appear right on their dashboard.</p><p>For CPOs, this kind of integration is gold: it boosts charger visibility, drives more sessions without additional marketing spend, and ensures that their network is part of the seamless charging experience drivers now expect.</p><p></p><h3>Payment Service Provider</h3><p>A <strong>Payment Service Provider (PSP)</strong> facilitates financial transactions between EV drivers and CPOs by securely processing card or digital payments. PSPs like Adyen or Stripe handle the authorisation (this includes pre-authorising an amount on your credit or debit card up to which you&#8217;re allowed to charge energy), capturing the pre-auth amount and settlement, and compliance aspects of payments. This ensures that funds flow correctly between customers, charge point operators, and intermediaries. </p><p>They enable multiple payment methods (contactless, app-based, or web payments) and ensure adherence to standards such as PCI DSS and PSD2, often integrating directly with CPO or MSP platforms via proprietary APIs to streamline the payment experience.</p><p></p><h3>Payment Terminal Provider</h3><p>Those are the manufacturers of card/contactless terminals embedded in or paired with charging stations via a standalone kiosk solution. Some of the more well-known players in this market are Payter, Nayax, CCV, Worldline, and Castles. They supply the hardware, device management, and payment processing interfaces used for ad-hoc EMV payments. Those are card payments that follow the global standard developed by <strong>Europay, Mastercard, and Visa</strong> &#8211; hence the name <em>EMV</em>. Integration typically follows two patterns: </p><ol><li><p><strong>OEM-managed</strong>: the charger manufacturer integrates the terminal locally via the vendor&#8217;s SDK/protocol and calls the vendor&#8217;s cloud (common with Payter&#8217;s local &#8220;PSP&#8221; or cloud &#8220;CPS/MyPayter&#8221; flows)</p></li><li><p><strong>CPO-managed (cloud)</strong>: the CPO integrates directly with the terminal provider&#8217;s cloud, sometimes via a proprietary API, and &#8211; increasingly &#8211; via OCPI-based payment/kiosk integrations where offered (e.g. CCV &#8220;Cloud-Connect&#8221; and Nayax OCPI). Choice of model affects who controls the user flow on the terminal screen, receipting, pre-auth/settlement logic, and telemetry. </p></li></ol><p>In short, Payment Terminal Providers bridge the charger to the card schemes, while CPOs decide whether that bridge is handled by the charger OEM or by the CPO backend for greater control.</p><p></p><h3>Distribution System Operator</h3><p>The <strong>Distribution System Operator (DSO)</strong> is the quiet force keeping electricity flowing where it&#8217;s needed: from power plants, solar farms, and wind parks all the way to homes, offices, and charging stations. DSOs manage the <strong>low- and medium-voltage grids</strong> that connect end consumers to the larger transmission network.</p><p>In practice, this means they balance supply and demand on local grids, maintain network stability, and ensure that the energy your EV draws is delivered safely and reliably, whether you&#8217;re charging at home, at work, or at a public station on the corner.</p><p></p><h3>Public Key Infrastructure Operator</h3><p>When it comes to secure EV charging, trust is everything. And that trust is built on cryptography.<br><br>At the heart of it all sits the <strong>Public Key Infrastructure (PKI)</strong>, the system that manages the digital identities used by electric vehicles, charging stations, and back-end systems to authenticate one another.</p><p>This infrastructure enables what&#8217;s known as <strong>Plug &amp; Charge</strong>, a technology defined in <strong>ISO 15118</strong> that allows an EV to automatically identify itself and start charging securely, without the driver needing an app, RFID card, or credit card.</p><p>In the diagram above, I refer to the entity operating this ecosystem as the <strong>PKI Operator</strong>. The role is complex and consists of multiple sub-roles (like certificate authorities, registration authorities, and data pool providers for various types of digital certificates), often run by different organisations. For simplicity, I&#8217;ve grouped them together here under one umbrella.</p><p>The PKI Operator ensures that when an EV connects to a charger, both sides can verify each other&#8217;s identity, encrypt their communication, and prevent fraud or cyberattacks across what is increasingly recognised as critical national infrastructure.</p><p>This is a vast and fascinating topic, and one I&#8217;ve spent years exploring. I even wrote an entire book about it, <em>The ISO 15118 Manual</em>, which I&#8217;ll be breaking down into a series of posts over the coming weeks and months. We&#8217;ll look at how cryptography keeps EV charging secure, how Plug &amp; Charge really works, and what it takes to build digital trust at scale.</p><p></p><h3>EV and Charging Station Manufacturer</h3><p>This one&#8217;s fairly self-explanatory &#8211; someone has to build the cars and the chargers. &#128521;<br>But it&#8217;s worth remembering that <strong>vehicle manufacturers (</strong>often referred to as the <strong>OEMs)</strong> and <strong>charging station manufacturers</strong> play a crucial role in ensuring interoperability. Each must implement communication protocols like <strong>ISO 15118</strong> and <strong>OCPP</strong> correctly so that EVs and chargers can speak the same digital language. When they do, charging feels seamless; when they don&#8217;t, we all notice.</p><div><hr></div><p>That&#8217;s it. These are the main roles working behind the scenes to make a seamless charging experience possible. To be fair, this <strong>isn&#8217;t an exhaustive list of every player involved</strong> in the charging and payment process. I could go on about financial roles like the <em>acquiring bank</em>, <em>issuing bank</em>, and <em>merchant of record</em>; or grid-related roles like the <em>energy supplier</em>, <em>flexibility service provider</em>, <em>transmission system operator (TSO)</em>, or <em>energy management system (EMS)</em> within a building. Not to mention <em>site hosts</em>, <em>installation</em> and <em>maintenance service partners</em>, and <em>navigation</em> or <em>mapping</em> <em>services</em>. </p><p>At some point, though, the ecosystem diagram turns into spaghetti &#8211; and this first part is meant to give you a clear overview of the core actors before we dive into the  communication protocols that connect them in Part 2.</p><p></p><div><hr></div><p></p><h2>Abbreviations</h2><p>As you probably start to realise, this industry comes with its own set of abbreviations, and it&#8217;s easy to get lost if you&#8217;re new to this world. To save you from acronym overload, I&#8217;ve created a handy cheat sheet for the key terms used throughout all my articles: welcome to my <a href="https://currentaffairs.io/p/acronyms">Acronym Survival Guide</a>. Keep it handy, you&#8217;ll need it. </p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://currentaffairs.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoyed this deep dive into the currents of e-mobility? Then subscribe to <strong>Current Affairs - By Marc M&#252;ltin</strong> to get new posts straight to your inbox. And don&#8217;t be shy to <strong>share your thoughts, questions, or ideas</strong>. I&#8217;d love to hear from you.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>As a co-author and early implementer of ISO 15118, I&#8217;ve gathered and shared a lot of insights about this communication standard over the past 15 years. I&#8217;ll make sure to cover this profound technology in a series of upcoming articles. Let me know what you&#8217;d particularly be interested in, so you get the most out of it for yourself.</p></div></div>]]></content:encoded></item></channel></rss>