Debugging bei OpenHAB 4

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
AlexT
Beiträge: 26
Registriert: 15. Jul 2018 21:32
Answers: 0

Debugging bei OpenHAB 4

Beitrag von AlexT »

Hallo zusammen,

wie ich bereits in einem früheren Post geschrieben habe, steige ich gerade von OH2.5 auf OH4 um.
Unter OH2 auf dem RPi konnte man die Debugging Files direkt über "Frontail" unter Port 9001 live sehen, was sehr komfortabel war.
Das OH4 habe ich in einer VM installiert, wo frontail nicht Teil der Installation ist.

Meine Frage ist nun, wie debuggt Ihr Eure Konfigurationen?

Viele Grüße,
Alex
von udo1toni » 24. Okt 2023 22:09
ja, frontail wird über npm installiert, entsprechend musst Du zunächst npm installieren. Und im Zweifel werst Du eventuell noch weitere Abhängigkeiten nachinstallieren müssen, das ist der übliche Weg... ;)

Da Du Proxmox als Unterbau nutzt: Warum überhaupt eine VM? meine Empfehlung wäre eher ein LXC, das ist wesentlich schlanker - läuft hier mit dem aktuellen bookworm Template (debian-12-standard_12.2-1_amd64.tar.zst) und zugeteilten 3 GByte RAM, wobei ich im Schnitt unter 2 GByte bleibe, aber es gibt schon mal Spitzen. Prozessorlast mit zwei Kernen um 2 %.

Mein Tipp wäre also tatsächlich, openHAB komplett neu aufzusetzen, aber selbstverständlich kannst und sollst Du vorher ein Backup Deiner Konfiguration anlegen und dieses dann ins neue System einspielen, dieser Teil der Konfiguration ist also nicht verloren (und das ist ja der weit überwiegende Teil der Arbeit).
Kurzanleitung für LXC mit openHABian:
  1. Container einrichten mit neuestem debian Template, 3 GByte RAM und zwei Kernen, IP nach Belieben (fix oder per DHCP, dann halt im Router auf eine fixe IP gesetzt)
  2. als root einloggen, nach dpkg-reconfigure tzdata
    und dpkg-reconfigure locales
    ein apt update && apt -y full-upgrade && apt -y install sudo git
  3. optional einen Administrationsuser einrichten,
    per adduser meinadmin und Zuordnung von sudo
    per adduser meinadmin sudo
  4. Einrichten von openHABian nach Anleitung unter https://www.openhab.org/docs/installati ... r-software, also (immer noch als User root!)
    1. git clone -b openHAB https://github.com/openhab/openhabian.git /opt/openhabian
    2. ln -s /opt/openhabian/openhabian-setup.sh /usr/local/bin/openhabian-config
    3. cp /opt/openhabian/build-image/openhabian.conf /etc/openhabian.conf
    4. Anschließend mit nano /etc/openhabian.conf alles passend vorkonfigurieren (OS auf bookworm umstellen, 64 Bit, Java auf 17, ZRAM aus und so weiter)
    5. zum Abschluss ein beherztes openhabian-config unattended und zurücklehnen.
  5. Prüfen, ob der Zugriff über die Web UI funktioniert. Bei Erfolg
  6. systemctl stop openhab.service
  7. openhab-cli restore /pfad/zum/backup.zip
  8. openhab-cli reset-ownership
  9. systemctl start openhab.service
  10. Wieder in die Web UI, es sollte alles laufen, incl. Links für frontail in der rechten Seitenleiste :)
Da Proxmox gewöhnlich ZFS mitbringt, bietet es sich an, verschiedene Dinge zu optimieren, z.B. die Daten auf einem separaten Dataset abzulegen, welches dann mittels zfs-autosnapshot z.B. im Viertelstundentakt gesichert wird, so verlieren Konfigurationsfehler ihren Schrecken :)
Natürlich geht das alles auch mit einer echten VM, aber die braucht halt viel mehr Systemressourcen als der Container.
Wenn es um Hardwarezugriff geht, geht das Durchreichen genauso auch mit einem Container (natürlich etwas anders zu konfigurieren als bei einer VM).
Gehe zur vollständigen Antwort
Meine Systemeckdaten: OpenHAB 4.0.3, openHABian, Debian 12, LXC, Proxmox 8.0.4, DELL PowerEdge

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Debugging bei OpenHAB 4

