Patrick Schurig 41d59de971 docs(optimiseur): versions allemande et anglaise de la section et de « Comment le moteur décide »
Prose traduite pour Présentation, Protocole, Contrat, Écrire un
optimiseur et la page du moteur ; ancres de titres identiques dans les
trois langues. Les blocs générés sont identiques d'une langue à l'autre.
Les exemples gardent un motif en français, comme l'exige le contrat.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 13:09:09 +02:00

2.8 KiB

Vertrag

Der maschinenlesbare Vertrag beschreibt die Form jeder Nachricht des Protokolls: ein OpenRPC-Dokument, dessen Nachrichten in JSON Schema beschrieben sind, ergänzt um x-etm-…-Erweiterungen für das, was OpenRPC nicht ausdrücken kann — Transport, Rückfall-Automat, benannte Prüfregeln, Toleranzen, geschlossene Listen.

Die Engine bringt ihn mit, und ihre Tests wie die Konformitäts-Testsuite prüfen ihn auf beiden Seiten. Die Tabellen der Seite Protokoll werden daraus erzeugt.

Den Vertrag herunterladen

:material-download: etm-powersync-optimizer-protocol.openrpc.json herunterladen{ .md-button }

Die Website liefert die Datei unverändert, Byte für Byte, aus dem Standard-Branch des Engine-Repositorys. Ihr Steckbrief:

Contract
Title etm-powersync — protocole moteur ↔ optimiseur
Protocol version 1.1
Format OpenRPC 1.3.2, JSON Schema in components.schemas
License GPL-3.0-or-later
File etm-powersync-optimizer-protocol.openrpc.json
Size 67215 bytes
SHA-256 29dfe5a3c94a06e94e95042c0ceefd4d6264fcca44265faa676a06fac1c07ded
Methods Handshake · GetPlan · UpdateLearned
Schemas 47
Semantic rules 19
Extensions (document) x-etm-fallback-machine · x-etm-generated · x-etm-reason-params · x-etm-semantic-rules · x-etm-tolerances · x-etm-transport
Extensions (methods) x-etm-direction · x-etm-notification · x-etm-timeout-s

Der Vertrag Ihrer Box: NymeaEnergy.GetOptimizerProtocol

Der hier veröffentlichte Vertrag folgt der Entwicklung der Engine; Ihre Box kann eine ältere Version tragen. Um den Vertrag der installierten Engine zu erfahren, fragen Sie die Box: Die JSON-RPC-Methode NymeaEnergy.GetOptimizerProtocol liefert den, den sie mitbringt. Dieser ist für einen an diese Box angebundenen Optimierer maßgeblich.

Die Methode ist in INTERFACE.md im Engine-Repository beschrieben, zusammen mit den übrigen NymeaEnergy.*-Methoden des Optimierers (Verbindungspunkt, gemeinsames Geheimnis, Zustand). Die Verbindung zur API beschreibt die Seite JSON-RPC-API.

Nachrichten prüfen

Das Engine-Repository enthält einen Validator, tools/etm-powersync-schema-check (Python, Standardbibliothek): Er prüft eine Nachricht, eine vollständig aufgezeichnete Sitzung oder Aufzeichnungen gegen den Vertrag und wendet auf Wunsch die benannten Prüfregeln an.