[[Uebersicht|← Zurück zur Homepage]] # Node-RED Energiemanagement – Systemdokumentation ## Systemumgebung | Parameter | Wert | |---|---| | Host | `node-red` (Proxmox LXC 101) | | OS | Debian Linux | | Node-RED | v5.0.0 | | Node.js | v24.16.0 | | Start-Methode | Direktprozess (nicht via systemd) | | flows.json | `/root/.node-red/flows.json` (35 KB) | | SQLite DB | `/data/energiemanagement.db` | | Disk `/data` | 3,9 GB gesamt, 1,7 GB belegt (46 %) | | HA-Server | `HAPROXMOX` (config-ID: `config_ha_server`) | --- ## Installation Node-RED LXC ```bash # Auf pve Host: bash -c "$(curl -fsSL https://community-scripts.org/scripts/node-red?id=node-red)" ``` LXC ID: 101, Port: 1880 ### Installierte Nodes - `node-red-contrib-home-assistant-websocket` - `node-red-contrib-modbus` (installiert, aktuell nicht genutzt) - `node-red-node-sqlite` - MQTT: eingebaut ### HA Long-Lived Token `Profil → Sicherheit → Langlebige Zugriffstoken → Token erstellen` --- ## FTP-Dienst (vsftpd) | Parameter | Wert | |---|---| | Paket | `vsftpd 3.0.5` | | Status | `active` (systemd, Autostart aktiviert) | | Port | 21 (Steuerung), 40000–50000 (Passiv-Daten) | | Protokoll | FTPS – explizites TLS (AUTH TLS) | | Zertifikat | Selbstsigniert, 10 Jahre, `/etc/ssl/private/vsftpd.pem` | | Zugriff | Nur lokale Linux-User, chroot ins Home-Verzeichnis | | Log | `/var/log/vsftpd.log` | | Config | `/etc/vsftpd.conf` | | Config-Backup | `/etc/vsftpd.conf.bak` | **FTP-Client-Einstellungen:** Protokoll = "FTP über explizites TLS" (nicht SFTP!), Port 21, selbstsigniertes Zertifikat beim ersten Verbindungsaufbau bestätigen. --- ## Git / GitHub | Parameter | Wert | |---|---| | Repo-Pfad | `/root/.node-red` | | Remote | `https://github.com/obecojb/nodered-energiemanagement.git` (privat) | | Branch | `master` | | Letzter Commit | `d2b7d7e` – "api-current-state version 3→4, entity_id B1 (garage_mtv01) korrigiert" | | Tracked Files | `flows.json`, `.gitignore` | | Credential Store | `~/.git-credentials` (chmod 600) | ### Nicht getrackte Dateien (.gitignore) ``` node_modules/ .config.runtime.json .config.users.json flows_cred.json lib/ ``` ### Workflow für Änderungen ```bash git -C /root/.node-red add flows.json git -C /root/.node-red commit -m "vXX - Beschreibung" git -C /root/.node-red push ``` ### Flow Backup ```bash cp /root/.node-red/flows.json /data/flows_backup_$(date +%Y%m%d).json ``` --- ## Dateien & Pfade | Datei / Pfad | Beschreibung | |---|---| | `/root/.node-red/flows.json` | Node-RED Flow (v10, getrackt in Git) | | `/root/.node-red/.gitignore` | Git-Ausschlüsse | | `/root/.node-red/settings.js` | Node-RED Konfiguration (nicht getrackt) | | `/data/energiemanagement.db` | SQLite-Datenbank mit Logging-Tabelle | | `/etc/vsftpd.conf` | vsftpd Konfiguration | | `/etc/vsftpd.conf.bak` | Backup der Original-vsftpd-Config | | `/etc/ssl/private/vsftpd.pem` | TLS-Zertifikat + Key für vsftpd | | `~/.git-credentials` | GitHub PAT (chmod 600) | --- ## Offene System-TODOs - [ ] **Node-RED via systemd starten** — Aktuell Direktprozess, kein Autostart nach Reboot. Mit `npm install -g --unsafe-perm node-red` + systemd-Unit absichern - [ ] **FTP-Benutzer einrichten** — Aktuell nur root-Login. Dedizierter User empfohlen: `adduser ftpuser --shell /usr/sbin/nologin` - [ ] **GitHub-Token rotieren** — PAT war im Chat sichtbar. Token invalidieren, neuen erstellen, `~/.git-credentials` aktualisieren --- ## Kontext-Wiederherstellung (für neuen Chat) > "Ich arbeite an einem Node-RED Energiemanagement Flow auf einem Proxmox-Linux-System. Die flows.json liegt unter `/root/.node-red/flows.json`, die SQLite-DB unter `/data/energiemanagement.db`. Der Flow ist aktuell auf **TESTMODUS = true** (nur Logging, keine Steuerung). Letzter Stand: **v11** vom 11.06.2026. Git-Repo: `https://github.com/obecojb/nodered-energiemanagement.git` (Branch: master). SOC B1 Entity: `sensor.garage_mtv01_soc_batterie`. Ladeziel B1: `number.garage_mtv01_maximaler_soc`. Node-RED v5.0.0 auf Node.js v24.16.0." --- [[Hinweise/Impressum|Impressum]] | [[Hinweise/Datenschutzerklärung|Datenschutz]]