Beitrag von udo1toni »

Wenn Du schreibst "in einer VM", in welcher Umgebung läuft diese?

Es ist kein Problem, openHABian als Grundlage für eine beliebige (idealerweise debian-artige) GNU/Linux Installation zu verwenden, openHABian ist ja nur eine Scriptsammlung, welche es erlaubt, openHAB und diverse andere Software relativ komfortabel unter GNU/Linux einzurichten.

Alternativ kannst Du frontail auch direkt installieren (ist allerdings kein Einzeiler... die openHABian-Variante ist extrem komfortabel im Vergleich).
Das Theme, welches openHABian installiert kannst Du recht leicht nachinstallieren, indem Du die entsprechende xml-Datei aus github herunter lädst.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

AlexT
Beiträge: 26
Registriert: 15. Jul 2018 21:32
Answers: 0

Re: Debugging bei OpenHAB 4

Beitrag von AlexT »

Die VM läuft in einer Proxmox auf einer Dell PowerEdge. In der VM ist ein Debian System installiert, auf dem ich das OpenHab installiert habe.

Das Frontail alleine habe ich bei Github zwar gefunden. Der dort angegebene Quick Start sieht erst einmal vielversprechend "einfach" aus.
npm i frontail -g or download a binary file from Releases page
frontail /var/log/syslog
visit http://127.0.0.1:9001
Allerdings kenne ich den Befehl "npm" nicht. und der funktioniert bei mir auch nicht.

Hab ich das richtig verstanden, dass ich das openhabian nachinstallieren kann oder müsste ich mein openHab dafür komplett neu aufsetzen?

EDIT: Da hab ich doch glatt den Link zu GitHub vergessen: https://github.com/mthenw/frontail/blob ... /README.md
Meine Systemeckdaten: OpenHAB 4.0.3, openHABian, Debian 12, LXC, Proxmox 8.0.4, DELL PowerEdge

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Debugging bei OpenHAB 4

Beitrag von udo1toni »

ja, frontail wird über npm installiert, entsprechend musst Du zunächst npm installieren. Und im Zweifel werst Du eventuell noch weitere Abhängigkeiten nachinstallieren müssen, das ist der übliche Weg... ;)

Da Du Proxmox als Unterbau nutzt: Warum überhaupt eine VM? meine Empfehlung wäre eher ein LXC, das ist wesentlich schlanker - läuft hier mit dem aktuellen bookworm Template (debian-12-standard_12.2-1_amd64.tar.zst) und zugeteilten 3 GByte RAM, wobei ich im Schnitt unter 2 GByte bleibe, aber es gibt schon mal Spitzen. Prozessorlast mit zwei Kernen um 2 %.

