Überblick

Software

Der Server läuft mit Docker im eigenen Homelab. Die Oberfläche ist eine Web-App, die sich auch auf dem Handy installieren lässt.

Auf dieser Seite
Live-Modell der Beispielanlage: Wasseranschluss und Tank mit 68 %, Holz-Hochbeet mit Kammer A und Kammer B unter geöffneten Deckeln, Schaltkasten und Außenstation. Live-Modell der Beispielanlage: Wasseranschluss und Tank mit 68 %, Holz-Hochbeet mit Kammer A und Kammer B unter geöffneten Deckeln, Schaltkasten und Außenstation.
Die Übersicht zeigt die Anlage als Zeichnung mit Live-Werten. Hier mit Beispieldaten.

Seiten der Oberfläche

Seite Inhalt
Übersicht Live-Modell der Anlage, Kernwerte je Kammer, Tank, Wetter mit Wind und Böen, offene Alarme
Kammer Verläufe, Sollwert gegen Istwert, Bedienung von Hand, Betriebsart Normal oder Frostschutz
Geräte Hubs und Module übernehmen, benennen, Zonen zuweisen, kalibrieren, aktualisieren, freigeben
Regeln Editor, Testlauf, Protokoll
Profile Pflanzenprofile verwalten und Zonen zuweisen
Alarme aktiv, quittiert, Verlauf

Bedienen

Ein Bauteil antippen zeigt seine Kanäle: Stellwert, Strom, Spannung, Zustand und die zugewiesene Rückmeldung. Mit Berechtigung lässt es sich von Hand schalten, mit Dauer. Danach übernimmt der Regler von selbst wieder.

Warum? Für jeden Ausgang und Zeitpunkt steht die Begründung der letzten Änderung da:

14:03 Uhr: Lüfter A auf 60 %. Regler „Lüften Kammer A“: Temperatur 27,4 °C über Sollwert 24,0 °C.

Tank auffüllen: Im Modell auf den Tank klicken, Ziel und Höchstdauer wählen, starten.

Geräte: Je Ausgang Rolle, Kammer, Tank, Grenzwerte, Nennspannung und die externe Rückmeldung. Hier werden neue Module mit Modultyp und Ort der Sensoren übernommen, Motordaten der Antriebe eingetragen und Sensoren und Antriebe kalibriert. Gesperrte Ausgänge zeigen den Grund und werden hier freigegeben. „Blinken“ lässt ein Modul vor Ort finden: Seine Leuchte blinkt 5 Minuten, „Blinken beenden“ hört vorher auf.

Was dazugehört

Baustein Aufgabe
Backend Geräteverwaltung, Übernahme, Messwerte, Regeln, Alarme, Mail, Push, Benutzer, Firmware
Datenbank PostgreSQL mit TimescaleDB, migriert beim Start von selbst
Broker Mosquitto, mit eigenen Zugangsdaten je Hub
ntfy Push-Nachrichten aufs Handy, selbst gehostet
Simulator ersetzt Hub und Module, nur in der Entwicklungsumgebung

Betrieb und Entwicklung

Es gibt zwei Arten zu starten.

Art Befehl Enthält
Betrieb docker compose up --build -d Datenbank, Broker, ntfy, Backend, Oberfläche
Entwicklung dev.bat unter Windows oder pnpm dev:up zusätzlich Simulator, einen Mail-Fänger und offene Ports für Datenbank und Backend

Die Entwicklung legt eine zweite Compose-Datei über die erste. Ein schlichtes docker compose up startet also nie aus Versehen den Simulator.

Die Installation steht unter Server installieren.

Geprüft

Bereich Wie
Protokoll Unit-Tests
Backend Integrationstests gegen Datenbank, Broker, Mail-Fänger und den echten Simulator
Simulator Integrationstests gegen einen Broker
Oberfläche Unit-Tests, dazu Bildschirmfotos aller Szenarien des Modells
Ganze Anlage End-to-End-Tests über die Oberfläche mit Playwright
Firmware Tests am Rechner im Container

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