SOLVED: OH stops after a day with OutOfMemory

The parameter was and still is not set correctly, I guess.

Invalid maximum heap size: -Xmx
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

I have updated the hole system and run now OH 2.5.10-1.
still Release = Raspbian GNU/Linux 9 (stretch)
still Kernel = Linux 4.19.66-v7+
I said “no” installing latest untested JAVA release. Was that okay?

It is operating. I will test it the next three days and let you know, what happend. Thanks so far!

of course not, it would need to be something like “-Xms192m -Xmx320m” depending on the HW.

Why don’t you run openHABian ? It takes care of all of these obstacles.

I think I run openhabian!

Who knows. What JAVA version do you have now? 8.xx recommended for OH2.x

EDIT - duhh, of course that info is in the screenshot.

1.8.0_152 is also pretty old I think they’re at ~250 now. sp might be a reason.

Yes you do sorry. I meant to say “why don’t you run latest openHABian” ?
You would need to use the dist-upgrade process to get to Debian buster but as I said what you have is so old I would rather reinstall from scratch.

Hmm, I have looked for some docs concerning dist-upgrade. https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.de.html#immediate-configure
This sounds very heavy and too difficulty for me. I am not a software expert. Does maybe somebody has created a batchfile which I can use?

This is why I advised to install from scratch. Export your config and use another SD card. Couple of minutes work.

