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
- Zeitraffer auf 60 stellen.
- Fehler „Lüfter blockiert“ auf den Lüfter von Kammer A einspielen.
- Den Lüfter in der Oberfläche von Hand einschalten.
- Zusehen: Störung nach 10 Sekunden Anlagenzeit, drei Versuche, gesperrt. Mit Zeitraffer dauert das keine zehn Sekunden.
- Fehler aufheben, in der Oberfläche freigeben. Der Lüfter läuft wieder.
Einen Sturm vorführen
- In der Konsole das Wetter übersteuern: Wind 4 m/s, Böen 9 m/s.
- Zusehen: Der Windschutz schließt die Deckel und meldet eine Warnung.
- 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.