[[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 | `f4ad564` – "PROJEKT.md auf v14 aktualisiert (LADEN max 80%)" |
| Tracked Files | `flows.json`, `PROJEKT.md`, `.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 (v14, getrackt in Git) |
| `/root/.node-red/PROJEKT.md` | Projektdokumentation (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 (LXC, IP 192.168.2.172). Die flows.json liegt unter `/root/.node-red/flows.json`, die SQLite-DB unter `/data/energiemanagement.db`. Der Flow ist aktuell auf **TESTMODUS = false** (Echtbetrieb). Letzter Stand: **v14** vom 18.06.2026. Git-Repo: `https://github.com/obecojb/nodered-energiemanagement.git` (Branch: master). Bitte lese zuerst `/root/.node-red/PROJEKT.md` und danach `flows.json`."
---
---
[[Hinweise/Impressum|Impressum]] | [[Hinweise/Datenschutzerklärung|Datenschutz]]