// projekte / modbus

ClimateMonitor: Echtzeit-Klimadashboard für Modbus RTU

Liest Temperatur- und Feuchtesensoren (XY-MD02, XY-MD04 und ähnliche) über RS-485 aus und zeigt sie live an, mit Mollier-Diagramm, Verlauf, Benachrichtigungen und MQTT. Alles im Browser einstellbar. Open Source.

GitHub stars Latest release Tests Last commit License Buy Me a Coffee

// funktionen

Was es kann

Läuft auf einem Raspberry Pi oder einem Linux-, Windows- oder macOS-Rechner mit USB/RS-485-Schnittstelle. Gebaut mit Python, Dash und Plotly.

  • Mehrere Sensoren und Busse

    Mehrere USB/RS-485-Schnittstellen, jede mit mehreren Modbus-Slaves. Busse werden parallel gelesen. Ein Sensor, der nicht antwortet, hält die anderen nicht auf.

  • Live-Dashboard

    Jede Sekunde neue Werte. Zwei Ansichten: Board (jeder Sensor als Zeile mit 24-Stunden-Trend) und Meters (ein Panel pro Sensor). Dunkles und helles Theme, funktioniert auf Handy und Tablet.

  • Berechnete Werte

    Taupunkt, absolute Feuchte, Humidex und ein Komfortwert von 0 bis 6 nach dem Standard von Environment Canada.

  • Mollier-Diagramm

    Sättigungslinie, rF-Linien und Komfortzone, jeder Sensor als Punkt in eigener Farbe. Zoomen und Verschieben mit Plotly.

  • Verlauf und Replay

    Speicherung in SQLite mit einer Tabelle pro Tag und WAL-Modus, gebaut für jahrelangen Betrieb. Zeitraum wählen und durch die Zeit ziehen, um das Klima im Mollier-Diagramm nachzuverfolgen.

  • Benachrichtigungen

    Telegram und/oder E-Mail bei Grenzwertüberschreitung, für alle Sensoren oder pro Sensor, mit Alarmverzögerung und Hysterese. Auch bei Rückkehr in den Normalbereich und wenn ein Sensor offline geht.

  • MQTT

    Werte pro Sensor an einen MQTT-Broker, für Home Assistant, Node-RED oder SCADA. Mit TLS, Login und Last Will für den Online-Status.

  • Alles im Browser

    Busse, Sensoren, Grenzwerte, Zeitzone, Sprache und Aufbewahrungsdauer einstellen, ohne Dateien zu bearbeiten oder neu zu starten. Geschützt mit einem Admin-Passwort.

  • Läuft als Dienst

    Installationsskripte für Linux/Raspberry Pi (systemd) und Windows. Startet beim Hochfahren, auch ohne Anmeldung. Oberfläche in fünf Sprachen: NL, EN, DE, FR und ES.

// screenshots

So sieht es aus

Screenshots mit Demodaten.

  • Board-Ansicht, dunkles Theme
    Board-Ansicht, dunkles Theme
  • Meters-Ansicht, helles Theme
    Meters-Ansicht, helles Theme
  • Handy, dunkles Theme
    Handy, dunkles Theme
  • Handy, helles Theme
    Handy, helles Theme
  • Mollier-Diagramm mit allen Sensoren
    Mollier-Diagramm mit allen Sensoren
  • Verlaufs-Replay im Mollier-Diagramm
    Verlaufs-Replay im Mollier-Diagramm
  • Einstellungen: Anzeige, Busse und Sensoren
    Einstellungen: Anzeige, Busse und Sensoren
  • Einstellungen: Grenzwerte und Benachrichtigungen
    Einstellungen: Grenzwerte und Benachrichtigungen

// installation

Installieren

  • 01Herunterladen

    Benötigt: Python 3.10+ und ein Modbus-RTU-Sensor an RS-485. Repository klonen: git clone https://github.com/CervezaStallone/ClimateMonitor.git

  • 02Installieren

    Virtuelle Umgebung anlegen, Abhängigkeiten mit pip install -r requirements.txt installieren und .env.example nach .env kopieren.

  • 03Starten

    Mit python app.py starten und http://127.0.0.1:8050/ öffnen. In Settings das Admin-Passwort setzen und Busse und Sensoren hinzufügen.

  • 04Als Dienst

    Für Geräte im unbeaufsichtigten Betrieb: sudo ./deploy/linux/install-service.sh unter Linux oder Raspberry Pi, oder deploy\windows\install-service.ps1 als Administrator unter Windows.