Le miroir GitHub n'est pas encore synchronisé : les liens pointent sur git.etm-powersync.fr. INTERFACE.md n'est plus dans le dépôt public : la forme des méthodes NymeaEnergy.* se lit sur la box (JSONRPC.Introspect) ; GetOptimizerStatus n'est pas réservée à l'administrateur. Orthographe anglaise unifiée : optimizer, optimization. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ry3vBrJT1tHdxAaXdCWi6L
54 lines
2.7 KiB
Markdown
54 lines
2.7 KiB
Markdown
# Vertrag
|
|
|
|
Der **maschinenlesbare Vertrag** beschreibt die Form jeder Nachricht des
|
|
[Protokolls](protocole.md): ein [OpenRPC](https://spec.open-rpc.org/)-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](protocole.md) werden daraus erzeugt.
|
|
|
|
## Den Vertrag herunterladen {#telecharger}
|
|
|
|
[:material-download: `etm-powersync-optimizer-protocol.openrpc.json` herunterladen](etm-powersync-optimizer-protocol.openrpc.json){ .md-button }
|
|
|
|
Die Website liefert die Datei **unverändert**, Byte für Byte, aus dem Standard-Branch des
|
|
Engine-Repositorys. Ihr Steckbrief:
|
|
|
|
<!-- BEGIN GENERATED: __optimizer_contract__ -->
|
|
|
|
| | 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`](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` |
|
|
|
|
<!-- END GENERATED -->
|
|
|
|
## Der Vertrag Ihrer Box: `NymeaEnergy.GetOptimizerProtocol` {#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.
|
|
|
|
Sie gehört zu den `NymeaEnergy.*`-Methoden des Optimierers (Verbindungspunkt, gemeinsames
|
|
Geheimnis, Zustand); ihre genaue Form liefert die Box selbst über `JSONRPC.Introspect`. Die Verbindung zur API
|
|
beschreibt die Seite [JSON-RPC-API](../integrations/jsonrpc-api.md).
|
|
|
|
## Nachrichten prüfen {#valider}
|
|
|
|
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.
|