Traduit de English par IA ·
Nous faisons à peu près la même chose dans quelques petites stations de pompage, donc quelques remarques à ce sujet.Le Pi au milieu est un bon choix compte tenu de vos coupures. Faites-le fonctionner comme passerelle : un appareil dans Hermetry marqué « This device is a gateway », et chaque salle devient un appareil enfant dès la première fois que le Pi la signale. Node-RED récupère les messages des salles depuis Mosquitto, les conserve dans un fichier ou une petite table SQLite pendant la coupure d’Internet, puis les envoie avec leurs propres horodatages :
topic v1/gw/telemetry
{"Room 4": [{"ts": 1793000000000, "values": {"temperature": 22.1, "humidity": 51, "door_open": 0}},
{"ts": 1793000300000, "values": {"temperature": 22.0, "humidity": 51, "door_open": 1}}]}
Assurez-vous que le Pi a la bonne heure (NTP au démarrage) avant d’ajouter un ts à quoi que ce soit. Un gros arriéré se vide un peu plus lentement, car les rejeux ont leur propre limite de débit dans le profil, c’est normal.La commande du chauffe-eau peut passer par le même Pi. Une commande envoyée à un appareil enfant descend vers sa passerelle sur v1/gw/rpc, donc Node-RED s’y abonne et la transmet à la bonne salle. Ou bien faites du contrôleur du chauffe-eau un appareil à part qui se connecte directement à Hermetry. Pour un chauffe-eau, je privilégierais la connexion directe, avec moins de pièces mobiles.Les topics de passerelle sont décrits dans Devices behind a gateway.
We run nearly this at a few small pump stations, so a couple of things from that.
The Pi in the middle is a good call because of your outages. Have it act as a gateway: one device in Hermetry marked « This device is a gateway », and each room becomes a child device the first time the Pi reports it. Node-RED collects the room messages from Mosquitto, keeps them in a file or a small SQLite table while the internet is down, and then sends them on with their own timestamps:
topic v1/gw/telemetry
{"Room 4": [{"ts": 1793000000000, "values": {"temperature": 22.1, "humidity": 51, "door_open": 0}},
{"ts": 1793000300000, "values": {"temperature": 22.0, "humidity": 51, "door_open": 1}}]}
Make sure the Pi has the right time (NTP after boot) before you put a ts on anything. A big backlog drains a bit slower because replays have their own rate limit on the profile, that’s normal.
Geyser switching can go through the same Pi. A command sent to a child device comes down to its gateway on v1/gw/rpc, so Node-RED subscribes to that and passes it on to the right room. Or make the geyser controller its own device that connects to Hermetry directly. For a geyser I’d go direct, fewer moving parts.
Gateway topics are described in Devices behind a gateway.