Mein Tipp wäre also tatsächlich, openHAB komplett neu aufzusetzen, aber selbstverständlich kannst und sollst Du vorher ein Backup Deiner Konfiguration anlegen und dieses dann ins neue System einspielen, dieser Teil der Konfiguration ist also nicht verloren (und das ist ja der weit überwiegende Teil der Arbeit).
Kurzanleitung für LXC mit openHABian:
  1. Container einrichten mit neuestem debian Template, 3 GByte RAM und zwei Kernen, IP nach Belieben (fix oder per DHCP, dann halt im Router auf eine fixe IP gesetzt)
  2. als root einloggen, nach dpkg-reconfigure tzdata
    und dpkg-reconfigure locales
    ein apt update && apt -y full-upgrade && apt -y install sudo git
  3. optional einen Administrationsuser einrichten,
    per adduser meinadmin und Zuordnung von sudo
    per adduser meinadmin sudo
  4. Einrichten von openHABian nach Anleitung unter https://www.openhab.org/docs/installati ... r-software, also (immer noch als User root!)
    1. git clone -b openHAB https://github.com/openhab/openhabian.git /opt/openhabian
    2. ln -s /opt/openhabian/openhabian-setup.sh /usr/local/bin/openhabian-config
    3. cp /opt/openhabian/build-image/openhabian.conf /etc/openhabian.conf
    4. Anschließend mit nano /etc/openhabian.conf alles passend vorkonfigurieren (OS auf bookworm umstellen, 64 Bit, Java auf 17, ZRAM aus und so weiter)
    5. zum Abschluss ein beherztes openhabian-config unattended und zurücklehnen.
  5. Prüfen, ob der Zugriff über die Web UI funktioniert. Bei Erfolg
  6. systemctl stop openhab.service
  7. openhab-cli restore /pfad/zum/backup.zip
  8. openhab-cli reset-ownership
  9. systemctl start openhab.service
  10. Wieder in die Web UI, es sollte alles laufen, incl. Links für frontail in der rechten Seitenleiste :)
Da Proxmox gewöhnlich ZFS mitbringt, bietet es sich an, verschiedene Dinge zu optimieren, z.B. die Daten auf einem separaten Dataset abzulegen, welches dann mittels zfs-autosnapshot z.B. im Viertelstundentakt gesichert wird, so verlieren Konfigurationsfehler ihren Schrecken :)
Natürlich geht das alles auch mit einer echten VM, aber die braucht halt viel mehr Systemressourcen als der Container.
Wenn es um Hardwarezugriff geht, geht das Durchreichen genauso auch mit einem Container (natürlich etwas anders zu konfigurieren als bei einer VM).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

AlexT
Beiträge: 26
Registriert: 15. Jul 2018 21:32
Answers: 0

Re: Debugging bei OpenHAB 4

Beitrag von AlexT »

Hallo Udo,

vielen Dank für die ausführliche Beschreibung. Du bist mein Held. ;)

openhabian möchte bei mir das OH4 allerdings nicht installieren, weil Zitat "Mein Betriebssystem zu alt ist".

In der Templateliste meiner Proxmox ist Debian 11 das neuste sichtbare Debian. Heißt für mich, erst einmal Backups von allen VMs erstellen und die Proxmox upgraden. :roll: Wie das halt immer so ist.

Nach dem Backup und dem Upgrade und der Openhabian Installation melde ich mich dann wieder... Hoffentlich nur mit einem "danke, geht".

Die Antwort auf Deine Frage, warum kein LXC, ist so einfach wie ernüchternd. Weil ich mit LXCs noch nie gearbeitet habe. Ich hab heute mal ein wenig gelesen. Verstehe ich das richtig, dass die Linux-Container nicht vollständig vom Hostsystem gekapselt sind, sondern lediglich die entsprechende Anwendung kapseln? Das heißt, im Grunde könnte ich andere Anwendungen, die in VMs mit Debian oder Ubuntu System laufen ebenfalls in LXCs umziehen lassen und würde dabei Systemressourcen sparen? Gibt's Nachteile, die dadurch entstehen?
Meine Systemeckdaten: OpenHAB 4.0.3, openHABian, Debian 12, LXC, Proxmox 8.0.4, DELL PowerEdge

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Debugging bei OpenHAB 4

Beitrag von udo1toni »

Du musst nur die Template-Liste aktualisieren, da wird auch bookworm ausgeliefert.
In einer root Shell von Proxmox:

Code: Alles auswählen

pveam update
pveam available | grep -i standard
Das sollte dann als Liste dies hier ausspucken:

Code: Alles auswählen

