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:
Dann wählen Sie Node-RED:
Lassen Sie das Installations-Script durchlaufen:
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)
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.
Sie können auch einen SystemD-Job aktivieren, um Node-RED automatisch neu zu starten sudo systemctl enable nodered.service
: