Go to file
2026-03-23 22:01:10 +01:00
.gitea/workflows VERISON in Dockerfile abhandeln 2026-03-23 22:01:10 +01:00
.vscode Ausführen /Debuggen in vscode nun mit Version 2026-03-23 20:48:56 +01:00
src Speichern von Holding und Coils ging nicht mehr 2026-03-23 21:13:04 +01:00
static Speichern von Holding und Coils ging nicht mehr 2026-03-23 21:13:04 +01:00
templates Schreibe MQTT.Set Werte, wenn das Leitsystem aktiv ist 2026-03-13 22:56:06 +01:00
.gitignore jetzt mit Header, 3 Tabellen 2025-11-20 20:12:25 +01:00
Cargo.lock Anpassung Pipeline und Dockerfile 2026-02-17 23:20:46 +01:00
Cargo.toml neueres rust verwenden 2026-03-18 17:57:26 +01:00
concept.md Modbus-Table-Konfigurationen ausgelagert 2026-02-13 21:16:25 +01:00
Dockerfile VERISON in Dockerfile abhandeln 2026-03-23 22:01:10 +01:00
LICENSE Initial commit 2025-11-20 19:16:32 +01:00
paramod.yaml Speichern von Holding und Coils ging nicht mehr 2026-03-23 21:13:04 +01:00
README.md VERISON in Dockerfile abhandeln 2026-03-23 22:01:10 +01:00
VERSION Anpassung Pipeline und Dockerfile 2026-02-17 23:20:46 +01:00

Paramod

Rust-Webserver zur Anzeige und Bearbeitung von Modbus-Tabellen mit Persistierung in paramod.yaml.

Funktionen

  • Tabellen für modbus_input_register, modbus_holding_register und modbus_coils
  • Web-UI zum Bearbeiten und Speichern der Tabellen
  • Einstellungsseite für default, modbus, mqtt und influxdb
  • MQTT/Influx-Integration gemäß Konfiguration
  • Speicherung aller Änderungen in paramod.yaml

Lokale Entwicklung

Voraussetzungen

  • Rust + Cargo

Start

cargo run

Server: http://localhost:8080

Docker (Podman)

Image bauen

podman build -t paramod:latest .

Container starten

podman run --rm -p 8080:8080 -v "$(pwd)/paramod.yaml:/app/paramod.yaml" paramod:latest

API Endpoints

  • GET /
  • GET /table/modbus_input_register
  • GET /table/modbus_holding_register
  • GET /table/modbus_coils
  • GET /settings
  • GET /api/config
  • POST /api/save
  • POST /api/save-settings

API-Beispiel: Tabelle speichern

Beispiel für Holding-Register:

curl -X POST http://localhost:8080/api/save \
  -H "Content-Type: application/json" \
  -d '{
    "table_id": "modbus_holding_register",
    "rows": [
      {
        "TVsoll": {
          "addr": 2,
          "type": "INT16",
          "factor": 0.1,
          "write": true,
          "mqtt": true,
          "influxdb": true,
          "comment": "Vorlauf Soll"
        }
      }
    ]
  }'

Beispiel für Coils:

curl -X POST http://localhost:8080/api/save \
  -H "Content-Type: application/json" \
  -d '{
    "table_id": "modbus_coils",
    "rows": [
      {
        "MgtSystem": {
          "addr": 0,
          "write": true,
          "mqtt": true,
          "influxdb": false,
          "comment": "Leitsystem aktiv"
        }
      }
    ]
  }'

Konfiguration

Die komplette Konfiguration liegt in paramod.yaml.

Lizenz

MIT