# Optimiseur EN COURS Le protocole entre le moteur et un optimiseur est publié (version 1.1). La connexion d'un optimiseur est en test sur notre installation de test ; la box n'en a pas besoin pour fonctionner. ## À quoi sert un optimiseur Les [règles du moteur](../fonctionnalites/moteur.md) décident sur le présent : le surplus de cette minute, réparti selon vos priorités. Un optimiseur regarde plus loin. À partir des prévisions que le moteur lui transmet — production PV, consommation de base, tarif saisi — il propose un **plan par créneaux** sur plusieurs heures : décaler le chauffe-eau vers le pic de production prévu, garder de la marge pour la recharge du soir, etc. ## L'optimiseur conseille, le moteur décide - Le moteur n'exécute que le **créneau en cours** du plan. Le reste est affiché comme prévision, et redemandé au cycle suivant. - Chaque consigne est **plafonnée** par les bornes de la charge (plancher, plafond, verrous anti-battement) et par la **boucle de sécurité** en temps réel, qui reste au moteur et prime sur tout. Un optimiseur ne peut pas contourner un verrou. - Chaque action doit porter son **motif**. Une action sans motif est rejetée. - Un plan mal formé, ou qui vise une charge inconnue, est refusé en entier. Un optimiseur défaillant ne peut donc, au pire, que proposer une mauvaise répartition — bornée par le moteur. ## La box fonctionne sans optimiseur Optimiseur absent, muet, qui s'abstient, plan expiré ou refusé : le moteur revient à ses **règles** (`rules`) pour le cycle, sans interruption du pilotage. L'application indique à tout moment quelle stratégie pilote. La version Community fonctionne entièrement ainsi. ## Ses données ne viennent que du moteur - C'est le moteur qui se connecte à l'optimiseur, jamais l'inverse : la box n'ouvre aucun port. - L'optimiseur tourne sur la box (socket local) ou sur une machine de votre réseau local (TCP). Sur le réseau local, un secret partagé (token) est recommandé. - Il ne reçoit **que** le contexte envoyé par le moteur, prévisions comprises : il n'appelle ni service météo ni fournisseur de tarif, et n'ouvre aucune connexion vers l'extérieur. - Ce qu'il apprend reste sur le site. ## Qui peut écrire un optimiseur Tout le monde. Le protocole est ouvert et décrit par un [contrat machine](contrat.md) publié sous GPL-3.0. Un **optimiseur de référence** libre et une **suite de conformité** permettent d'écrire le sien et de le vérifier contre le vrai moteur — voir [Écrire un optimiseur](ecrire.md). ## L'optimiseur ETM ETM-Schurig propose son propre optimiseur, propriétaire, inclus dans l'édition Pro. Il se branche par ce même protocole, avec les mêmes limites : il conseille, le moteur décide. Au handshake, il s'annonce `etm-optimizer` ; l'optimiseur de référence s'annonce `powersync-optimizer`. ## Dans cette section - [Protocole](protocole.md) — transport, handshake, contexte, plan, repli, règles de validation. - [Contrat](contrat.md) — le fichier OpenRPC qui fait foi sur la forme des messages. - [Écrire un optimiseur](ecrire.md) — optimiseur de référence et suite de conformité.