// projecten / modbus

ClimateMonitor: realtime klimaatdashboard voor Modbus RTU

Leest temperatuur- en vochtigheidssensoren (XY-MD02, XY-MD04 en vergelijkbaar) uit over RS-485 en toont ze live, met Mollier-diagram, historie, meldingen en MQTT. Alles in te stellen in de browser. Open source.

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

// functies

Wat het doet

Draait op een Raspberry Pi, Linux-, Windows- of macOS-machine met een USB/RS-485-interface. Gebouwd met Python, Dash en Plotly.

  • Meerdere sensoren en bussen

    Meerdere USB/RS-485-interfaces, elk met meerdere Modbus-slaves. Bussen worden parallel uitgelezen. Een sensor die niet antwoordt houdt de rest niet op.

  • Live dashboard

    Elke seconde nieuwe waarden. Twee weergaven: Board (elke sensor als rij met 24-uurstrend) en Meters (een paneel per sensor). Donker en licht thema, werkt op telefoon en tablet.

  • Berekende waarden

    Dauwpunt, absolute vochtigheid, Humidex en een comfortscore van 0 tot 6 volgens de norm van Environment Canada.

  • Mollier-diagram

    Verzadigingslijn, RV-lijnen en comfortzone, met elke sensor als punt in een eigen kleur. Zoomen en pannen met Plotly.

  • Historie en replay

    Opslag in SQLite met een tabel per dag en WAL-modus, gebouwd om jaren door te draaien. Kies een periode en sleep door de tijd om het klimaat terug te zien in het Mollier-diagram.

  • Meldingen

    Telegram en/of e-mail als een grens wordt overschreden, voor alle sensoren of per sensor, met alarmvertraging en hysterese. Ook bij herstel en als een sensor offline gaat.

  • MQTT

    Waarden per sensor naar een MQTT-broker, voor Home Assistant, Node-RED of SCADA. Met TLS, login en een last will voor de online-status.

  • Alles in de browser

    Bussen, sensoren, grenzen, tijdzone, taal en bewaartermijn instellen zonder bestanden te bewerken of te herstarten. Beveiligd met een adminwachtwoord.

  • Draait als service

    Installscripts voor Linux/Raspberry Pi (systemd) en Windows. Start bij het opstarten, ook zonder in te loggen. Interface in vijf talen: NL, EN, DE, FR en ES.

// screenshots

Zo ziet het eruit

Screenshots met demonstratiedata.

  • Board-weergave, donker thema
    Board-weergave, donker thema
  • Meters-weergave, licht thema
    Meters-weergave, licht thema
  • Telefoon, donker thema
    Telefoon, donker thema
  • Telefoon, licht thema
    Telefoon, licht thema
  • Mollier-diagram met alle sensoren
    Mollier-diagram met alle sensoren
  • Historische replay in het Mollier-diagram
    Historische replay in het Mollier-diagram
  • Instellingen: weergave, bussen en sensoren
    Instellingen: weergave, bussen en sensoren
  • Instellingen: grenzen en meldingen
    Instellingen: grenzen en meldingen

// installatie

Installeren

  • 01Downloaden

    Nodig: Python 3.10+ en een Modbus RTU-sensor op RS-485. Clone de repository: git clone https://github.com/CervezaStallone/ClimateMonitor.git

  • 02Installeren

    Maak een virtuele omgeving, installeer de afhankelijkheden met pip install -r requirements.txt en kopieer .env.example naar .env.

  • 03Starten

    Start met python app.py en open http://127.0.0.1:8050/. Stel in Settings het adminwachtwoord in en voeg bussen en sensoren toe.

  • 04Als service

    Voor apparaten die onbeheerd draaien: sudo ./deploy/linux/install-service.sh op Linux of Raspberry Pi, of deploy\windows\install-service.ps1 als Administrator op Windows.