Ü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

Server im Homelab · Docker Oberfläche Browser, Handy Backend Regeln, Profile, Alarme Datenbank Stammdaten, Verläufe Broker verteilt Nachrichten MQTT über WLAN oder Kabel Hub · ESP32-S3 Verbindet Bus und Server Gateway · Regler · Sicherheit · Modulverwaltung Modulbus · 24 V + CAN CO₂ CO₂ der Kammer ein Sensor je Modul Lichtsensor Beleuchtungs- stärke Bodenfeuchte Bodenfeuchte Bodentemperatur Leistung DC Lüfter, Pumpe Licht Antrieb Klappen Endschalter Weitere Module werden an das Ende des Kabels gesteckt.
Aufbau: Dienste auf dem Server, darunter der Hub, darunter die Module an einem gemeinsamen Kabel.
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.

    Durchsucht alle Seiten. Die Suche läuft im Browser, nichts wird übertragen.