Node-RED Setup unter openHABian

OpenHAB CLI Tool

Wir möchten den Node-RED-Flow, mit dem wir bereits in unserer Windows-Installation gearbeitet haben, jetzt unter openHABian einrichten, damit wir alle Node-RED Projekte jetzt auch auf unserem Pi nutzen können. Zuerst wollen wir die automatische Installation der OpenHAB CLI nutzen - weiter unter schauen wir uns an wie man die Installation manuell durchführt (im Fall dass Sie eine andere LINUX Distro verwenden).

Melden Sie sich zuerst über SSH bei Ihrem Pi an (Windows-Benutzer können das kostenlose Terminal von Mobaterm nutzen) und starten Sie das CLI Tool mit sudo openhabian-config. Nutzen Sie das Benutzerpasswort (das openHABian Standardkennwort ist openhabian) um das Programm auszuführen und wählen Sie Optional Components:

openHABian Home Automation

Dann wählen Sie Node-RED:

openHABian Home Automation

Lassen Sie das Installations-Script durchlaufen:

openHABian Home Automation

Ihre Node-RED-Installation sollte jetzt unter verfügbar sein unter http://openhabpi:1880 (oder verwenden Sie die lokale IP-Adresse Ihres Raspberry Pi anstelle von openhabpi). Jetzt können Sie alle Node-RED Projekte in das Admin Panel kopieren und nutzen.

Node-RED Einrichten

Wir haben bereits Node-RED für Windows eingerichtet - Sie können einfach Ihre setting.js Datei kopieren und auf Ihrem Pi verwenden. Die Datei befindet sich unter /home/openhabian/.node-red/settings.js:

module.exports = {
    uiPort: process.env.PORT || 1880,
    mqttReconnectTime: 15000,
    serialReconnectTime: 15000,
    debugMaxLength: 1000,
    httpAdminRoot: '/admin',
    httpStatic: '/home/openhabian/.node-red/static/',
    ui: { path: "dashboard" },
    adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2a$08$ffVDwvP4ZnPF3GVujYy7B.mEW4UIlb4NwuUsqikdgvUXvxyYg16.m",
            permissions: "*"
        }],
        default: {
            permissions: "read"
        }
    },
}

Wir haben das Admin-Panel so geändert, dass es unter /admin verfügbar ist, das Dashboard unter /dashboard und haben ein Admin-Login mit dem node-red-admin tool erstellt. Beachten Sie oben, dass wir das öffentliche Verzeichnis entsprechend dem Installationspfad von Node-RED unter Linux angepasst haben..

Troubleshooting

Sie haben alles in die settings.js-Datei kopiert, aber Ihre Node-RED-Installation scheint diese nicht zu verwenden - z.B. Sie können weiterhin das Admin-Panel im Web root / erreichen, anstelle von /admin und Sie werden nicht aufgefordert, sich anzumelden, bevor Sie Änderungen an Ihren Node-RED-Flows vornehmen.

Das Node-RED-Installationsskript installiert ein Start-Skript für Node-RED, das SystemD zum Verwalten der Aufgabe verwendet. Dieses Skript befindet sich unter /lib/systemd/system/nedered.service. Bitte stellen Sie sicher, dass das User, Group und WorkingDirectory auf openhabian (/home/openhabian im Fall des Verzeichnisses) und NICHT root gesetzt sind. Die Datei sollte etwa so aussehen:

# systemd service file to start Node-RED

[Unit]
Description=Node-RED graphical event wiring tool
Wants=network.target
Documentation=http://nodered.org/docs/hardware/raspberrypi.html

[Service]
Type=simple
# Run as normal pi user - change to the user name you wish to run Node-RED as
User=openhabian
Group=openhabian
WorkingDirectory=/home/openhabian

Nice=5
Environment="NODE_OPTIONS=--max_old_space_size=256"
# uncomment and edit next line if you need an http proxy
#Environment="HTTP_PROXY=my.httpproxy.server.address"
# uncomment the next line for a more verbose log output
#Environment="NODE_RED_OPTIONS=-v"
#ExecStart=/usr/bin/env node $NODE_OPTIONS red.js $NODE_RED_OPTIONS
ExecStart=/usr/bin/env node-red-pi $NODE_OPTIONS $NODE_RED_OPTIONS
# Use SIGINT to stop
KillSignal=SIGINT
# Auto restart on crash
Restart=on-failure
# Tag things in the log
SyslogIdentifier=Node-RED
#StandardOutput=syslog

[Install]
WantedBy=multi-user.target

Manuelle Installation (optional)

Wenn Sie nicht die openHABian-Linux-Distribution auf Ihrem Pi verwenden, können Sie Node-RED mit dem folgenden Installation-Script installieren oder aktualisieren (Node-RED Installationsanleitung):

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

openHABian Home Automation

Sie können jetzt Node-RED mit dem Befehl node-red-start starten und mit node-red-stop stoppen. Um das Protokoll anzuzeigen, führen Sie den Befehl node-red-log aus.

openHABian Home Automation

Sie können auch einen SystemD-Job aktivieren, um Node-RED automatisch neu zu starten sudo systemctl enable nodered.service:

openHABian Home Automation