TCPP
Trusted Charge & Process Protocol
Ein offenes Protokoll, das Lade-, Mess- und Energieprozesse als signierte JSON-Datensätze festhält, damit das, was eine Ladesäule, ein Zähler oder ein Backend über einen Vorgang aussagt, später von jedem geprüft werden kann, der den Datensatz besitzt, ohne dem System vertrauen zu müssen, aus dem er stammt.
- Offen
- Schemas, Beispiele und Dokumentation sind frei verwendbar.
- JSON Schema
- Draft 2020-12, 27 Request/Response-Paare, ein gemeinsamer Rahmen.
- ES384
- Jeder Datensatz reist als Compact JWS über ECDSA P-384.
- Nachvollziehbar
- Datensätze verweisen auf die Datensätze, die sie beantworten.
Was TCPP ist
TCPP beschreibt, wie Geräte und Dienste im Energiesektor über einen Vorgang
kommunizieren: einen Ladevorgang, die Selbstauskunft eines Zählers, eine Tarifabfrage,
eine Statusänderung, ein archiviertes Dokument. Jede Nachricht ist ein JSON-Objekt mit
demselben Rahmen (wer sie gesendet hat, an wen, zu welchem Vorgang, zu welchem
Zeitpunkt, mit welchem Ergebnis) und einem record, den das Schema des
jeweiligen Endpunkts festlegt.
Nachrichten sind signiert. Ein TCPP-Frame ist ein Compact JWS über genau die Bytes des
JSON, sodass ein Datensatz weitergegeben, gespeichert und noch Jahre später gegen den
öffentlichen Schlüssel der ausstellenden Stelle geprüft werden kann. Datensätze führen
in references die Datensätze mit, auf die sie antworten; das macht aus
einzelnen Nachrichten wieder einen nachvollziehbaren Prozess.
Die Spezifikation ist ein Entwurf. Version 1.3.0 ist vollständig genug, um dagegen zu entwickeln; Schemasatz, ausgearbeitete Beispiele und ein lauffähiger Referenzknoten sind hier veröffentlicht. Weiterentwickelt wird sie im Arbeitskreis „Reform Ladeinfrastruktur Germany & EU“ in Abstimmung mit den Bundesbehörden.
An wen sich TCPP richtet
An europäische Hersteller, Softwareentwickler, Betreiber und Verwender von:
- smarten Stromzählern: Smart Meter Light und Geräte nach BSI TR-03109,
- Ladeinfrastruktur: AFIR, MID-011 und die Anforderungen des Mess- und Eichwesens,
- smarten Energiesteuerungssystemen: Gebäude, Anlagen und netzdienliche Steuerung.
Was TCPP erreichen soll
TCPP setzt Mittel moderner Informatik und geltende Standards (JSON Schema, JWS-Signaturen, HTTP) für Aufgaben ein, die der Energiesektor bisher proprietär oder gar nicht gelöst hat:
- Herstellung und Wartung von Energiesystemen wie Ladesäulen günstiger machen.
- Ladesäule und Gebäudesteuerung rechtssicher und unproprietär per App steuerbar machen.
- Rechtssicherheit zwischen Rechtssubjekten im Energiesektor ermöglichen.
- Das Mess- und Eichwesen auf Software-Weg stärken und öffnen.
- Markttransparenz für Verwender und Marktteilnehmer schaffen und fairen Wettbewerb ermöglichen.
- Das Tarifwesen automatisieren und nachvollziehbar machen.
- Stromzähler (MID-011) durch digitale Ausweisung flexibel machen.
- Interoperabilität in Energiesteuerung und -erfassung sowie zwischen Backends ermöglichen, Logistik- und Flottenladeinfrastruktur eingeschlossen.
TCPP ist ein offenes Protokoll und als künftiger Standard angelegt. Schemas, Musterdaten und Dokumentationen stehen kostenlos zur Verfügung, Basis-Bibliotheken und eine Referenzimplementierung kommen hinzu, und beteiligte Unternehmen können die Weiterentwicklung aktiv mitgestalten.
Wie eine Nachricht aussieht
Der kleinste Endpunkt des Satzes, ping, zeigt den Rahmen, den alle anderen
teilen. Von Endpunkt zu Endpunkt ändert sich allein das Objekt record.
{
"tcpp": "https://tcpp.digital/schema/1.3.0/",
"head": {
"record_type": "ping",
"record_direction": "request",
"record_udt": "2018-07-27T14:30:07+01:00",
"record_pagination": 45330,
"record_version": "1.3.0",
"origin_type": "CSU", // eine Ladeeinheit …
"origin_id": "E:DE*PID*E*IWS*00100017",
"target_type": "TMH", // … fragt einen Trusted Management Host
"target_id": "P:ECS-HOST",
"context_type": "INF",
"context_id": "G:90676293-fa28-49bd-81ba-1b58a0f62abd",
"error_code": "000000"
},
"record": { "ping": "Check alive" },
"participants": [],
"references": []
}
Die Schema-Dokumentation geht den Rahmen Feld für Feld durch, dazu die dreibuchstabigen Modultypen, die Kennungspräfixe und das Schema der Fehlercodes.
Einstieg
Referenzknoten
Eine Binärdatei, keine Abhängigkeiten. Sie liefert eine schemagesteuerte Weboberfläche zum Erstellen und Prüfen von TCPP-Nachrichten, signiert sie und tauscht sie mit anderen Knoten aus. Veröffentlicht für Windows x86-64, weitere Plattformen auf Anfrage.
DownloadsHandbuch
Jeder Bildschirm und jeder Arbeitsablauf des Knotens, mit Abbildungen aus einem laufenden Zwei-Knoten-Labor, dazu Kommandozeile, Dateien und HTTP-Schnittstelle.
Deutsch · EnglishSchema 1.3.0
Alle 55 Schemadateien, hier durchsuchbar und als Archiv. Jede Datei wird unter der
URL ausgeliefert, die ihre eigene $id nennt; Verweise lösen sich
unverändert auf.