RBgrid v1.2.1

La dernière version dont ce blog vous a parlé était v1.1.7. Trois versions ont été publiées depuis, et ensemble elles changent ce que le hub fait de l'argent : il peut désormais suivre le prix du marché pour votre zone, période par période, et il conserve le prix utilisé à côté de l'énergie à laquelle il s'applique.

Obtenir la mise à jour

Settings → Hub firmware, téléversez main_release.bin depuis la dernière version — main_release_s3.bin sur un ESP32-S3 — puis installez le rbgrid-ui_<version>.zip correspondant. Une mise à jour sans fil depuis v1.1.x conserve vos réglages, vos points, votre tarif, vos jetons et votre historique.

⚠️ Si vous êtes en v1.2.0 et utilisez des prix dynamiques, mettez à jour. En v1.2.0, les mémoires de prix partageaient la petite mémoire de réglages du hub avec l'heure en cours et les repères des compteurs d'énergie ; une fois celle-ci pleine, un redémarrage pouvait faire perdre une partie de l'heure en cours de mesure. La v1.2.1 déplace ces données dans le système de fichiers et libère cette mémoire au premier démarrage. Les prix, les réglages et l'historique sont conservés.

Le hub peut suivre un prix de marché

Jusqu'ici, le hub valorisait votre énergie d'après le tarif que vous aviez saisi : zones, redevances, TVA. À partir de v1.2.0, il peut prendre pour chaque période de 15 minutes le prix d'une source de marché (market price), et valoriser l'énergie de cette période à son propre prix.

Votre contrat garde son importance. Il sert de solution de repli pour toute période qu'aucun prix ne couvre, et sur une source spot, ses taxes au kWh, son tarif d'acheminement et sa contribution, ainsi que sa TVA, s'ajoutent au prix du marché. Une source qui publie déjà le prix de détail — une source tout compris (all-in) — est prise telle quelle, si bien que rien n'est compté deux fois.

Les sources que le hub interroge : Energy-Charts (Fraunhofer ISE, les zones publiées sous CC BY 4.0), Nord Pool, Elpriset just nu (SE), Hva koster strømmen (NO, par heure), EnergyZero (NL, tout compris) et Octopus Agile (UK, tout compris). Home Assistant peut aussi transmettre des prix, pour un fournisseur qu'aucune de ces sources ne couvre. Chaque source porte la mention d'attribution que sa licence exige, et le hub transmet ce texte avec le prix.

Vous choisissez une source principale et, si vous le voulez, une source de secours ; là où aucune des deux n'a de prix, c'est le tarif qui valorise la période. Votre contrat s'ajoute par-dessus comme un facteur et une majoration, avec des planchers pour l'achat et la vente, trois façons de valoriser l'export, et une tarification au prix moyen de l'heure pour les contrats réglés à l'heure. Les prix négatifs sont conservés tels quels, sauf si vous fixez un plancher.

Et la partie qui vaut la peine : chaque prix que le hub a retenu est journalisé par période de 15 minutes, avec la source dont il provient, pendant 40 jours — sur la page Prices, en téléchargement CSV, et via l'API. Un coût que vous pouvez remonter jusqu'au prix qui l'a produit, plutôt que de le croire sur parole.

⚠️ Le hub ne convertit aucune devise. Votre zone de prix et votre plan tarifaire doivent être libellés dans la même devise.

Le format de l'enregistrement d'historique est inchangé : ce qui lit déjà le hub n'a besoin d'aucune modification.

→ Comment fonctionnent les prix dynamiques

Créneaux bon marché, publiés pour vos automatisations

Jusqu'à huit règles signalent les périodes qui vous intéressent : sous un prix donné, avec une hystérésis pour éviter les oscillations ; les N périodes les moins chères d'une journée ou d'une plage horaire ; ou N périodes avant un moment où quelque chose doit être fait. Elles fonctionnent aussi sur un plan à tarifs horaires fixes, pas seulement avec des prix de marché.

