openhab findet Java nicht ?!

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

openhab findet Java nicht ?!

Beitrag von starbright »

Ich hab ein sehr schlanke, grenzwertige HW und möchte openhab nicht mit openhabian sondern als Paket installieren.
Das Zulu hab ich installiert und den Pfad exportiert.

java --version funktioniert.
debian@BeagleBone:/usr$ java --version
openjdk 17.0.9 2023-10-17 LTS
OpenJDK Runtime Environment Zulu17.46+19-CA (build 17.0.9+8-LTS)
OpenJDK Server VM Zulu17.46+19-CA (build 17.0.9+8-LTS, mixed mode)

Aber openhab findet es leider nicht. Was kann ich dagegen tun?

debian@BeagleBone:/usr$ sudo apt-get install openhab
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
openjdk-17-jre | java17-runtime | java17-runtime-headless | zulu17-jdk | temurin-17-jdk
The following NEW packages will be installed:
openhab
0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.
Need to get 0 B/110 MB of archives.
After this operation, 123 MB of additional disk space will be used.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "de_DE.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package openhab.
(Reading database ... 56869 files and directories currently installed.)
Preparing to unpack .../openhab_4.1.1-1_all.deb ...
Unpacking openhab (4.1.1-1) ...
Setting up openhab (4.1.1-1) ...

[openHAB] WARNING: We were unable to detect Java 17 on your system. This is needed before openHAB can be started.
[openHAB] Please install the current version of Java 17 or check the openHAB documentation for details.
[openHAB] Running JSON Database upgrade tool (${OPENHAB_RUNTIME}/bin/upgradetool.jar).
/var/lib/dpkg/info/openhab.postinst: 300: java: not found
[openHAB] WARNING: internal database upgrade tool failed.
[openHAB] please check the openHAB website (www.openhab.org) for upgrade requirements.
[openHAB] openHAB was not running so will not start after upgrade.
[openHAB] Please use the command:
sudo /bin/systemctl start openhab.service

