Drücken sie Ctrl/Cmd + P zum drucken
oder zum Speichern als PDF.

openHAB: Frontail Log View als Service unter Rasperry Pi OS einrichten

Voraussetzungen

  • openHAB 3.4.2
  • Raspberry Pi OS 11 bullseye
    cat /etc/os-release
  • Node.js v14.21.2
    node -v
  • npm v6.14.17
    npm -v

Kurzbefehle

  • sudo systemctl stop frontail.service – Dienst stoppen
  • sudo systemctl start frontail.service – Dienst starten
  • sudo systemctl daemon-reload – systemd Manager Konfigurationen neu laden (z.B. nach Änderung an .service Datei)
  • node -v – Version von Node.js ausgeben
  • npm -v – Version von npm ausgeben

Node.js + npm installieren

  • Paketquellen aktualisieren, ggf. Fehler beheben
    sudp apt-get update
  • Pakete installieren (ggf. aktuellere Version für Node.js auswählen)
    sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
    sudo apt-get install -y nodejs
  • Versionen überprüfen
    node -v
    npm -v

Frontail installieren

  • Pakte installieren
    sudo npm i frontail -g
  • manuelles starten von Frontail im Dark Theme
    frontail -t dark /var/log/openhab/openhab.log
  • hat alles geklappt ist die Log Ausgabe unter http://Raspberry-IP:9001 abrufbar

Frontail Theme konfigurieren

  • die Darstellung der Log Ausgabe im Browser wird über eine .json Datei gesteuert
  • um eine farbige Ausgabe zu erzeugen, habe ich mich nach dem Projekt von Schnuecks gerichtet
  • dazu müssen diverse Dateien erstellt bzw. abgeändert werden
  • die originalen Dateien hab eich in .old umbenannt umm ggf. später wieder zurückwechseln zu können
  • Dienst stoppen
    sudo systemctl stop frontail.service
  • web/assets/styles/openhab_AEM.css
    sudo nano /usr/lib/node_modules/frontail/web/assets/styles/openhab_AEM.css
    -> Link github.com

web/assets/styles/bootstrap.min.css

sudo mv /usr/lib/node_modules/frontail/web/assets/styles/bootstrap.min.css /usr/lib/node_modules/frontail/web/assets/styles/bootstrap.min.css.old
sudo nano /usr/lib/node_modules/frontail/web/assets/styles/bootstrap.min.css

-> bootstrap.min.css auf github.com

web/index.html

sudo mv /usr/lib/node_modules/frontail/web/index.html /usr/lib/node_modules/frontail/web/index.html.old
sudo nano /usr/lib/node_modules/frontail/web/index.html

-> index.html auf github.com

web/assets/app.js

sudo mv /usr/lib/node_modules/frontail/web/assets/app.js /usr/lib/node_modules/frontail/web/assets/app.js.oldsudo nano /usr/lib/node_modules/frontail/web/assets/app.js

-> app.js auf github.com

web/assets/tinycon.min.js

sudo mv /usr/lib/node_modules/frontail/web/assets/tinycon.min.js /usr/lib/node_modules/frontail/web/assets/tinycon.min.js.oldsudo nano /usr/lib/node_modules/frontail/web/assets/tinycon.min.js

-> tinycon.min.js auf github.com

preset/openhab_AEM.json

sudo nano /usr/lib/node_modules/frontail/preset/openhab_AEM.json

-> openhab_AEM.json auf github.com

Bilder

Frontail als service einrichten

  • Service Datei erstellen
    sudo nano /etc/systemd/system/frontail.service
[Unit]
Description=Frontail openHAB instance, reachable at http://%H:9001
Documentation=https://github.com/mthenw/frontail
After=openhab.service

[Service]
Type=simple
ExecStart=/usr/bin/frontail --ui-highlight --ui-highlight-preset /usr/lib/node_modules/frontail/preset/openhab_AEM.json -t openhab_AEM -l 2000 -n 200 /var/log/openhab/openhab.log /var/log/openhab/events.log
Restart=always
User=openhab
Group=openhab
Environment=PATH=/usr/local/bin:/usr/bin/
Environment=NODE_ENV=production
WorkingDirectory=/usr/bin/

[Install]
WantedBy=multi-user.target
  • Berechtigung für service Datei setzen
    sudo chmod 777 /etc/systemd/system/frontail.service
  • Dienst aktivieren
    sudo systemctl enable frontail.service
  • Dienst einmalig manuell starten
    sudo systemctl start frontail.service
  • ab sofort steht der Frontail Dienst auch nach jedem Neustart zur Verfügung

Quellen