okay, long time ago I made this kind of stuff… I would be very appreciated if you could agree to my plan how to do that. First, I am running root from a SSD.

  1. I make a backup with openhabian-config tool and copy this to my windows pc
  2. I take a fresh sd card and install from scratch openhabian. JAVA is a part of this package, right?
  3. I transfer root to ssd via openhabian-config (the exisiting data from ssd will be overwritten, yes?
  4. I put my backup back to the ssd and start the restore function in openhabian-config.

Is that the right way or did I made a mistake? Thanks for supporting me!

my system was still running until now without issues. Now I got this error:

Could not inform the ThingTracker ‘org.eclipse.smarthome.core.thing.internal.ThingManagerImpl@4f3de’ about the ‘THING_UPDATED’ event!

Any idea? Didn’t find further discussion at the forum about this issue.

I know nothing about this error in particular, but am interested whether you get many Thing updated events in your log.

They can be a problem after a major upgrade, where not all the release notes get read. Bindings may change some aspect of a Thing type (add, remove or change channels typically), but any existing Things of that type are not automatically updated.
That can cause “Thing updates” every time the binding or Thing is reinitialized. The cure is to delete the offending Thing(s) and recreate new.

Repeated Thing updates can also indicate repeated binding reinitialization. That’s usually due to a failed install, from addons.cfg, quite often the restapi docs problem described in the release notes.

Thanks all for your help. I have now a brandnew openhabian installation and the systems runs quite good. But unforunatley it runs from SD card. My problem is when I try to take root to USB function in openhabian-config I get the answer that there is no root on my SD card. How can I solve this?

Set debugmode=maximum in /etc/openhabian.conf and retry. Post the log here or open a Github issue.

But the answer simply is: don’t. openHABian has ZRAM enabled to take care of mitigating SD wearout.

Hi, I debugged my trail using openhabian-config tool to move root to SSD. Hopefully this is what you need:

Summary

[10:23:56] openhabian@openhabianpi:~$ sudo openhabian-config
2020-10-28_10:24:47_CET [openHABian] Checking for root privileges… OK

  • export UNATTENDED SILENT DEBUGMAX INTERACTIVE
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/backup.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/config.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/ext-storage.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/find.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/helpers.bash
    ++ ESC=’\033[’
    ++ COL_DEF=’\033[39;49;00m’
    ++ COL_RED=’\033[31;01m’
    ++ COL_GREEN=’\033[32;01m’
    ++ COL_YELLOW=’\033[33;01m’
    ++ COL_BLUE=’\033[34;01m’
    ++ COL_MAGENTA=’\033[35;01m’
    ++ COL_CYAN=’\033[36;01m’
    ++ COL_LGRAY=’\033[37;01m’
    ++ COL_DGRAY=’\033[90;01m’
    ++ export COL_DEF COL_RED COL_GREEN COL_YELLOW COL_BLUE COL_MAGENTA COL_CYAN COL_LGRAY COL_DGRAY
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/influxdb+grafana.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/java-jre.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/menu.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/nodejs-apps.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/openhab.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/openhabian.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/packages.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/passwords.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/system.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/vpn.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/wifi.bash
  • for shfile in “${BASEDIR:-/opt/openhabian}”/functions/*.bash
  • source /opt/openhabian/functions/zram.bash
    ++ pwd
  • OLDWD=/home/openhabian
  • cd /opt
  • config_ipv6
  • local aptConf=/etc/apt/apt.conf/S90force-ipv4
  • local sysctlConf=/etc/sysctl.d/99-sysctl.conf
  • [[ enable == \d\i\s\a\b\l\e ]]
  • [[ enable == \e\n\a\b\l\e ]]
  • grep -qs ‘^[[:space:]]*# Disable all IPv6 functionality’ /etc/sysctl.d/99-sysctl.conf
  • [[ -n ‘’ ]]
  • apt_update
  • PID_APT=3204
  • whiptail_check
  • apt-get update
    ++ command -v whiptail
  • [[ -x /usr/bin/whiptail ]]
  • load_create_config
  • local ‘questionText=\nWelcome to openHABian!\n\nPlease provide the name of your Linux user i.e. the account you normally log in with.\n\nTypical user names are ‘’‘pi’’’ or ‘’‘ubuntu’’’.’
  • local input
  • [[ -f /etc/openhabian.conf ]]
    ++ timestamp
    ++ date +%F_%T_%Z
  • echo -n ‘2020-10-28_10:24:48_CET [openHABian] Loading configuration file ‘’’/etc/openhabian.conf’’’… ’
    2020-10-28_10:24:48_CET [openHABian] Loading configuration file ‘/etc/openhabian.conf’… + source /etc/openhabian.conf
    ++ hostname=openHABianDevice
    ++ username=openhabian
    ++ timezone=Europe/Berlin
    ++ locales=‘en_US.UTF-8 de_DE.UTF-8’
    ++ system_default_locale=en_US.UTF-8
    ++ wifi_ssid=
    ++ wifi_psk=
    ++ wifi_country=
    ++ ipv6=enable
    ++ repositoryurl=https://github.com/openhab/openhabian
    ++ clonebranch=stable
    ++ debugmode=maximum
    ++ cached_java_opt=Zulu8-32
    ++ java_opt=Zulu8-32
  • echo OK
    OK
  • openhabian_console_check
  • [[ -z 1 ]]
    ++ tput cols
  • [[ 237 -ge 120 ]]
  • return 0
  • openhabian_update_check
  • [[ -z 1 ]]
  • local branch
  • local introText
  • local unsupportedHWText
  • local unsupportedOSText
  • branch=stable
  • introText=‘Additions, improvements or fixes were added to the openHABian configuration tool. Would you like to update now and benefit from them? The update will not automatically apply changes to your system.\n\nUpdating is recommended.’
  • unsupportedHWText=‘You are running on old hardware that is no longer officially supported.\nopenHABian may still work with this or not.\nWe recommend that you replace your hardware with a current SBC such as a RPi4/2GB.\nDo you really want to continue using openHABian on this system?’
  • unsupportedOSText=‘You are running an old Linux release that is no longer officially supported.\nWe recommend upgrading to the most current stable release of your distribution (or current Long Term Support version for distributions that offer LTS).\nDo you really want to continue using openHABian on this system?’
    ++ timestamp
    ++ date +%F_%T_%Z
    ++ get_git_revision
    ++ local branch
    ++ local latestTag
    ++ local revCount
    ++ local shorthash
    +++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD
    ++ branch=stable
    +++ git -C /opt/openhabian describe --tags --abbrev=0
    ++ latestTag=v1.6
    +++ git -C /opt/openhabian log --oneline
    +++ wc -l
    ++ revCount=880
    +++ git -C /opt/openhabian log --pretty=format:%h -n 1
    ++ shorthash=769ea17
    ++ echo ‘[stable]v1.6-880(769ea17)’
  • echo ‘2020-10-28_10:24:48_CET [openHABian] openHABian configuration tool version: [stable]v1.6-880(769ea17)’
    2020-10-28_10:24:48_CET [openHABian] openHABian configuration tool version: [stable]v1.6-880(769ea17)
    ++ timestamp
    ++ date +%F_%T_%Z
  • echo -n '2020-10-28_10:24:48_CET [openHABian] Checking for changes in origin branch stable… ’
    2020-10-28_10:24:48_CET [openHABian] Checking for changes in origin branch stable… + is_pine64
    ++ uname -r
  • [[ 5.4.72-v7+ =~ pine64-longsleep ]]
  • return 1
  • is_jessie
  • [[ ‘’ == \j\e\s\s\i\e ]]
    ++ cat /etc/os-release
  • [[ PRETTY_NAME=“Raspbian GNU/Linux 10 (buster)”
    NAME=“Raspbian GNU/Linux”
    VERSION_ID=“10”
    VERSION=“10 (buster)”
    VERSION_CODENAME=buster
    ID=raspbian
    ID_LIKE=debian
    HOME_URL=“http://www.raspbian.org/
    SUPPORT_URL=“http://www.raspbian.org/RaspbianForums
    BUG_REPORT_URL=“http://www.raspbian.org/RaspbianBugs” =~ jessie ]]
  • return 1
  • is_xenial
  • [[ ‘’ == \x\e\n\i\a\l ]]
    ++ cat /etc/os-release
  • [[ PRETTY_NAME=“Raspbian GNU/Linux 10 (buster)”
    NAME=“Raspbian GNU/Linux”
    VERSION_ID=“10”
    VERSION=“10 (buster)”
    VERSION_CODENAME=buster
    ID=raspbian
    ID_LIKE=debian
    HOME_URL=“http://www.raspbian.org/
    SUPPORT_URL=“http://www.raspbian.org/RaspbianForums
    BUG_REPORT_URL=“http://www.raspbian.org/RaspbianBugs” =~ xenial ]]
  • return 1
  • git -C /opt/openhabian config user.email openhabian@openHABian
  • git -C /opt/openhabian config user.name openhabian
  • git -C /opt/openhabian fetch --quiet origin
    ++ git -C /opt/openhabian rev-parse stable
    ++ git -C /opt/openhabian rev-parse ‘@{u}’
  • [[ 769ea17e7e923b36f23c336656e610dd39a7c791 == 769ea17e7e923b36f23c336656e610dd39a7c791 ]]
  • echo OK
    OK
  • openhabian_announcements
  • [[ -z 1 ]]
  • local newsFile
  • local readNews
  • newsFile=/opt/openhabian/NEWS.md
  • readNews=/opt/openhabian/docs/LASTNEWS.md
  • cmp --silent /opt/openhabian/NEWS.md /opt/openhabian/docs/LASTNEWS.md
    ++ cat /opt/openhabian/NEWS.md
  • whiptail --title ‘openHABian announcements’ --yes-button ‘Stop Displaying’ --no-button ‘Keep Displaying’ --defaultno --scrolltext --yesno 'Hit tab to unselect the buttons and scroll through the text using UP/DOWN or
    PGUP/PGDN.
    All announcements will be stored in /opt/openhabian/docs/NEWSLOG.md for you to
    lookup.

August 29, 2020

Auto-backup (BETA)

openHABian can automatically take daily syncs of your internal SD card to
another card in an external port. This allows for fast swapping of cards
to reduce impact of a failed SD card.
The remaining space on the external device can also be used to setup openHABian’’'s Amanda backup system.

July 4, 2020

Wireguard VPN (BETA)

Wireguard can be deployed to enable for VPN access to your openHABian box when
it’’‘s located in some remote location.
You need to install the Wireguard client from http://www.wireguard.com/install
to your local PC or mobile device that you want to use for access.
Copy the configuration file ‘’’/etc/wireguard/wg0-client.conf’’’ from this box or
transmit QR code to load the tunnel.
Any feedback is highly appreciated on the forum.’ 27 85
++ timestamp
++ date +%F_%T_%Z

  • echo -n '2020-10-28_10:24:55_CET [openHABian] Switching to branch stable… ’
    2020-10-28_10:24:55_CET [openHABian] Switching to branch stable… + git -C /opt/openhabian checkout --quiet stable
  • echo OK
    OK
  • show_main_menu
    +++ get_git_revision
    +++ local branch
    +++ local latestTag
    +++ local revCount
    +++ local shorthash
    ++++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD
    +++ branch=stable
    ++++ git -C /opt/openhabian describe --tags --abbrev=0
    +++ latestTag=v1.6
    ++++ git -C /opt/openhabian log --oneline
    ++++ wc -l
    +++ revCount=880
    ++++ git -C /opt/openhabian log --pretty=format:%h -n 1
    +++ shorthash=769ea17
    +++ echo ‘[stable]v1.6-880(769ea17)’
    ++ whiptail --title ‘Welcome to the openHABian Configuration Tool [stable]v1.6-880(769ea17)’ --menu ‘Setup Options’ 18 116 11 --cancel-button Exit --ok-button Execute ‘00 | About openHABian’ ‘Information about the openHABian project and this tool’ ‘’ ‘’ ‘01 | Select Branch’ ‘Select the openHABian config tool version (“branch”) to run’ ‘02 | Upgrade System’ ‘Upgrade all installed software packages (incl. openHAB) to their latest version’ ‘03 | openHAB Stable’ ‘Install or upgrade to the latest stable release of openHAB 2’ ‘’ ‘’ ‘10 | Apply Improvements’ ‘Apply the latest improvements to the basic openHABian setup ►’ ‘20 | Optional Components’ ‘Choose from a set of optional software components ►’ ‘30 | System Settings’ ‘A range of system and hardware related configuration steps ►’ ‘40 | openHAB related’ ‘Switch the installed openHAB version or apply tweaks ►’ ‘50 | Backup/Restore’ ‘Manage backups and restore your system ►’
  • choice=‘30 | System Settings’
  • RET=0
  • ‘[’ 0 -eq 1 ‘]’
  • ‘[’ 0 -eq 255 ‘]’
  • [[ 30 | System Settings == ‘’ ]]
  • [[ 30 | System Settings == \0\0* ]]
  • [[ 30 | System Settings == \0\1* ]]
  • [[ 30 | System Settings == \0\2* ]]
  • [[ 30 | System Settings == \0\3* ]]
  • [[ 30 | System Settings == \1\0* ]]
  • [[ 30 | System Settings == \2\0* ]]
  • [[ 30 | System Settings == \3\0* ]]
    +++ get_git_revision
    +++ local branch
    +++ local latestTag
    +++ local revCount
    +++ local shorthash
    ++++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD
    +++ branch=stable
    ++++ git -C /opt/openhabian describe --tags --abbrev=0
    +++ latestTag=v1.6
    ++++ git -C /opt/openhabian log --oneline
    ++++ wc -l
    +++ revCount=880
    ++++ git -C /opt/openhabian log --pretty=format:%h -n 1
    +++ shorthash=769ea17
    +++ echo ‘[stable]v1.6-880(769ea17)’
    +++ hostname
    +++ env
    +++ grep ‘^[[:space:]]*LANG=’
    +++ sed ‘s|LANG=||g’
    +++ date +%H:%M
    ++ whiptail --title ‘Welcome to the openHABian Configuration Tool [stable]v1.6-880(769ea17)’ --menu ‘Setup Options’ 22 118 15 --cancel-button Back --ok-button Execute ‘31 | Change hostname’ ‘Change the name of this system, currently ‘’‘openhabianpi’’’’ ‘32 | Set system locale’ ‘Change system language, currently ‘’‘de_DE.UTF-8’’’’ ‘33 | Set system timezone’ ‘Change the your timezone, execute if it’’‘s not ‘’‘10:25’’’ now’ ’ | Enable NTP’ ‘Enable time synchronization via systemd-timesyncd to NTP servers’ ’ | Disable NTP’ ‘Disable time synchronization via systemd-timesyncd to NTP servers’ ‘34 | Change passwords’ ‘Change passwords for Samba, openHAB Console or the system user’ ‘35 | Serial port’ ‘Prepare serial ports for peripherals like Razberry, SCC, Pine64 ZWave, …’ ‘36 | WiFi setup’ ‘Configure wireless network connection’ ’ | Disable WiFi’ ‘Disable wireless network connection’ ‘37 | Move root to USB’ ‘Move the system root from the SD card to a USB device (SSD or stick)’ ‘38 | Use ZRAM’ ‘Use compressed RAM/disk sync for active directories to avoid SD card corruption’ ’ | Uninstall ZRAM’ ‘Don’’‘t use compressed memory (back to standard Raspberry Pi OS filesystem layout)’ ‘39 | Setup VPN access’ ‘Setup Wireguard to enable secure remote access to openHABian (BETA)’ ’ | Remove Wireguard VPN’ ‘Remove Wireguard VPN from openHABian’ ‘3A | Setup Exim Mail Relay’ ‘Install Exim4 to relay mails via public email provider’
  • choice2=‘37 | Move root to USB’
  • ‘[’ 0 -eq 1 ‘]’
  • ‘[’ 1 -eq 255 ‘]’
  • wait_for_apt_to_finish_update
    ++ timestamp
    ++ date +%F_%T_%Z
  • echo -n '2020-10-28_10:25:09_CET [openHABian] Updating Linux package information… ’
    2020-10-28_10:25:09_CET [openHABian] Updating Linux package information… + [[ -z 3204 ]]
  • tail --pid=3204 -f /dev/null
  • echo OK
    OK
  • case “$choice2” in
  • move_root2usb
  • [[ -z 1 ]]
  • is_pi
  • is_pizero
  • [[ ‘’ == \p\i\0 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]09[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pizerow
  • [[ ‘’ == \p\i\0\w ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[cC][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pione
  • [[ ‘’ == \p\i\1 ]]
  • grep -q ‘^Revision\s*:\s*00[0-9a-fA-F][0-9a-fA-F]$’ /proc/cpuinfo
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[0-36][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_cmone
  • [[ ‘’ == \c\m\1 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]06[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pitwo
  • [[ ‘’ == \p\i\2 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]04[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pithree
  • [[ ‘’ == \p\i\3 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]08[0-9a-fA-F]$’ /proc/cpuinfo
  • return 0
  • return 0
  • [[ -f /etc/ztab ]]
  • local newRootDev=/dev/sda
  • local newRootPart=/dev/sda1
  • local ‘introText=DANGEROUS OPERATION, USE WITH PRECAUTION!\n\nThis will move your system root from your SD card to a USB device like an SSD or a USB stick.\nATTENTION: this is NOT the recommended method to reduce wearout and failure of the SD card. If that is your intention, stop here and go for ZRAM (menu option 38).\n\nIf you still want to proceed,\n1.) Ensure your RPi model can boot from a device other than the internal SD card reader.\n2.) Make a backup of your SD card\n3.) Remove all USB mass storage devices from your Pi\n4.) Insert the USB device to be used for the new system root.\n\nTHIS DEVICE WILL BE COMPLETELY DELETED!\n\nDo you want to continue at your own risk?’
  • local rootOnSD
  • local rootPart
  • local srcSize
  • local destSize
    ++ awk -F ’ ’ ‘{ print $4 }’ /boot/cmdline.txt
    ++ sed -e ‘s|root=||g’
  • rootPart=rootfstype=ext4
    ++ blockdev --getsize64 /dev/mmcblk0
  • srcSize=15931539456
    ++ blockdev --getsize64 /dev/sda
  • destSize=512110190592
  • whiptail --title ‘Move system root to ‘’’/dev/sda1’’’?’ --yes-button Continue --no-button Cancel --yesno ‘DANGEROUS OPERATION, USE WITH PRECAUTION!\n\nThis will move your system root from your SD card to a USB device like an SSD or a USB stick.\nATTENTION: this is NOT the recommended method to reduce wearout and failure of the SD card. If that is your intention, stop here and go for ZRAM (menu option 38).\n\nIf you still want to proceed,\n1.) Ensure your RPi model can boot from a device other than the internal SD card reader.\n2.) Make a backup of your SD card\n3.) Remove all USB mass storage devices from your Pi\n4.) Insert the USB device to be used for the new system root.\n\nTHIS DEVICE WILL BE COMPLETELY DELETED!\n\nDo you want to continue at your own risk?’ 24 80
  • [[ rootfstype=ext4 == \P\A\R\T\U\U\I\D=* ]]
  • [[ rootfstype=ext4 == /\d\e\v/\m\m\c\b\l\k\0\p\2 ]]
  • [[ ‘’ != \t\r\u\e ]]
  • whiptail --title ‘System root not on SD card!’ --msgbox ‘It seems that your system root is not on the SD card.\n\nAborting, process cannot be started!’ 9 80
  • return 0
  • ‘[’ 0 -ne 0 ‘]’
  • true
  • show_main_menu
    +++ get_git_revision
    +++ local branch
    +++ local latestTag
    +++ local revCount
    +++ local shorthash
    ++++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD
    +++ branch=stable
    ++++ git -C /opt/openhabian describe --tags --abbrev=0
    +++ latestTag=v1.6
    ++++ git -C /opt/openhabian log --oneline
    ++++ wc -l
    +++ revCount=880
    ++++ git -C /opt/openhabian log --pretty=format:%h -n 1
    +++ shorthash=769ea17
    +++ echo ‘[stable]v1.6-880(769ea17)’
    ++ whiptail --title ‘Welcome to the openHABian Configuration Tool [stable]v1.6-880(769ea17)’ --menu ‘Setup Options’ 18 116 11 --cancel-button Exit --ok-button Execute ‘00 | About openHABian’ ‘Information about the openHABian project and this tool’ ‘’ ‘’ ‘01 | Select Branch’ ‘Select the openHABian config tool version (“branch”) to run’ ‘02 | Upgrade System’ ‘Upgrade all installed software packages (incl. openHAB) to their latest version’ ‘03 | openHAB Stable’ ‘Install or upgrade to the latest stable release of openHAB 2’ ‘’ ‘’ ‘10 | Apply Improvements’ ‘Apply the latest improvements to the basic openHABian setup ►’ ‘20 | Optional Components’ ‘Choose from a set of optional software components ►’ ‘30 | System Settings’ ‘A range of system and hardware related configuration steps ►’ ‘40 | openHAB related’ ‘Switch the installed openHAB version or apply tweaks ►’ ‘50 | Backup/Restore’ ‘Manage backups and restore your system ►’
  • choice=
  • RET=1
  • ‘[’ 1 -eq 1 ‘]’
  • return 255
  • system_check_default_password
  • is_pi
  • is_pizero
  • [[ ‘’ == \p\i\0 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]09[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pizerow
  • [[ ‘’ == \p\i\0\w ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[cC][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pione
  • [[ ‘’ == \p\i\1 ]]
  • grep -q ‘^Revision\s*:\s*00[0-9a-fA-F][0-9a-fA-F]$’ /proc/cpuinfo
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[0-36][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_cmone
  • [[ ‘’ == \c\m\1 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]06[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pitwo
  • [[ ‘’ == \p\i\2 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]04[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pithree
  • [[ ‘’ == \p\i\3 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]08[0-9a-fA-F]$’ /proc/cpuinfo
  • return 0
  • return 0
  • local algo
  • local defaultPassword
  • local defaultUser
  • local generatedPassword
  • local introText
  • local originalPassword
  • local salt
  • is_pi
  • is_pizero
  • [[ ‘’ == \p\i\0 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]09[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pizerow
  • [[ ‘’ == \p\i\0\w ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[cC][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pione
  • [[ ‘’ == \p\i\1 ]]
  • grep -q ‘^Revision\s*:\s*00[0-9a-fA-F][0-9a-fA-F]$’ /proc/cpuinfo
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[0-36][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_cmone
  • [[ ‘’ == \c\m\1 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]06[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pitwo
  • [[ ‘’ == \p\i\2 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]04[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pithree
  • [[ ‘’ == \p\i\3 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]08[0-9a-fA-F]$’ /proc/cpuinfo
  • return 0
  • return 0
  • id -u pi
  • is_pi
  • is_pizero
  • [[ ‘’ == \p\i\0 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]09[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pizerow
  • [[ ‘’ == \p\i\0\w ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[cC][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pione
  • [[ ‘’ == \p\i\1 ]]
  • grep -q ‘^Revision\s*:\s*00[0-9a-fA-F][0-9a-fA-F]$’ /proc/cpuinfo
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]0[0-36][0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_cmone
  • [[ ‘’ == \c\m\1 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]06[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pitwo
  • [[ ‘’ == \p\i\2 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]04[0-9a-fA-F]$’ /proc/cpuinfo
  • return 1
  • is_pithree
  • [[ ‘’ == \p\i\3 ]]
  • grep -q ‘^Revision\s*:\s*[ 123][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]08[0-9a-fA-F]$’ /proc/cpuinfo
  • return 0
  • return 0
  • defaultUser=openhabian
  • defaultPassword=openhabian
    ++ grep -w openhabian /etc/shadow
    ++ cut -d: -f2
  • originalPassword=’$6$rp4IMmES0VzcA.b8$jraLekpDaxPTu7KmUU5IYBb.O3SlmRSP1o8IDr1mmkj4J1hzoIlDa5AYjBZ0HoIfoTqR/nrNang5ZZudpJDpL0’
    ++ echo ‘$6$rp4IMmES0VzcA.b8$jraLekpDaxPTu7KmUU5IYBb.O3SlmRSP1o8IDr1mmkj4J1hzoIlDa5AYjBZ0HoIfoTqR/nrNang5ZZudpJDpL0’
    ++ cut ‘-d$’ -f2
  • algo=6
  • introText=‘The default password was detected on your system! That is a serious security concern. Bad guys or malicious programs in your subnet are able to gain root access!\n\nPlease set a strong password by typing the command ‘’‘passwd openhabian’’’!’
    ++ echo ‘$6$rp4IMmES0VzcA.b8$jraLekpDaxPTu7KmUU5IYBb.O3SlmRSP1o8IDr1mmkj4J1hzoIlDa5AYjBZ0HoIfoTqR/nrNang5ZZudpJDpL0’
    ++ cut ‘-d$’ -f3
  • salt=rp4IMmES0VzcA.b8
  • export algo defaultPassword salt
    ++ perl -le ‘print crypt("$ENV{defaultPassword}","$$ENV{algo}$$ENV{salt}$")’
  • generatedPassword=’$6$rp4IMmES0VzcA.b8$2wLGBgmZ6bL2C0iZoY0R0hqKIUkJEmMgg71iSk/aXVKI8FB4jMuaxiSZo9cxwpYFE30WFApAh6sMZ7TUxUc6R1’
    ++ timestamp
    ++ date +%F_%T_%Z
  • echo -n '2020-10-28_10:25:52_CET [openHABian] Checking for default openHABian username:password combination… ’
    2020-10-28_10:25:52_CET [openHABian] Checking for default openHABian username:password combination… ++ id -u openhabian
  • [[ -n 1000 ]]
  • [[ $6$rp4IMmES0VzcA.b8$2wLGBgmZ6bL2C0iZoY0R0hqKIUkJEmMgg71iSk/aXVKI8FB4jMuaxiSZo9cxwpYFE30WFApAh6sMZ7TUxUc6R1 == $\6$\r\p\4\I\M\m\E\S\0\V\z\c\A.\b\8$\j\r\a\L\e\k\p\D\a\x\P\T\u\7\K\m\U\U\5\I\Y\B\b.\O\3\S\l\m\R\S\P\1\o\8\I\D\r\1\m\m\k\j\4\J\1\h\z\o\I\l\D\a\5\A\Y\j\B\Z\0\H\o\I\f\o\T\q\R/\n\r\N\a\n\g\5\Z\Z\u\d\p\J\D\p\L\0 ]]
  • echo OK
    OK
    ++ timestamp
    ++ date +%F_%T_%Z
  • echo -e ‘2020-10-28_10:25:52_CET [openHABian] We hope you got what you came for! See you again soon ;)’
    2020-10-28_10:25:52_CET [openHABian] We hope you got what you came for! See you again soon :wink:
  • cd /home/openhabian

Switch to openHABian master branch and retry if you still really want to do that. I’ve added a fix there.
But before you decide, let me remind you that HW modifications are not at all recommended as they just introduce a whole ****load of new problems and you will have to expect future compatibility problems.
As I wrote the more intelligent way to avoid SD wearout problems is to go ZRAM.

PS: and use code fences please.

Hi, an intermediate status from my system after day one: First at beginning everything looked quite okay, only the speed of OH was a bit slower from start on (and it came never faster the hole day). No new error messages. Half day later system it went slower and slower. HABpanel stucked a lot, need minutes to change values … Zwave found some errors without saying what kind of they are (just numbers). I stopped, cleaned the cache, started again, but even the same result. At evening before sunset, system slowed down, particulary offline. The only error message which sometimes appears was

" Dispatching event to subscriber ‘org.eclipse.smarthome.core.internal.items.ItemUpdater@129394d’ takes more than 5000ms."

As I know from past times experience this is the time bettter to stop OH, otherwise the “self-destroying-mode” so I call it, starts. OH than start to kill things items and tranfser them to the inbox… Which means for me I can start from scratch and restore.

Under the line, I didn’t get any progress with my problem. Sorry, don’t want to sound negative, but since 5.x I have trouble with my system. I supect the reason for all of the issues is a pure management with the memory space. Since I have now 17 pages in HABpanel I have memory issues. Is there maybe a limitation of dashboard size?

It’s impossible to deduce a cause from this variety of symptoms, but if I was to guess you simply run out of memory and your system is busy paging.
You will have to mostly debug that on your own, this cannot be done from remote and is beyond the scope of this forum (and it’s time consuming so probably noone is willing to).

Some stuff to look after:

  • how much swap do you have ? use zram ?
    Should be fine if you really installed openHABian but see outputs of swapon -s and zramctl
    do you run stuff other than OH ? InfluxDB, Grafana ? Stop them, it’s just too much for a RPi3.
  • use htop and iostat to find out about memory consumption. G**gle for help.
  • setup monitoring to find out if memory usage is growing. It should settle after a while. If it does not you have a mem leak. Gradually disable components like HabPanel and bindings to find out when memory use starts to remain stable without these.
    Good luck.

It certainly used to be possible to build HABpanels that walloped the OH server. I believe there was work on this though.

I do recall that HABpanel was likely to flush out “weird” Items. You can try a test independent of HABpanel.
Just use REST API to get a list of all your Items, and see how long that takes.

I’ve got a critical issue during I had reduced the size of HABpanel by replace two customized icons with standard icons. I still think all my issues are related to memory problems with HABpanel. Before all my problems started I was editing the panel.

2020-11-03 09:43:04.685 [ERROR] [ore.thing.internal.ThingRegistryImpl] - Could not inform the ThingTracker 'org.eclipse.smarthome.core.thing.internal.ThingManagerImpl@17eaf76' about the 'THING_UPDATED' event!

java.lang.reflect.UndeclaredThrowableException: null

	at com.sun.proxy.$Proxy309.thingUpdated(Unknown Source) ~[?:?]

	at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.thingUpdated(ThingManagerImpl.java:498) ~[bundleFile:?]

	at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:220) [bundleFile:?]

	at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:144) [bundleFile:?]

	at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:1) [bundleFile:?]

	at org.eclipse.smarthome.core.common.registry.AbstractRegistry.updated(AbstractRegistry.java:291) [bundleFile:?]

	at org.eclipse.smarthome.core.common.registry.AbstractRegistry.updated(AbstractRegistry.java:1) [bundleFile:?]

	at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:62) [bundleFile:?]

	at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutUpdatedElement(AbstractProvider.java:87) [bundleFile:?]

	at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.update(AbstractManagedProvider.java:119) [bundleFile:?]

	at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl$1$1.run(ThingManagerImpl.java:261) [bundleFile:?]

	at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl$1$1.run(ThingManagerImpl.java:1) [bundleFile:?]

	at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_265]

	at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl$1.thingUpdated(ThingManagerImpl.java:249) [bundleFile:?]

	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateProperty(BaseThingHandler.java:517) [bundleFile:?]

	at org.openhab.binding.milight.internal.handler.BridgeV6Handler.sessionStateChanged(BridgeV6Handler.java:104) [bundleFile:?]

	at org.openhab.binding.milight.internal.protocol.MilightV6SessionManager.sessionStateMachine(MilightV6SessionManager.java:500) [bundleFile:?]

	at org.openhab.binding.milight.internal.protocol.MilightV6SessionManager.run(MilightV6SessionManager.java:667) [bundleFile:?]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]

Caused by: java.lang.InterruptedException

	at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:404) ~[?:1.8.0_265]

	at java.util.concurrent.FutureTask.get(FutureTask.java:204) ~[?:1.8.0_265]

	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:66) ~[?:?]

	... 19 more

Could it be physical faulty memory? (ie hardware failure).

To make a long story short: I solved ALL my different issues by follow one main strategy: Ensure, never run out of memory or let it come to a critical level of less free memory. I actually reached that aim by change couple of things.

1. Switched to the latest hardware

  • upgraded from Raspberry 3b to Raspberry 4b 4 Gbyte.
  • enlarged JAVA heap memory plus 1 Gbyte: EXTRA_JAVA_OPTS="-Xms1024m -Xmx1024m. So now 1.4 Gbyte of memory are stable allways in use and not growing anymore. My HABpanel needs a lot of memory. I run the UI on 3 different hardware platforms at the same time with two different HABpanel configurations. Also ZWAVE produced before on my RSP3 a lot of checksum errors. None checksum errors anymore on the new device! Most of issues were eliminated as I had switched to RSP4.

2. Fixed if possible open bugs and warnings first

I fixed if possible bugs in my source code, even so “harmless” bugs e.g. NULL based errors. They eating all the day a bit of the free memory! As well I improved my spaghetti coded rules:
I replaced most of my do-while loops and a lot of sleep threads by using the timer function.

3. Restarted with a clean up-to-date well configured software package

I started from scratch the system with the latest latest openhabian package. I decided to stay on OH2 for the moment, so I used the workaround of the downgrade option OH3 to OH2 from openhabians menu. The full automated installation script of openhabian - if I am right - installs fixed the latest OH3. But no problem, at the openhabian menu you can find all needed progs and tools to customize your system finally, if needed. E.g. support to transit the root to a HDD, the way I prefered. Last not least restored my backuped OH2 origin data.

So I am very happy to be able run finally a stable & super fast openhab solution. Thanks to all for your support!

1 Like