SOLVED: OH stops after a day with OutOfMemory

Hi, since I am upgraded OH 2.4.x to 2.5.x I have issues with JAVA out of memories.

Now, with release OH 2.5.9 the stop of system doesn’t need 3 days it stopps now after one day aproximatley.

Maybe it’s now the best time to find a solution for this long existing problem. I bet on you experts!

Oct 25 09:48:31 openHABianPi karaf[11319]: java.lang.OutOfMemoryError: Java heap space
Oct 25 09:48:46 openHABianPi karaf[11319]: Exception in thread “presenceDetectionARP_192.168.178.23 eth0” java.lang.OutOfMemoryError: Java heap space
Oct 25 09:48:46 openHABianPi karaf[11319]: Exception in thread “process reaper” java.lang.OutOfMemoryError: Java heap space
Oct 25 09:53:42 openHABianPi karaf[11319]: java.lang.OutOfMemoryError: Java heap space
Oct 25 09:58:37 openHABianPi karaf[11319]: Exception in thread “presenceDetectionICMP_192.168.178.23” Exception in thread “ZWaveNode23Init2020-10-25 05:32:17.815” java.lang.OutOfMemoryError: Java heap space
Oct 25 10:00:43 openHABianPi karaf[11319]: Exception in thread “presenceDetectionICMP_192.168.178.30” java.lang.OutOfMemoryError: Java heap space
Oct 25 10:04:55 openHABianPi karaf[11319]: Exception in thread “presenceDetectionARP_192.168.178.30 eth0” Exception in thread “OkHttp Dispatcher” java.lang.OutOfMemoryError: Java heap space
Oct 25 10:04:55 openHABianPi karaf[11319]: java.lang.OutOfMemoryError: Java heap space
Oct 25 10:04:55 openHABianPi karaf[11319]: Exception in thread “OH-OSGiEventManager” java.lang.OutOfMemoryError: Java heap space
Oct 25 10:05:06 openHABianPi karaf[11319]: Exception in thread “ZWaveReceiveInputThread” java.lang.OutOfMemoryError: Java heap space

I already uninstalled the chrome binding, with no real better results. I cleared the cache, problem still exists.

My feeling is that the problem is releated to HABpanel. It works sometimes very slow and the updates of items values doesn’ work correctly or just when I reloaded the page.

Please help!

Kind regards,
Gordon

Not a general issue, please respect posting rules.

You should give more details (on HW, OS etc) if you want help

Sure, I like to do :slight_smile:

  • Hardware: Raspberry Pi 3 Model B Rev 1.2, 16 GB
  • OS: Raspbian GNU/Linux 9 (stretch) Linux openHABianPi 4.19.66-v7+ #1253 SMP
  • Java Runtime Environment: openjdk version “1.8.0_152”
    OpenJDK Runtime Environment (Zulu Embedded 8.25.0.76-linux-
    aarch32hf) (build 1.8.0_152-b76)
    OpenJDK Client VM (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build
    25.152-b76, mixed mode, Evaluation)
  • openHAB version: openHAB 2.5.9-1 (Release Build)

Kind regards,
Gordon

and here are my used bindings:

That is so ancient it’s probably not optimozed for memory use.
See if -Xmx parameter to Java is set in /etc/default/openhab2 EXTRA_JAVA_OPTS.
Either way I suggest you install a recent openHABian.

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?