Von English mit KI übersetzt ·
Wir betreiben das fast genauso an einigen kleinen Pumpstationen, daher ein paar Punkte dazu.Der Pi in der Mitte ist wegen Ihrer Ausfälle eine gute Entscheidung. Lassen Sie ihn als Gateway arbeiten: ein Gerät in Hermetry, das als „This device is a gateway“ markiert ist, und jeder Raum wird beim ersten Bericht des Pi zu einem untergeordneten Gerät. Node-RED sammelt die Raumnachrichten von Mosquitto, speichert sie während eines Internetausfalls in einer Datei oder einer kleinen SQLite-Tabelle und sendet sie dann mit ihren eigenen Zeitstempeln weiter:
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}}]}
Stellen Sie sicher, dass der Pi die richtige Uhrzeit hat (NTP nach dem Booten), bevor Sie irgendetwas mit einem ts versehen. Ein großer Rückstau wird etwas langsamer abgebaut, weil Wiederholungen ein eigenes Ratenlimit im Profil haben; das ist normal.Das Schalten des Warmwasserboilers kann über denselben Pi laufen. Ein Befehl an ein untergeordnetes Gerät gelangt über v1/gw/rpc zu seinem Gateway, daher abonniert Node-RED dieses Topic und leitet ihn an den richtigen Raum weiter. Alternativ machen Sie die Boilersteuerung zu einem eigenen Gerät, das sich direkt mit Hermetry verbindet. Für einen Boiler würde ich die direkte Verbindung wählen, weniger bewegliche Teile.Gateway-Topics sind in Devices behind a gateway beschrieben.
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.