⚠️ Le hub ne commute rien lui-même. Il publie une notification — le prix actuel, le rang de cette période dans la journée, les créneaux ouverts, et deux indicateurs — et c'est autre chose qui décide : une automatisation Home Assistant, un répartiteur, une borne de recharge. Elle est disponible à GET /api/v1/signal et sur le sujet MQTT conservé rbgrid/<mac>/price, rafraîchie à chaque période de 15 minutes et dès que quelque chose change.

→ Savoir quand l'énergie est la moins chère

Pointes d'import

Pour les tarifs qui facturent la puissance la plus forte que vous avez appelée, et pas seulement l'énergie consommée, le hub conserve, pour chaque cycle de facturation, l'import le plus élevé sur 15 minutes et sur l'heure à l'entrée du réseau, ainsi que les journées les plus chargées — avec un jour de début que vous choisissez entre 1 et 28.

Mesure uniquement : aucune somme n'est ajoutée à un chiffre, et les pointes fonctionnent que vous utilisiez ou non des prix dynamiques.

→ Pointes d'import

L'ESP32-S3, et des nœuds qui gardent cinq jours

v1.1.8 a ajouté la prise en charge de l'ESP32-S3 sur le module N16R8, aux côtés de l'ESP32-WROVER. Son image est distincte — main_release_s3.bin — et le jeu USB se trouve dans son propre zip.

Les nœuds distants ont reçu le firmware de nœud 1.5 dans la même version :

  • Les périodes de 15 minutes terminées sont conservées dans la mémoire flash du nœud jusqu'à ce que le hub les ait reçues — environ cinq jours, et elles survivent à une coupure de courant sur le nœud.
  • Un nœud ne suit que le hub auquel il est appairé. En 1.4, un second hub RBgrid sur le même canal Wi-Fi pouvait faire perdre au nœud sa synchronisation d'horloge pendant que l'énergie continuait d'arriver. Un nœud appairé en 1.4 n'a pas besoin d'être appairé à nouveau.
  • Les quatre entrées d'un nœud remontent des valeurs en direct, et les réglages de ses points survivent à un redémarrage.
  • Une entrée qui a du courant sans tension associée n'inscrit aucune énergie — le hub ne l'invente pas à partir d'une tension nominale — et affiche quand même le courant en direct.

⚠️ Un nœud se reprogramme par USB et n'a pas de mise à jour sans fil. Le hub peut être mis à jour sans fil ; le nœud ne le peut pas, et la mise à jour vers 1.5 écrit les trois fichiers, car la 1.5 ajoute la partition de mémoire flash où sont stockées les périodes. Placez un nœud à un endroit où vous pourrez encore le joindre avec un câble.

v1.1.8 permet aussi de marquer un point comme mesuré à l'intérieur d'un autre — un chargeur placé dans un sous-tableau mesuré — afin que l'application cesse de soustraire deux fois cette charge du chiffre non mesuré. Les totaux du hub sont inchangés : ils sont pris à l'entrée. Et mqtts:// vérifie désormais les dates du certificat du broker : un certificat expiré, ou pas encore valide, est refusé.

À partir de v1.2.0, un nœud qui ne répond plus, puis revient, apparaît sous forme de lignes dans le journal d'événements du hub lui-même — lisibles sans broker.

→ Nœuds distants

Une chose de plus : RBgrid fonctionne désormais de deux façons

En plus du firmware présenté dans cet article, le même cœur de mesure est publié comme package ESPHome : le hub devient un appareil que Home Assistant gère, sans application web ni broker à faire tourner. Mêmes mesures, mêmes tarifs, mêmes prix dynamiques. L'intégration Home Assistant s'installe en l'ajoutant dans HACS comme custom repository — elle ne figure pas dans la liste par défaut, donc une recherche dans HACS ne donne rien tant que vous ne l'avez pas ajoutée.

→ Faire tourner le hub dans Home Assistant

Les trois versions

v1.1.8 10 nov. 2026 ESP32-S3, firmware de nœud 1.5, points imbriqués dans d'autres points · notes de version
v1.2.0 10 nov. 2026 prix dynamiques, créneaux bon marché, pointes d'import · notes de version
v1.2.1 10 nov. 2026 la correction ci-dessus ; à mettre à jour si vous utilisez des prix dynamiques · notes de version

La liste complète des modifications se trouve dans CHANGELOG.md.