Patrick Schurig eb7d727d17 docs(optimiseur): liens vers le moteur sur Gitea, plus de renvoi à INTERFACE.md, « optimizer » en anglais
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
2026-10-18 13:48:22 +02:00

2.6 KiB

Contrat

Le contrat machine décrit la forme de chaque message du protocole : un document OpenRPC dont les messages sont en JSON Schema, complété par des extensions x-etm-… pour ce qu'OpenRPC ne sait pas dire — transport, machine de repli, règles de validation nommées, tolérances, listes fermées.

Le moteur l'embarque, et ses tests comme ceux de la suite de conformité le vérifient des deux côtés. Les tableaux de la page Protocole en sont générés.

Télécharger le contrat

:material-download: Télécharger etm-powersync-optimizer-protocol.openrpc.json{ .md-button }

Le site sert le fichier tel quel, octet pour octet, depuis la branche par défaut du dépôt du moteur. Sa fiche :

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

Le contrat de votre box : NymeaEnergy.GetOptimizerProtocol

Le contrat publié ici suit le développement du moteur ; votre box peut porter une version antérieure. Pour connaître le contrat du moteur installé, demandez-le à la box : la méthode JSON-RPC NymeaEnergy.GetOptimizerProtocol rend celui qu'elle embarque. C'est celui-là qui fait foi pour un optimiseur branché sur cette box.

Elle fait partie des méthodes NymeaEnergy.* de l'optimiseur (point de connexion, secret partagé, état) ; la box en rend la forme exacte par JSONRPC.Introspect. La connexion à l'API est décrite sur la page API JSON-RPC.

Valider des messages

Le dépôt du moteur fournit un validateur, tools/etm-powersync-schema-check (Python, bibliothèque standard) : il juge un message, une session complète enregistrée ou des traces contre le contrat, et applique sur demande les règles de validation nommées.