[[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]]