mail            proxmox-mailgateway-7.3-standard_7.3-1_amd64.tar.zst
mail            proxmox-mailgateway-8.0-standard_8.0-1_amd64.tar.zst
system          debian-11-standard_11.7-1_amd64.tar.zst
system          debian-12-standard_12.2-1_amd64.tar.zst
system          devuan-4.0-standard_4.0_amd64.tar.gz
system          ubuntu-20.04-standard_20.04-1_amd64.tar.gz
system          ubuntu-22.04-standard_22.04-1_amd64.tar.zst
system          ubuntu-23.04-standard_23.04-1_amd64.tar.zst
Natürlich kannst Du auch direkt nach einem erfolgreichen Update in die Template-Verwaltung gehen und nach dem debian-Paket schauen, aber wenn man eh schon in der Shell ist...

LXC funktioniert ähnlich wie auch Docker, die Container separieren die Anwendungen vom restlichen System, jeder Container hat ein eigenes Mapping der User- und Group IDs.
Vorteil: erhebliche Einsparung bei den Systemressourcen, z.B. mein Container mit Samba (stellt diverse Freigaben zur Verfügung, unter anderem auch CUPS - es läuft webmin als Verwaltungsoberfläche) benötigt keine 100 MByte Arbeitsspeicher, selbst in den Spitzen komme ich nicht über 210 MByte, und das ist nur kurzzeitig. Wenn CUPS nicht wäre, könnte man Samba natürlich auch nativ über ZFS erledigen lassen, aber mit eigenem Container ist die Konfiguration doch etwas komfortabler :)

Nachteil: theoretisch ist es einfacher, aus einem Container auszubrechen, Allerdings ist auch eine VM nicht vor Angriffen gefeit, insofern ist das eher ein grundsätzliches Problem der Virtualisierung, ob nun mit VM oder Container.
Eventuell erscheint es komplizierter, einem Container reale Hardware zuzuschustern, bisher habe ich damit aber noch nie Probleme gehabt.

Auf welcher Version ist denn Dein Proxmox? Eigentlich sollte Proxmox selbsttätig Updates anbieten, und man ist auch gut beraten, diese relativ zeitnah einzuspielen. Hat man eine Bezahlversion, so verwendet man das Enterprise Repository, ohne bezahlte Lizenz verwendet man no-subscription, der einzige Unterschied zu Enterprise ist, dass man mit no-subscription die Updates früher erhält. Man ist sozusagen die Testgruppe, um evtl. übersehene Fehler aufzudecken (ich nutze Proxmox no-subscription seit V 4.x und hatte bisher noch nie Probleme durch ein Update).
In der Web-UI sollte es unter Node->Updates->Repositories die Möglichkeit geben, Enterprise zu deaktivieren und no-subscription zu aktivieren.

Aktuell ist Proxmox 8.0.4 mit Kernel Linux 6.2.16-15-pve #1 SMP PREEMPT_DYNAMIC PMX 6.2.16-15 (2023-09-28T13:53Z), falls Du noch auf Proxmox 7 bist, gibt es eine Anleitung zum Upgrade: https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 (entsprechende Anleitungen gibt es auch für noch ältere Versionen, wobei ab einem bestimmten Punkt durch die Menge an auszuführenden Upgrades dann evtl. Neu installieren der schnellere Weg ist).
Allgemein hatte ich bisher auch noch nie Probleme beim Ugrade auf eine neuere Hauptversion (man darf nur keine Hauptversionen auslassen, also keinesfalls z.B. von PVE6 auf PVE8 upgraden, das geht in die Hose).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

AlexT
Beiträge: 26
Registriert: 15. Jul 2018 21:32
Answers: 0

Re: Debugging bei OpenHAB 4

Beitrag von AlexT »

Ich war noch bei Proxmox 6.2. Du hast recht. Das war ein bischen viel Schreiberei, aber ich bin jetzt bei Proxmox 8.0.4 und habe Openhabian mit Openhab 4 erfolgreich installiert. Frontail funktioniert auch.

Danke schön, dass Du Dir so viel Zeit nimmst.

Viele Grüße,
Alex
Meine Systemeckdaten: OpenHAB 4.0.3, openHABian, Debian 12, LXC, Proxmox 8.0.4, DELL PowerEdge

Antworten