Edit:
Hab den Pfad mittels visodo hinzugefügt. sudo java --version geht jetzt auch, falls das das Problem war.
Aber
debian@BeagleBone:~$ sudo systemctl status openhab.service
● openhab.service - openHAB - empowering the smart home
Loaded: loaded (/usr/lib/systemd/system/openhab.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2024-01-09 11:42:25 UTC; 3s ago
Docs: https://www.openhab.org/docs/
https://community.openhab.org
Process: 1185 ExecStart=/usr/share/openhab/runtime/bin/karaf ${OPENHAB_STARTMODE} (code=exited, status=1/FAILURE)
Main PID: 1185 (code=exited, status=1/FAILURE)
CPU: 102ms

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

Re: openhab findet Java nicht ?!

Beitrag von udo1toni »

Was sagt denn

Code: Alles auswählen

sudo journalctl -xe
nachdem Du den Dienst per

Code: Alles auswählen

sudo systemctl start openhab.service
zu starten versucht hast?
Gibt es irgendwelche Einträge in /var/log/openhab/openhab.log?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: openhab findet Java nicht ?!

Beitrag von starbright »

debian@BeagleBone:~$ sudo java --version
openjdk 17.0.9 2023-10-17 LTS
OpenJDK Runtime Environment Zulu17.46+19-CA (build 17.0.9+8-LTS)
OpenJDK Server VM Zulu17.46+19-CA (build 17.0.9+8-LTS, mixed mode)
debian@BeagleBone:~$ sudo systemctl start openhab.service
debian@BeagleBone:~$ sudo systemctl status openhab.service
● openhab.service - openHAB - empowering the smart home
Loaded: loaded (/usr/lib/systemd/system/openhab.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2024-01-10 11:04:26 UTC; 418ms ago
Docs: https://www.openhab.org/docs/
https://community.openhab.org
Process: 1107 ExecStart=/usr/share/openhab/runtime/bin/karaf ${OPENHAB_STARTMODE} (code=exited, status=1/FAILURE)
Main PID: 1107 (code=exited, status=1/FAILURE)
CPU: 101ms
debian@BeagleBone:~$ sudo journalctl -xe
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Automatic restarting of the unit openhab.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Jan 10 11:04:36 BeagleBone systemd[1]: Stopped openHAB - empowering the smart home.
░░ Subject: A stop job for unit openhab.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit openhab.service has finished.
░░
░░ The job identifier is 430 and the job result is done.
Jan 10 11:04:36 BeagleBone systemd[1]: Started openHAB - empowering the smart home.
░░ Subject: A start job for unit openhab.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit openhab.service has finished successfully.
░░
░░ The job identifier is 430.
Jan 10 11:04:37 BeagleBone karaf[1140]: java command not found
Jan 10 11:04:37 BeagleBone systemd[1]: openhab.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit openhab.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Jan 10 11:04:37 BeagleBone systemd[1]: openhab.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit openhab.service has entered the 'failed' state with result 'exit-code'.
Jan 10 11:04:38 BeagleBone sudo[1155]: debian : TTY=pts/0 ; PWD=/home/debian ; USER=root ; COMMAND=/bin/journalctl -xe
Jan 10 11:04:38 BeagleBone sudo[1155]: pam_unix(sudo:session): session opened for user root(uid=0) by debian(uid=1000)
lines 4889-4927/4927 (END)


debian@BeagleBone:~$ java --version
openjdk 17.0.9 2023-10-17 LTS
OpenJDK Runtime Environment Zulu17.46+19-CA (build 17.0.9+8-LTS)
OpenJDK Server VM Zulu17.46+19-CA (build 17.0.9+8-LTS, mixed mode)
debian@BeagleBone:~$ echo $JAVA_HOME
/opt/zulu
debian@BeagleBone:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/opt/zulu/bin

Und nochmal mit sudo bash:

root@BeagleBone:/home/debian# java --version
openjdk 17.0.9 2023-10-17 LTS
OpenJDK Runtime Environment Zulu17.46+19-CA (build 17.0.9+8-LTS)
OpenJDK Server VM Zulu17.46+19-CA (build 17.0.9+8-LTS, mixed mode)
root@BeagleBone:/home/debian# echo $JAVA_HOME

root@BeagleBone:/home/debian# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/zulu/bin
root@BeagleBone:/home/debian# export JAVA_HOME=/opt/zulu
root@BeagleBone:/home/debian# systemctl start openhab.service
root@BeagleBone:/home/debian# systemctl status openhab.service
● openhab.service - openHAB - empowering the smart home
Loaded: loaded (/usr/lib/systemd/system/openhab.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2024-01-10 11:07:56 UTC; 17ms ago
Docs: https://www.openhab.org/docs/
https://community.openhab.org
Process: 1743 ExecStart=/usr/share/openhab/runtime/bin/karaf ${OPENHAB_STARTMODE} (code=exited, status=1/FAILURE)
Main PID: 1743 (code=exited, status=1/FAILURE)
CPU: 102ms

starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: openhab findet Java nicht ?!

Beitrag von starbright »

Keine Eintrag in /var/log/openhab außer einer 0 byte Readme.txt

Ich stolpere noch über diesen Satz:
When installing Zulu or Zulu Embedded from a .zip or .tar archive, make sure to set Zulu as the main Java "alternative" (opens new window).
der aber auch in dem Link nicht näher erklärt wird !?!

https://docs.azul.com/core/install/debian:
Leider gibt es kein arm32hf Paket dass man installieren kann, nur aus dem tar.gz - oder hab ich was übersehen?
N: Skipping acquire of configured file 'main/binary-armhf/Packages' as repository 'https://repos.azul.com/zulu/deb stable InRelease' doesn't support architecture 'armhf'

JRE headless reicht, oder? Das sollte das kleinste Paket sein.

Und das
export PATH=<installation_folder>/bin:$PATH
scheint nicht genug zu sein. Überhaupt - in welchem File /etc/profile?

starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: openhab findet Java nicht ?!

Beitrag von starbright »

Das hat sicher gefehlt.

Code: Alles auswählen

debian@BeagleBone:~$ sudo update-alternatives --install /usr/bin/java java /opt/zulu17_jre/bin/java 1
update-alternatives: using /opt/zulu17_jre/bin/java to provide /usr/bin/java (java) in auto mode
Jetzt sind wir hier:

Code: Alles auswählen

debian@BeagleBone:/etc/alternatives$ sudo journalctl -xe
░░ the configured Restart= setting for the unit.
Jan 10 13:58:53 BeagleBone systemd[1]: Stopped openHAB - empowering the smart home.
░░ Subject: A stop job for unit openhab.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A stop job for unit openhab.service has finished.
░░ 
░░ The job identifier is 1728 and the job result is done.
Jan 10 13:58:53 BeagleBone systemd[1]: Started openHAB - empowering the smart home.
░░ Subject: A start job for unit openhab.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A start job for unit openhab.service has finished successfully.
░░ 
░░ The job identifier is 1728.
Jan 10 13:58:53 BeagleBone karaf[1523]: /usr/share/openhab/runtime/bin/karaf: 1: basename: not found
Jan 10 13:58:53 BeagleBone karaf[1525]: /usr/share/openhab/runtime/bin/karaf: 1: dirname: not found
Jan 10 13:58:53 BeagleBone karaf[1527]: /usr/share/openhab/runtime/bin/karaf: 1: ls: not found
Jan 10 13:58:53 BeagleBone karaf[1530]: /usr/share/openhab/runtime/bin/karaf: 1: dirname: not found
Jan 10 13:58:53 BeagleBone karaf[1531]: /usr/share/openhab/runtime/bin/karaf: 1: basename: not found
Jan 10 13:58:53 BeagleBone karaf[1519]: /usr/share/openhab/runtime/bin/karaf: 67: .: cannot open /inc: No such file
Jan 10 13:58:53 BeagleBone systemd[1]: openhab.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ An ExecStart= process belonging to unit openhab.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 2.
Jan 10 13:58:53 BeagleBone systemd[1]: openhab.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit openhab.service has entered the 'failed' state with result 'exit-code'.
Jan 10 13:58:54 BeagleBone sudo[1532]:   debian : TTY=pts/0 ; PWD=/etc/alternatives ; USER=root ; COMMAND=/bin/journalctl -xe
Jan 10 13:58:54 BeagleBone sudo[1532]: pam_unix(sudo:session): session opened for user root(uid=0) by debian(uid=1000)

starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: openhab findet Java nicht ?!

Beitrag von starbright »

Ich hab es an dieser Stelle aufgegeben. Ich muss eh zurück auf openHAB3, da java17 sich nicht mit meinem Speicher verträgt.

Aber ich hab ein Problem.
Mit dem openhabian script - egal wie ich es anstelle, wird immer openhab4 installiert. Auch wenn ich in der Oberfläche openHAB3 einstelle und das /etc/openhabian.conf den branch gewählt hat ?!?

Und auch den package-manager bekomme ich nur 2 oder 4?!?

debian@BeagleBone:~$ sudo apt list | grep openhab

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

openhab-addons/stable 4.1.1-1 all
openhab2-addons-legacy/stable 2.5.3-1 all
openhab2-addons/stable 2.5.12-1 all
openhab2/stable 2.5.12-1 all
openhab/stable,now 4.1.1-1 all [residual-config]

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

Re: openhab findet Java nicht ?!

Beitrag von udo1toni »

Ich denke nicht, dass das openHABian Script gut geeignet ist, openHAB auf dem BeagleBone aufzusetzen.
Die einfachste Variante wäre wohl, openHAB "manuell" aufzusetzen:
Debian als lite Version aufsetzen. Anschließend

Code: Alles auswählen

apt update && apt full-upgrade
apt install -y sudo gnupg2 openjdk-17-jre-headless
curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor > openhab.gpg
mkdir /usr/share/keyrings
mv openhab.gpg /usr/share/keyrings
chmod 644 /usr/share/keyrings/openhab.gpg
echo 'deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | tee /etc/apt/sources.list.d/openhab.list
apt install openhab=3.4.5-1
Was meinst Du damit, dass Java17 sich nicht mit Deinem Speicher verträgt? Java11 ist EOL, natürlich kannst Du das dennoch einsetzen, aber sicher nicht aus Kompatibilitätsgründen, wenn Du nicht partout auf eine Uralt version von openHAB3.x gehen willst.
Die Befehle oben installieren die Version OH3.4.5, welche wunderbar unter Java17 läuft.

Nachdem openHAB installiert ist, kannst Du in /etc/default/openhab den zugewiesenen Speicher setzen, um zu verhindern, dass openHAB zu gierig wird.

Aber ich hatte es ja an anderer Stelle schon erwähnt... Das BeagleBone ist einfach keine gute Plattform für openHAB (und im Übrigen auch nicht für andere Smarthome Systeme), es wird viel RAM gebraucht, um die Oberfläche möglichst komplett im Speicher halten zu können. Ein Pi 4 ist in der Zwischenzeit wieder gut erhältlich und sogar einigermaßen bezahlbar. Alternativ kannst Du auch ein kleines 1-Liter System nutzen (z.B. Intel NUC), die kannst Du auch gebraucht in der Bucht schieße, wobei ich darauf achten würde, dass das Gerät ausreichend RAM (4GByte) und die Möglichkeit eine SSD anzuschließen mitbringt - macht einfach mehr Spaß, mit einem System zu arbeiten, welches zügig auf alle Befehle reagiert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: openhab findet Java nicht ?!

Beitrag von starbright »

Ganz vielen Dank! Um ein potenteres Board werde ich mich kümmern. Angeblich ist das Java17 wohl das bottleneck bzgl Speicher und da openHAB4 nur auf Java 17 läuft -> diese alte Version. Tatsächlich war der Befehl mir neu und hat mich letztlich gerettet:
sudo apt install openhab=3.4.5-1

Und welche Optionen gibts in /etc/default/openhab zum Speicherbedarfs? Sehe da nichts...

Anbei die History (für mich zur Erinnerung, vielleicht hilft es einen anderen auch). Tricky war das update-alternatives, das ich lange nicht gefunden hab.

9 tar -xvzf /media/backup/zulu11.68.17-ca-jdk11.0.21-linux_aarch32hf.tar.gz
10 sudo tar -xvzf /media/backup/zulu11.68.17-ca-jdk11.0.21-linux_aarch32hf.tar.gz
11 sudo mv zulu11.68.17-ca-jdk11.0.21-linux_aarch32hf zulu11-jdk
12 sudo update-alternatives --install /usr/bin/java java /opt/zulu11-jdk/bin/java 1
13 sudo update-alternatives --install /usr/bin/javac javac /opt/zulu11-jdk/bin/javac 1
15 curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor > openhab.gpg
16 sudo mkdir /usr/share/keyrings
17 sudo mv openhab.gpg /usr/share/keyrings
18 sudo chmod u=rw,g=r,o=r /usr/share/keyrings/openhab.gpg
19 echo 'deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
20 sudo apt-get update
21 sudo apt install openhab=3.4.5-1

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

Re: openhab findet Java nicht ?!

Beitrag von udo1toni »

starbright hat geschrieben: 11. Jan 2024 08:50 welche Optionen gibts in /etc/default/openhab zum Speicherbedarfs? Sehe da nichts...
Ja, das hätte ich etwas ausführlicher benennen können...
Das geht über die EXTRA_JAVA_OPTS, falls dort bereits etwas eingetragen ist, ergänzt Du den Eintrag z.B. folgendermaßen: "-Xms250m -Xmx250m"
Xms ist dabei die minimal zugesicherte Menge RAM, Xmx die maximal erlaubte Menge.
Unter 250m (MegaByte) dürfte es ein hoffnungsloses Unterfangen sein, openHAB vernünftig laufen zu lassen.

Ich bin mir ziemlich sicher, dass Java17 problemlos laufen wird, und die Runtime (jre) ohne grafisches Interface (-headless) ist mit Sicherheit die bessere Wahl gegenüber dem Development Kit (jdk), dann auch das spart unterm Strich RAM.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten