Überblick
Wie SmartBeet funktioniert
Drei Schichten, Server, Hub und Module. Jede übersteht den Ausfall der darüberliegenden. Der Server plant, der Hub regelt, die Module schützen sich selbst.
Auf dieser Seite
Drei Schichten
| Schicht | Was es ist | Aufgabe |
|---|---|---|
| Server | Docker im eigenen Homelab | Oberfläche, Profile, Regeln, Wetter, Verlauf, Alarme, Firmware-Updates |
| Hub | ein ESP32-S3 je Anlage | Gateway zwischen Bus und Server, Regler, Sicherheitsschicht, Modulverwaltung |
| Module | ESP32-C3 am CAN-Bus | Sensoren lesen, Ausgänge schalten, Strom und Spannung messen, bei Überstrom abschalten |
Was wo läuft
Je näher eine Aufgabe an der Hardware liegt, desto schneller und desto einfacher ist sie. Was sofort reagieren muss, sitzt im Modul. Was Wochen an Daten braucht, sitzt auf dem Server.
| Ort | Aufgabe | Reaktionszeit |
|---|---|---|
| Modul | Überstrom-Abschaltung, maximale Laufzeit, sicherer Zustand ohne Hub | sofort |
| Hub | Regler, Plausibilität der Messwerte, Wirkungsüberwachung, Ersatzwerte, Verriegelungen | Sekunden bis Minuten |
| Server | Drift und schleichende Veränderungen, Benachrichtigung, Verlauf, eigene Regeln | Stunden bis Wochen |
Wer mit wem spricht
Es gibt zwei Strecken mit zwei Protokollen. Dazu kommt der Browser.
| Strecke | Protokoll | Inhalt |
|---|---|---|
| Module und Hub | CAN, binär | Messwerte, Stellbefehle, Ereignisse, Lebenszeichen, Firmware in Blöcken |
| Hub und Server | MQTT über TLS, JSON | Zustände, Befehle, Konfiguration, Sollwerte, Ereignisse |
| Browser und Server | HTTPS und WebSocket | Oberfläche und Live-Werte |
Module haben kein Netzwerk. Der Browser spricht nie MQTT. Verläufe liegen in der Datenbank. Was über ein Netz geht, ist seit 0.5.0 verschlüsselt, auch im Heimnetz. Ausnahmen sind der CAN-Bus und das offene Einrichtungs-WLAN, solange ein Hub oder eine Anzeige eingerichtet wird. Die Einzelheiten stehen unter Protokoll.
Nichts hat eine feste Anzahl
Kammern, Tanks, Pumpen, Heizungen und Sensoren sind Listen beliebiger Länge. Jede Funktion ist optional. Fehlt die Heizung, gibt es keinen Heizregler, und nichts anderes stört sich daran. Das Beet mit zwei Kammern ist nur eine Konfiguration.
- Beliebig viele Zonen, jede mit eigenem Profil.
- Beliebig viele Aktoren je Aufgabe. Mehrere Aktoren derselben Aufgabe arbeiten zusammen oder gestaffelt.
- Beliebig viele Sensoren je Messgröße. Der Regler nutzt Mittelwert, Minimum oder Maximum. Ein ausgefallener Sensor wird herausgerechnet.
- Geteilte Ressourcen. Ein Tank versorgt mehrere Zonen. Sein Füllstand sperrt alle Pumpen, die aus ihm fördern.
- Mehr Ausgänge bedeuten ein weiteres Modul am Bus, keine Änderung an der Software.
Alles lokal
Der Server läuft vollständig im eigenen Netz. Schriften, Symbole und Skripte der Oberfläche liefert er selbst aus. Die einzige Verbindung nach außen ist die Wettervorhersage von Open-Meteo. Sie braucht keinen Schlüssel, die Koordinaten werden auf zwei Nachkommastellen gerundet, und sie lässt sich je Standort abschalten. Dann entfallen die wetterabhängigen Funktionen.
Für den Zugriff von unterwegs ist ein VPN vorgesehen (WireGuard), keine Portfreigabe ins Internet.
In diesem Bereich
- 01 Architektur Warum ein Hub mit Modulbus und ein Server im Homelab. Die Bausteine des Servers, das Datenmodell und der Aufbau der Firmware.
- 02 Regelung Vier Ebenen der Logik, sieben Reglertypen mit ihren Voreinstellungen und die feste Reihenfolge, in der Sicherheit, Handbetrieb, Regeln und Regler gelten.
- 03 Ausfälle Server weg, Netzwerk weg, Hub weg, Kabel ab, Strom weg. Was in jedem Fall weiterläuft, was abschaltet und was nach der Rückkehr geschieht.
- 04 Garten SmartBeet steuert auch offene Beete im Garten, ohne Deckel und ohne Glas. Geregelt wird die Bewässerung, bei Frost kommt eine Warnung.
- 05 Protokoll MQTT über TLS zwischen Hub und Server, CAN zwischen Modulen und Hub. Topics, Nachrichten, Kennungen, Übernahme von Geräten und Blockübertragung.