Software

Der Simulator

Wer SmartBeet ausprobieren will, braucht keine Hardware. Der Simulator meldet sich beim Server wie ein echter Hub und bringt eine ganze Anlage mit.

Auf dieser Seite

Was er ist

Der Simulator spricht über MQTT genau das Protokoll eines echten Hubs und setzt dasselbe Verhalten um wie die Firmware. Dazu rechnet er ein physikalisches und elektrisches Modell der Anlage. Er gehört zur Entwicklungsumgebung und hat eine eigene Konsole im Browser.

Dienst in der Entwicklungsumgebung Adresse Wofür
Oberfläche http://localhost:8080 SmartBeet selbst
Simulator-Konsole http://localhost:4100 simulierte Anlage, Fehler einspielen, Module anstecken
Mail-Fänger http://localhost:8025 fängt alle Mails ab, nichts verlässt den Rechner
ntfy http://localhost:8090 Push-Nachrichten aufs Handy

Was sich damit tun lässt

  • das Wetter übersteuern: Temperatur, Feuchte, Regen, Bewölkung, Wind und Böen
  • die Zeit raffen, bis 600-fach
  • die Anlage umbauen: Vorlage, Kammern, Tanks und Aktoren, Ventile je Kammer, Windmodul, Heizmatte und Lüfter im Schaltkasten, dazu die Spannung je Verbraucherart: 12 V, 24 V oder 230 V am Relais
  • ein Modul anstecken oder abziehen, um die Übernahme zu testen, auch mit einer Liste von Sensorchips. Das simulierte Modul erkennt sie wie die Firmware und schlägt seinen Typ vor.
  • Werte setzen, allmählich oder als Sprung, etwa die Bodenfeuchte einer Kammer
  • mehrere Hubs betreiben
  • Fehler einspielen

Fehlerarten

Bereich Fehler
Sensoren eingefroren, ausgefallen, außerhalb des Bereichs, driftet, springt, falsch kalibriert, anderer Sensor angesteckt
Lüfter und Antriebe Lüfter blockiert, Klappe klemmt, Endkontakt defekt, Antrieb läuft anders als kalibriert, eingebauter Endschalter fehlt, Motortreiber meldet Fehler, Modul übernimmt die Motordaten nicht
Ausgänge allgemein Überstrom oder Kurzschluss, kein Verbraucher
Heizungen Heizung defekt (Strom, keine Wärme), Heizung ohne Strom
Wasser Pumpe läuft trocken, Schlauch verstopft, Leck, Nachfüllventil hängt offen, Nachfüllventil hängt zu, Tank leer, Wasseranschluss abgedreht, Füllstandsensor beschlagen
Module vom Bus getrennt, schlechte Steckverbindung
Hub und Versorgung Hub offline, Netzwerk weg, Unterspannung, Fehlerstrom
Updates Übertragung bricht ab, neue Firmware startet nicht, Hub startet nach Update nicht

Zu jeder Fehlerart nennt der Simulator, woran der Hub sie erkennt.

Sensormodule und Sammelmodule

Seit Version 0.10.0 baut der Simulator Anlagen aus Sensormodulen, ein Modul je Sensorart. Das Hochbeet hat damit 22 Module statt 13, der Garten 13 statt 9, jeweils mit dem Hub. Simulierte Sammelmodule aus einem älteren Stand teilt er in ihre Nachfolger auf. Kanäle und Ausgänge ziehen dabei mit ihrer Kennung um, Verlauf, Regler, Verriegelungen und Modell bleiben. Ein Hub, der dabei über 64 Module käme, behält seine Sammelmodule.

Die Anlage eines neuen simulierten Hubs bringt Motordaten und Kalibrierung der Antriebe mit, damit die Vorführung sofort fährt. Ein später angestecktes Antriebsmodul kommt leer, wie am echten Beet. Die Konsole zeigt außerdem das Statuslicht des Hubs und rechnet die erwartete Versorgung und „nicht gemessen“ wie ein echter Hub.

Eine Störung vorführen

  1. Zeitraffer auf 60 stellen.
  2. Fehler „Lüfter blockiert“ auf den Lüfter von Kammer A einspielen.
  3. Den Lüfter in der Oberfläche von Hand einschalten.
  4. Zusehen: Störung nach 10 Sekunden Anlagenzeit, drei Versuche, gesperrt. Mit Zeitraffer dauert das keine zehn Sekunden.
  5. Fehler aufheben, in der Oberfläche freigeben. Der Lüfter läuft wieder.

Einen Sturm vorführen

  1. In der Konsole das Wetter übersteuern: Wind 4 m/s, Böen 9 m/s.
  2. Zusehen: Der Windschutz schließt die Deckel und meldet eine Warnung.
  3. Wetter wieder auf automatisch stellen. Nach der Haltezeit öffnen die Regler wieder.

Wie er rechnet

Fehler wirken auf Physik, Elektrik und Sensoren, nie auf die Logik des Hubs. Der simulierte Hub sieht die Anlage nur über den Modulbus, also nur Messwerte und Ereignisse der Module. So muss er Fehler genauso erkennen wie ein echter.

Teil Schrittweite
Module und Elektrik 100 ms, bei hohem Strom 10 ms
Hub 200 ms
Physik und Abtastung 1 s

Ein Hochbeet rechnet etwa 3500-fach schneller als Echtzeit.

Grenzen des Modells

Der Simulator ist plausibel, nicht exakt.

  • Eine Kammer ist ein gut durchmischtes Luftvolumen mit zwei Bodenschichten. Keine Schichtung, keine Wärmeleitung zwischen Nachbarkammern.
  • Offene Beete rechnet er mit Außenluft, voller Sonne und vollem Regen. Wind trocknet den Boden.
  • Antriebe haben unterschiedliche Laufzeiten für Auf und Zu.
  • Holz, Boden und Blätter puffern Wasserdampf pauschal. Eis und Schnee werden nicht gerechnet.
  • Pflanzen haben festen Bewuchs. Es gibt kein Wachstum.
  • Das Wetter hat Tagesgang, Jahresgang und langsame Zufallsgrößen, keine echte Wetterlage.
  • Verbraucher sind ohmsch, Anlaufströme fehlen.
  • Der Bus ist ideal: keine Übertragungsfehler, keine Latenz. CAN wird nicht simuliert.

Bleibt erhalten

Der Simulator bleibt dauerhaft als Testwerkzeug: zum Prüfen von Regeln, zum Entwickeln der Oberfläche und zum Vorführen. Die Integrationstests des Backends laufen gegen den echten Simulator.

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