2022-09-29_22:49:25_CEST [openHABian] Checking for root privileges... OK + export UNATTENDED SILENT DEBUGMAX INTERACTIVE + for shfile in "${BASEDIR:-/opt/openhabian}"/functions/*.bash + source /opt/openhabian/functions/auth.bash + 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/habapp.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/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 + update_openhabian_conf + local configFile=/etc/openhabian.conf + local referenceConfig=/opt/openhabian/build-image/openhabian.conf + cp /etc/openhabian.conf /etc/openhabian.conf.BAK + read -r line + [[ # Origin: openhabian.conf =~ ^(#)?[a-zA-Z] ]] + echo '# Origin: openhabian.conf' + read -r line + [[ # =~ ^(#)?[a-zA-Z] ]] + echo '#' + read -r line + [[ # Modify your openHABian settings =~ ^(#)?[a-zA-Z] ]] + echo '# Modify your openHABian settings' + read -r line + [[ # Handle with care, only touch if you need to! =~ ^(#)?[a-zA-Z] ]] + echo '# Handle with care, only touch if you need to!' + read -r line + [[ # This file will only be used on unattended initial install. =~ ^(#)?[a-zA-Z] ]] + echo '# This file will only be used on unattended initial install.' + read -r line + [[ # If you want to change anything after unattended install completed, use menu in openhabian-config. =~ ^(#)?[a-zA-Z] ]] + echo '# If you want to change anything after unattended install completed, use menu in openhabian-config.' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # ATTENTION: to disable an option a line MUST be of the format '# option=value' =~ ^(#)?[a-zA-Z] ]] + echo '# ATTENTION: to disable an option a line MUST be of the format '\''# option=value'\''' + read -r line + [[ # KEEP THE SPACE IT IS IMPORTANT !! =~ ^(#)?[a-zA-Z] ]] + echo '# KEEP THE SPACE IT IS IMPORTANT !!' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Hostname to set this one to =~ ^(#)?[a-zA-Z] ]] + echo '# Hostname to set this one to' + read -r line + [[ hostname=openhabian =~ ^(#)?[a-zA-Z] ]] + parsed=hostname=openhabian + [[ hostname=openhabian =~ ^#[a-zA-Z] ]] ++ echo hostname=openhabian ++ cut -d= -f1 + param=hostname + [[ -v hostname ]] + [[ openhabian == *\ * ]] + echo hostname=openhabian + read -r line + [[ # if it exists, the default user (with its working environment) will be renamed to this username given here ... =~ ^(#)?[a-zA-Z] ]] + echo '# if it exists, the default user (with its working environment) will be renamed to this username given here ...' + read -r line + [[ username=openhabian =~ ^(#)?[a-zA-Z] ]] + parsed=username=openhabian + [[ username=openhabian =~ ^#[a-zA-Z] ]] ++ echo username=openhabian ++ cut -d= -f1 + param=username + [[ -v username ]] + [[ openhabian == *\ * ]] + echo username=openhabian + read -r line + [[ # ... and given this password. The password will be removed from this file after completion for security reasons. =~ ^(#)?[a-zA-Z] ]] + echo '# ... and given this password. The password will be removed from this file after completion for security reasons.' + read -r line + [[ userpw=openhabian =~ ^(#)?[a-zA-Z] ]] + parsed=userpw=openhabian + [[ userpw=openhabian =~ ^#[a-zA-Z] ]] ++ echo userpw=openhabian ++ cut -d= -f1 + param=userpw + [[ -v userpw ]] + [[ openhabian == *\ * ]] + echo userpw=openhabian + read -r line + [[ # set this to download a SSH key and authorize the owner to login as the admin user =~ ^(#)?[a-zA-Z] ]] + echo '# set this to download a SSH key and authorize the owner to login as the admin user' + read -r line + [[ adminkeyurl="" =~ ^(#)?[a-zA-Z] ]] + parsed='adminkeyurl=""' + [[ adminkeyurl="" =~ ^#[a-zA-Z] ]] ++ echo 'adminkeyurl=""' ++ cut -d= -f1 + param=adminkeyurl + [[ -v adminkeyurl ]] + [[ '' == *\ * ]] + echo adminkeyurl= + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Language and timezone. See Debian documentation for valid values. =~ ^(#)?[a-zA-Z] ]] + echo '# Language and timezone. See Debian documentation for valid values.' + read -r line + [[ timezone=Europe/Berlin =~ ^(#)?[a-zA-Z] ]] + parsed=timezone=Europe/Berlin + [[ timezone=Europe/Berlin =~ ^#[a-zA-Z] ]] ++ echo timezone=Europe/Berlin ++ cut -d= -f1 + param=timezone + [[ -v timezone ]] + [[ Europe/Berlin == *\ * ]] + echo timezone=Europe/Berlin + read -r line + [[ locales="en_US.UTF-8 de_DE.UTF-8" =~ ^(#)?[a-zA-Z] ]] + parsed='locales="en_US.UTF-8 de_DE.UTF-8"' + [[ locales="en_US.UTF-8 de_DE.UTF-8" =~ ^#[a-zA-Z] ]] ++ echo 'locales="en_US.UTF-8 de_DE.UTF-8"' ++ cut -d= -f1 + param=locales + [[ -v locales ]] + [[ en_US.UTF-8 de_DE.UTF-8 == *\ * ]] + echo 'locales="en_US.UTF-8 de_DE.UTF-8"' + read -r line + [[ system_default_locale="en_US.UTF-8" =~ ^(#)?[a-zA-Z] ]] + parsed='system_default_locale="en_US.UTF-8"' + [[ system_default_locale="en_US.UTF-8" =~ ^#[a-zA-Z] ]] ++ cut -d= -f1 ++ echo 'system_default_locale="en_US.UTF-8"' + param=system_default_locale + [[ -v system_default_locale ]] + [[ en_US.UTF-8 == *\ * ]] + echo system_default_locale=en_US.UTF-8 + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # WiFi settings. An ethernet connection is recommended. =~ ^(#)?[a-zA-Z] ]] + echo '# WiFi settings. An ethernet connection is recommended.' + read -r line + [[ # If you have a RPi4, RPi3, RPi0W or a supported external WiFi dongle, the WiFi =~ ^(#)?[a-zA-Z] ]] + echo '# If you have a RPi4, RPi3, RPi0W or a supported external WiFi dongle, the WiFi' + read -r line + [[ # interface can be setup and used for the initial installation. =~ ^(#)?[a-zA-Z] ]] + echo '# interface can be setup and used for the initial installation.' + read -r line + [[ # Fill in your SSID and password below, leave empty or put comment in front to =~ ^(#)?[a-zA-Z] ]] + echo '# Fill in your SSID and password below, leave empty or put comment in front to' + read -r line + [[ # have your WiFi remain unchanged/uninitialized. Make sure your Ethernet works. =~ ^(#)?[a-zA-Z] ]] + echo '# have your WiFi remain unchanged/uninitialized. Make sure your Ethernet works.' + read -r line + [[ # ATTENTION: you need to escape these special characters: $, `, ", \, (newline) =~ ^(#)?[a-zA-Z] ]] + echo '# ATTENTION: you need to escape these special characters: $, `, ", \, (newline)' + read -r line + [[ # 'Escaping' means to put an additional \ in front of that character =~ ^(#)?[a-zA-Z] ]] + echo '# '\''Escaping'\'' means to put an additional \ in front of that character' + read -r line + [[ wifi_ssid="" =~ ^(#)?[a-zA-Z] ]] + parsed='wifi_ssid=""' + [[ wifi_ssid="" =~ ^#[a-zA-Z] ]] ++ echo 'wifi_ssid=""' ++ cut -d= -f1 + param=wifi_ssid + [[ -v wifi_ssid ]] + [[ '' == *\ * ]] + echo wifi_ssid= + read -r line + [[ wifi_password="" =~ ^(#)?[a-zA-Z] ]] + parsed='wifi_password=""' + [[ wifi_password="" =~ ^#[a-zA-Z] ]] ++ echo 'wifi_password=""' ++ cut -d= -f1 + param=wifi_password + [[ -v wifi_password ]] + [[ '' == *\ * ]] + echo wifi_password= + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Wi-Fi setting. Select a two-letter country code suitable for your location =~ ^(#)?[a-zA-Z] ]] + echo '# Wi-Fi setting. Select a two-letter country code suitable for your location' + read -r line + [[ # E.g. US (default), DE, AU, NZ... =~ ^(#)?[a-zA-Z] ]] + echo '# E.g. US (default), DE, AU, NZ...' + read -r line + [[ # You may infringe on local legislature otherwise =~ ^(#)?[a-zA-Z] ]] + echo '# You may infringe on local legislature otherwise' + read -r line + [[ # See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 or /usr/share/zoneinfo/zone.tab =~ ^(#)?[a-zA-Z] ]] + echo '# See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 or /usr/share/zoneinfo/zone.tab' + read -r line + [[ wifi_country="" =~ ^(#)?[a-zA-Z] ]] + parsed='wifi_country=""' + [[ wifi_country="" =~ ^#[a-zA-Z] ]] ++ echo 'wifi_country=""' ++ cut -d= -f1 + param=wifi_country + [[ -v wifi_country ]] + [[ '' == *\ * ]] + echo wifi_country= + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Eventually disable all IPv6 e.g. on installation problems =~ ^(#)?[a-zA-Z] ]] + echo '# Eventually disable all IPv6 e.g. on installation problems' + read -r line + [[ # values: "enable", "disable" =~ ^(#)?[a-zA-Z] ]] + echo '# values: "enable", "disable"' + read -r line + [[ ipv6=enable =~ ^(#)?[a-zA-Z] ]] + parsed=ipv6=enable + [[ ipv6=enable =~ ^#[a-zA-Z] ]] ++ echo ipv6=enable ++ cut -d= -f1 + param=ipv6 + [[ -v ipv6 ]] + [[ enable == *\ * ]] + echo ipv6=enable + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # repo and branch to clone from =~ ^(#)?[a-zA-Z] ]] + echo '# repo and branch to clone from' + read -r line + [[ repositoryurl=https://github.com/openhab/openhabian.git =~ ^(#)?[a-zA-Z] ]] + parsed=repositoryurl=https://github.com/openhab/openhabian.git + [[ repositoryurl=https://github.com/openhab/openhabian.git =~ ^#[a-zA-Z] ]] ++ echo repositoryurl=https://github.com/openhab/openhabian.git ++ cut -d= -f1 + param=repositoryurl + [[ -v repositoryurl ]] + [[ https://github.com/openhab/openhabian == *\ * ]] + echo repositoryurl=https://github.com/openhab/openhabian + read -r line + [[ clonebranch=openHAB3 =~ ^(#)?[a-zA-Z] ]] + parsed=clonebranch=openHAB3 + [[ clonebranch=openHAB3 =~ ^#[a-zA-Z] ]] ++ echo clonebranch=openHAB3 ++ cut -d= -f1 + param=clonebranch + [[ -v clonebranch ]] + [[ openHAB3 == *\ * ]] + echo clonebranch=openHAB3 + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # initial openHAB configuration to import (URL or filename) =~ ^(#)?[a-zA-Z] ]] + echo '# initial openHAB configuration to import (URL or filename)' + read -r line + [[ # the file needs to be a zip archive created from openhab-cli backup =~ ^(#)?[a-zA-Z] ]] + echo '# the file needs to be a zip archive created from openhab-cli backup' + read -r line + [[ # initialconfig=/boot/initial.zip =~ ^(#)?[a-zA-Z] ]] + echo '# initialconfig=/boot/initial.zip' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # debug verbosity mode =~ ^(#)?[a-zA-Z] ]] + echo '# debug verbosity mode' + read -r line + [[ # off, on (verbose output in log) or maximum (show every command) =~ ^(#)?[a-zA-Z] ]] + echo '# off, on (verbose output in log) or maximum (show every command)' + read -r line + [[ debugmode=off =~ ^(#)?[a-zA-Z] ]] + parsed=debugmode=off + [[ debugmode=off =~ ^#[a-zA-Z] ]] ++ echo debugmode=off ++ cut -d= -f1 + param=debugmode + [[ -v debugmode ]] + [[ maximum == *\ * ]] + echo debugmode=maximum + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # the framebuffer on RPi is enabled by default =~ ^(#)?[a-zA-Z] ]] + echo '# the framebuffer on RPi is enabled by default' + read -r line + [[ framebuffer=enable =~ ^(#)?[a-zA-Z] ]] + parsed=framebuffer=enable + [[ framebuffer=enable =~ ^#[a-zA-Z] ]] ++ echo framebuffer=enable ++ cut -d= -f1 + param=framebuffer + [[ -v framebuffer ]] + [[ enable == *\ * ]] + echo framebuffer=enable + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # fake hardware =~ ^(#)?[a-zA-Z] ]] + echo '# fake hardware' + read -r line + [[ # force treating your box as if it was a ... =~ ^(#)?[a-zA-Z] ]] + echo '# force treating your box as if it was a ...' + read -r line + [[ # pi4, pi4_8gb, cm4, pi400, pi3, cm3, pi3+, cm3+, pi2, pi1, cm1, pi0, pi0w, pi0w2, x86 =~ ^(#)?[a-zA-Z] ]] + echo '# pi4, pi4_8gb, cm4, pi400, pi3, cm3, pi3+, cm3+, pi2, pi1, cm1, pi0, pi0w, pi0w2, x86' + read -r line + [[ # hw= =~ ^(#)?[a-zA-Z] ]] + echo '# hw=' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Hardware architecture =~ ^(#)?[a-zA-Z] ]] + echo '# Hardware architecture' + read -r line + [[ # x86_64, amd64, armv6l, armv7l, aarch64, arm64 =~ ^(#)?[a-zA-Z] ]] + echo '# x86_64, amd64, armv6l, armv7l, aarch64, arm64' + read -r line + [[ # hwarch= =~ ^(#)?[a-zA-Z] ]] + echo '# hwarch=' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # OS distribution/release =~ ^(#)?[a-zA-Z] ]] + echo '# OS distribution/release' + read -r line + [[ # Valid arguments: raspios, raspbian, debian, ubuntu, stretch, buster, bullseye, bionic, focal =~ ^(#)?[a-zA-Z] ]] + echo '# Valid arguments: raspios, raspbian, debian, ubuntu, stretch, buster, bullseye, bionic, focal' + read -r line + [[ # osrelease= =~ ^(#)?[a-zA-Z] ]] + echo '# osrelease=' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Java version to install =~ ^(#)?[a-zA-Z] ]] + echo '# Java version to install' + read -r line + [[ java_opt=11 =~ ^(#)?[a-zA-Z] ]] + parsed=java_opt=11 + [[ java_opt=11 =~ ^#[a-zA-Z] ]] ++ echo java_opt=11 ++ cut -d= -f1 + param=java_opt + [[ -v java_opt ]] + [[ 11 == *\ * ]] + echo java_opt=11 + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # install zram per default, set to "disable" to skip installation =~ ^(#)?[a-zA-Z] ]] + echo '# install zram per default, set to "disable" to skip installation' + read -r line + [[ zraminstall=enable =~ ^(#)?[a-zA-Z] ]] + parsed=zraminstall=enable + [[ zraminstall=enable =~ ^#[a-zA-Z] ]] ++ cut -d= -f1 ++ echo zraminstall=enable + param=zraminstall + [[ -v zraminstall ]] + [[ enable == *\ * ]] + echo zraminstall=enable + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # start comitup hotspot if internet is not reachable =~ ^(#)?[a-zA-Z] ]] + echo '# start comitup hotspot if internet is not reachable' + read -r line + [[ hotspot=enable =~ ^(#)?[a-zA-Z] ]] + parsed=hotspot=enable + [[ hotspot=enable =~ ^#[a-zA-Z] ]] ++ echo hotspot=enable ++ cut -d= -f1 + param=hotspot + [[ -v hotspot ]] + [[ enable == *\ * ]] + echo hotspot=enable + read -r line + [[ hotspotpw=openhabian =~ ^(#)?[a-zA-Z] ]] + parsed=hotspotpw=openhabian + [[ hotspotpw=openhabian =~ ^#[a-zA-Z] ]] ++ echo hotspotpw=openhabian ++ cut -d= -f1 + param=hotspotpw + [[ -v hotspotpw ]] + [[ openhabian == *\ * ]] + echo hotspotpw=openhabian + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # external SD card device to backup and mirror the internal SD card to =~ ^(#)?[a-zA-Z] ]] + echo '# external SD card device to backup and mirror the internal SD card to' + read -r line + [[ # backupdrive=/dev/sda =~ ^(#)?[a-zA-Z] ]] + echo '# backupdrive=/dev/sda' + read -r line + [[ storageconfig=openhab-dir =~ ^(#)?[a-zA-Z] ]] + parsed=storageconfig=openhab-dir + [[ storageconfig=openhab-dir =~ ^#[a-zA-Z] ]] ++ echo storageconfig=openhab-dir ++ cut -d= -f1 + param=storageconfig + [[ -v storageconfig ]] + [[ openhab-dir == *\ * ]] + echo storageconfig=openhab-dir + read -r line + [[ storagedir=/storage =~ ^(#)?[a-zA-Z] ]] + parsed=storagedir=/storage + [[ storagedir=/storage =~ ^#[a-zA-Z] ]] ++ cut -d= -f1 ++ echo storagedir=/storage + param=storagedir + [[ -v storagedir ]] + [[ /storage == *\ * ]] + echo storagedir=/storage + read -r line + [[ storagetapes=15 =~ ^(#)?[a-zA-Z] ]] + parsed=storagetapes=15 + [[ storagetapes=15 =~ ^#[a-zA-Z] ]] ++ cut -d= -f1 ++ echo storagetapes=15 + param=storagetapes + [[ -v storagetapes ]] + [[ 15 == *\ * ]] + echo storagetapes=15 + read -r line + [[ storagecapacity=1024 =~ ^(#)?[a-zA-Z] ]] + parsed=storagecapacity=1024 + [[ storagecapacity=1024 =~ ^#[a-zA-Z] ]] ++ echo storagecapacity=1024 ++ cut -d= -f1 + param=storagecapacity + [[ -v storagecapacity ]] + [[ 32768 == *\ * ]] + echo storagecapacity=32768 + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # mail relay settings =~ ^(#)?[a-zA-Z] ]] + echo '# mail relay settings' + read -r line + [[ # adminmail=john.doe@foo.bar =~ ^(#)?[a-zA-Z] ]] + echo '# adminmail=john.doe@foo.bar' + read -r line + [[ # relayuser=john.doe@foo.bar =~ ^(#)?[a-zA-Z] ]] + echo '# relayuser=john.doe@foo.bar' + read -r line + [[ # relaypass=secret =~ ^(#)?[a-zA-Z] ]] + echo '# relaypass=secret' + read -r line + [[ # smarthost=smtp.gmail.com =~ ^(#)?[a-zA-Z] ]] + echo '# smarthost=smtp.gmail.com' + read -r line + [[ # smartport=587 =~ ^(#)?[a-zA-Z] ]] + echo '# smartport=587' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Tailscale VPN =~ ^(#)?[a-zA-Z] ]] + echo '# Tailscale VPN' + read -r line + [[ # preauthkey=tskey-xxxxxxxxxxxxxxxxx =~ ^(#)?[a-zA-Z] ]] + echo '# preauthkey=tskey-xxxxxxxxxxxxxxxxx' + read -r line + [[ # tstags=tag:client =~ ^(#)?[a-zA-Z] ]] + echo '# tstags=tag:client' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # Custom log files =~ ^(#)?[a-zA-Z] ]] + echo '# Custom log files' + read -r line + [[ # custom_log_files=("/var/log/foo.log" "/var/log/bar.log") =~ ^(#)?[a-zA-Z] ]] + echo '# custom_log_files=("/var/log/foo.log" "/var/log/bar.log")' + read -r line + [[ '' =~ ^(#)?[a-zA-Z] ]] + echo '' + read -r line + [[ # vim: filetype=sh =~ ^(#)?[a-zA-Z] ]] + echo '# vim: filetype=sh' + read -r line + [[ -f /etc/init.d/openhabian-config ]] + config_ipv6 + local aptConf=/etc/apt/apt.conf.d/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 + export PID_APT=4603 + PID_APT=4603 + whiptail_check ++ command -v whiptail + nohup apt-get update + [[ -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 ++ printf '%(%F_%T_%Z)T\n' -1 + echo -n '2022-09-29_22:49:27_CEST [openHABian] Loading configuration file '\''/etc/openhabian.conf'\''... ' 2022-09-29_22:49:27_CEST [openHABian] Loading configuration file '/etc/openhabian.conf'... ++ getent group openhabian + [[ ! -n openhabian:x:1000:openhabian,frontail ]] + id -u openhabian + source /etc/openhabian.conf ++ hostname=openhabian ++ username=openhabian ++ userpw=openhabian ++ adminkeyurl= ++ timezone=Europe/Berlin ++ locales='en_US.UTF-8 de_DE.UTF-8' ++ system_default_locale=en_US.UTF-8 ++ wifi_ssid= ++ wifi_password= ++ wifi_country= ++ ipv6=enable ++ repositoryurl=https://github.com/openhab/openhabian ++ clonebranch=openHAB3 ++ debugmode=maximum ++ framebuffer=enable ++ java_opt=11 ++ zraminstall=enable ++ hotspot=enable ++ hotspotpw=openhabian ++ storageconfig=openhab-dir ++ storagedir=/storage ++ storagetapes=15 ++ storagecapacity=32768 + echo OK OK + openhabian_console_check + [[ -z 1 ]] ++ tput cols + [[ 211 -ge 120 ]] + return 0 + openhabian_update_check + [[ -z 1 ]] + local branch + local introText + local unsupportedOSText + branch=openHAB3 + 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.' + 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 ++ printf '%(%F_%T_%Z)T\n' -1 ++ get_git_revision ++ local branch ++ local commitDate ++ local shorthash +++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD ++ branch=openHAB3 +++ git -C /opt/openhabian log --pretty=format:%aI -n 1 ++ commitDate=2022-08-24T11:37:05+02:00 +++ git -C /opt/openhabian log --pretty=format:%h -n 1 ++ shorthash=4a11e45 ++ echo '[openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45)' + echo '2022-09-29_22:49:27_CEST [openHABian] openHABian configuration tool version: [openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45)' 2022-09-29_22:49:27_CEST [openHABian] openHABian configuration tool version: [openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45) ++ timestamp ++ printf '%(%F_%T_%Z)T\n' -1 + echo -n '2022-09-29_22:49:27_CEST [openHABian] Checking for changes in origin branch openHAB3... ' 2022-09-29_22:49:27_CEST [openHABian] Checking for changes in origin branch openHAB3... + is_stretch + [[ '' == \s\t\r\e\t\c\h ]] ++ cat /etc/os-release + [[ PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)" NAME="Raspbian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye 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" =~ stretch ]] + return 1 + is_xenial + [[ '' == \x\e\n\i\a\l ]] ++ cat /etc/os-release + [[ PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)" NAME="Raspbian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye 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 openHAB3 ++ git -C /opt/openhabian rev-parse '@{u}' + [[ 4a11e45639661dfc670d61e15706c62f81e11704 == 4a11e45639661dfc670d61e15706c62f81e11704 ]] + echo OK OK + openhabian_announcements + [[ -z 1 ]] + local altReadNews + local newsFile + local readNews + altReadNews=/tmp/NEWS.md + newsFile=/opt/openhabian/NEWS.md + readNews=/opt/openhabian/docs/NEWS.md + cmp --silent /opt/openhabian/NEWS.md /opt/openhabian/docs/NEWS.md + cmp --silent /opt/openhabian/NEWS.md /tmp/NEWS.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 buttons and scroll through the text using UP/DOWN or PGUP/PGDN. All announcements are stored in `/opt/openhabian/docs/CHANGELOG.md` for you to lookup. ## Raspberry Imager ## August 17, 2022 Now openHABian can be selected directly within Raspberry Imager to write the image to an SD card. ## Zigbee2MQTT ## April 17, 2022 Zigbee2MQTT enables to connect a Zigbee-Network via MQTT. Zigbee2MQTT supports a huge number of devices, even many brands with non-standard zigbee- implementations. It provides a web-based configuration interface and a graphical view of the zigbee topology. ## Electric Vehicle Charge Controller ## April 6, 2022 EVCC controls charging of your EV. It supports many wallboxes and vehicles. While there'\''s some overlap with OH, EVCC has a two-way API and users can selectively combine the best of both worlds.' 27 84 [?1049h(B)0[?25l                             ┌───────────────────────────┤ openHABian announcements ├───────────────────────────┐│ │ │ Hit tab to unselect buttons and scroll through the text using UP/DOWN or  │ PGUP/PGDN. All announcements are stored in `/opt/openhabian/docs/CHANGELOG.md`  │ for you to lookup.  │  │ ## Raspberry Imager ## August 17, 2022  │ Now openHABian can be selected directly within Raspberry Imager to write the  │ image to an SD card.  │  │ ## Zigbee2MQTT ## April 17, 2022  │ Zigbee2MQTT enables to connect a Zigbee-Network via MQTT. Zigbee2MQTT supports  │ a huge number of devices, even many brands with non-standard zigbee-  │ implementations. It provides a web-based configuration interface and a  │ graphical view of the zigbee topology.  │  │ ## Electric Vehicle Charge Controller ## April 6, 2022  │ EVCC controls charging of your EV. It supports many wallboxes and vehicles.  │ While there's some overlap with OH, EVCC has a two-way API and users can  │ selectively combine the best of both worlds.  │ ▒ │ ▒ │ ↓ │  │   │ │ └──────────────────────────────────────────────────────────────────────────────────┘ [?25h  [?1049l++ timestamp ++ printf '%(%F_%T_%Z)T\n' -1 + echo -n '2022-09-29_22:49:48_CEST [openHABian] Switching to branch openHAB3... ' 2022-09-29_22:49:48_CEST [openHABian] Switching to branch openHAB3... + git -C /opt/openhabian checkout --quiet openHAB3 + echo OK OK + bashrc_copy ++ timestamp ++ printf '%(%F_%T_%Z)T\n' -1 + echo -n '2022-09-29_22:49:48_CEST [openHABian] Adding slightly tuned bash configuration files to system... ' 2022-09-29_22:49:48_CEST [openHABian] Adding slightly tuned bash configuration files to system... + cp /opt/openhabian/includes/generic/bash.bashrc /etc/bash.bashrc + cp /opt/openhabian/includes/generic/bashrc-root /root/.bashrc + cp /opt/openhabian/includes/generic/bash_profile /home/openhabian/.bash_profile + cp /opt/openhabian/includes/generic/bash_aliases /home/openhabian/.bash_aliases + chown openhabian:openhabian /home/openhabian/.bash_aliases /home/openhabian/.bash_history /home/openhabian/.bash_logout /home/openhabian/.bash_profile + echo OK OK + show_main_menu + local choice + local version +++ get_git_revision +++ local branch +++ local commitDate +++ local shorthash ++++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD +++ branch=openHAB3 ++++ git -C /opt/openhabian log --pretty=format:%aI -n 1 +++ commitDate=2022-08-24T11:37:05+02:00 ++++ git -C /opt/openhabian log --pretty=format:%h -n 1 +++ shorthash=4a11e45 +++ echo '[openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45)' ++ whiptail --title 'openHABian Configuration Tool — [openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45)' --menu 'Setup Options' 19 116 12 --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' 'Update all installed software packages (incl. openHAB) to their latest version' '03 | Install openHAB' 'Install or upgrade to openHAB 3' '04 | Import config' 'Import an openHAB 3 configuration from file or URL' '' '' '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 ►' [?1049h(B)0[?25l                             ┌────────────────┤ openHABian Configuration Tool — [openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45) ├────────────────┐│ │ │ 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 Update all installed software packages (incl. openHAB) to their latest version │ │ 03 | Install openHAB Install or upgrade to openHAB 3 │ │ 04 | Import config Import an openHAB 3 configuration from file or URL │ │ │ │ 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 ► │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  00 | About openHABian Information about the openHABian project and this tool   01 | Select Branch Select the openHABian config tool version ("branch") to run 01 | Select Branch Select the openHABian config tool version ("branch") to run 02 | Upgrade System Update all installed software packages (incl. openHAB) to their latest version02 | Upgrade System Update all installed software packages (incl. openHAB) to their latest version03 | Install openHAB Install or upgrade to openHAB 3 03 | Install openHAB Install or upgrade to openHAB 3 04 | Import config Import an openHAB 3 configuration from file or URL 04 | Import config Import an openHAB 3 configuration from file or URL   10 | Apply Improvements Apply the latest improvements to the basic openHABian setup ► 10 | Apply Improvements Apply the latest improvements to the basic openHABian setup ► 20 | Optional Components Choose from a set of optional software components ► 20 | Optional Components Choose from a set of optional software components ► 30 | System Settings A range of system and hardware related configuration steps ► 30 | System Settings A range of system and hardware related configuration steps ► 40 | openHAB Related Switch the installed openHAB version or apply tweaks ► 40 | openHAB Related Switch the installed openHAB version or apply tweaks ► 50 | Backup/Restore Manage backups and restore your system ► [?25h [?1049l+ choice='50 | Backup/Restore' + RET=0 + '[' 0 -eq 1 ']' + '[' 0 -eq 255 ']' + [[ 50 | Backup/Restore == '' ]] + [[ 50 | Backup/Restore == \0\0* ]] + [[ 50 | Backup/Restore == \0\1* ]] + [[ 50 | Backup/Restore == \0\2* ]] + [[ 50 | Backup/Restore == \0\3* ]] + [[ 50 | Backup/Restore == \0\4* ]] + [[ 50 | Backup/Restore == \1\0* ]] + [[ 50 | Backup/Restore == \2\0* ]] + [[ 50 | Backup/Restore == \3\0* ]] + [[ 50 | Backup/Restore == \4\0* ]] + [[ 50 | Backup/Restore == \5\0* ]] +++ get_git_revision +++ local branch +++ local commitDate +++ local shorthash ++++ git -C /opt/openhabian rev-parse --abbrev-ref HEAD +++ branch=openHAB3 ++++ git -C /opt/openhabian log --pretty=format:%aI -n 1 +++ commitDate=2022-08-24T11:37:05+02:00 ++++ git -C /opt/openhabian log --pretty=format:%h -n 1 +++ shorthash=4a11e45 +++ echo '[openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45)' ++ whiptail --title 'openHABian Configuration Tool — [openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45)' --menu Backup/Restore 15 116 8 --cancel-button Back --ok-button Execute '50 | Backup openHAB config' 'Backup (export) the current active openHAB configuration' '51 | Restore an openHAB config' 'Restore an openHAB configuration from backup zipfile' ' | Restore text only config' 'Restore text only configuration without restarting' '52 | Amanda System Backup' 'Set up Amanda to comprehensively backup your complete openHABian box' '53 | Setup SD mirroring' 'Setup mirroring of internal to external SD card' ' | Remove SD mirroring' 'Disable mirroring of SD cards' '54 | Raw copy SD' 'Raw copy internal SD to external disk / SD card' '55 | Sync SD' 'Rsync internal SD to external disk / SD card' [?1049h(B)0[?25l                             ┌────────────────┤ openHABian Configuration Tool — [openHAB3]{2022-08-24T11:37:05+02:00}(4a11e45) ├────────────────┐│ │ │ 50 | Backup openHAB config Backup (export) the current active openHAB configuration  │ │ 51 | Restore an openHAB config Restore an openHAB configuration from backup zipfile │ │ | Restore text only config Restore text only configuration without restarting │ │ 52 | Amanda System Backup Set up Amanda to comprehensively backup your complete openHABian box │ │ 53 | Setup SD mirroring Setup mirroring of internal to external SD card │ │ | Remove SD mirroring Disable mirroring of SD cards │ │ 54 | Raw copy SD Raw copy internal SD to external disk / SD card │ │ 55 | Sync SD Rsync internal SD to external disk / SD card │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  50 | Backup openHAB config Backup (export) the current active openHAB configuration 51 | Restore an openHAB config Restore an openHAB configuration from backup zipfile 51 | Restore an openHAB config Restore an openHAB configuration from backup zipfile  | Restore text only config Restore text only configuration without restarting  | Restore text only config Restore text only configuration without restarting 52 | Amanda System Backup Set up Amanda to comprehensively backup your complete openHABian box52 | Amanda System Backup Set up Amanda to comprehensively backup your complete openHABian box53 | Setup SD mirroring Setup mirroring of internal to external SD card 53 | Setup SD mirroring Setup mirroring of internal to external SD card  | Remove SD mirroring Disable mirroring of SD cards  | Remove SD mirroring Disable mirroring of SD cards 54 | Raw copy SD Raw copy internal SD to external disk / SD card 54 | Raw copy SD Raw copy internal SD to external disk / SD card 55 | Sync SD Rsync internal SD to external disk / SD card M54 | Raw copy SD Raw copy internal SD to external disk / SD card 55 | Sync SD Rsync internal SD to external disk / SD card [?25h [?1049l+ choice2='54 | Raw copy SD' + '[' 0 -eq 1 ']' + '[' 1 -eq 255 ']' + case "$choice2" in + mirror_SD raw + local src=/dev/mmcblk0 + local dest= + local start + local destPartsLargeEnough=true + local storageDir=/storage + local syncMount=/storage/syncmount + local dirty=no + local repartitionText + local 'dumpInfoText=For your information as the operator of this openHABian system:\nA timed background job to run semiannually has just created a full raw device copy of your RPI'\''s internal SD card.\nOnly partitions to contain openHABian (/boot and / partitions 1 & 2) were copied.' + local partUUID + [[ 1 -eq 1 ]] + [[ -n 1 ]] + select_blkdev '^sd' 'Setup SD mirroring' 'Select USB device to copy the internal SD card data to' + [[ -z 1 ]] + array=() + declare -a array + read -r id foo foo size foo foo foo ++ tr -d '`\\|' ++ tr -d '\\-' ++ grep -E '^sd' ++ lsblk -i + array+=("$id" "$size") + read -r id foo foo size foo foo foo + [[ 2 -eq 0 ]] + (( count=2 + 8 )) ++ whiptail --title 'Setup SD mirroring' --cancel-button Cancel --ok-button Select --menu '\nSelect USB device to copy the internal SD card data to' 10 76 0 sda 119.1G [?1049h(B)0[?25l                             ┌──────────────────────────┤ Setup SD mirroring ├──────────────────────────┐│ │ │ Select USB device to copy the internal SD card data to │ │ │ │ sda 119.1G │ │ │ │ │ │