OpenHab Display

Basisinstallation

$ sudo -i
$ adduser thomas
$ addgroup thomas sudo
$ logout
$ sudo -i
$ deluser pi
      $ apt update
      $ apt upgrade
$ apt-get install vim
$ update-alternatives --set editor /usr/bin/vim.basic
$ dpkg-reconfigure tzdata
$ vi ~/.bashrc
>>> PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$ '

Ebenfalls aliase und export einkommentieren. Mit User thomas anmelden und in .bashrc force_color_prompts=true einkommentieren.

$ apt-get install xserver-xorg-core xserver-xorg-video-fbdev xserver-xorg-input-libinput x11-xserver-utils slim
      $ apt-get install unclutter
$ apt-get install chromium libgtk-3-0 libgles2
$ adduser --disabled-login openhab
$ vi /etc/slim.conf
	default_user openhab
	auto_login yes
$ vi /home/openhab/.xsession
#!bin/bash
/usr/bin/xscreensaver -no-splash &
/usr/bin/redshift -l49.1:12.6 -b 0.5 &
/usr/bin/xterm -e true
sleep 1
/usr/bin/chromium --window-size=1910,1080 --noerrdialogs --disable --disable-translate --disable-infobars --disable-suggestions-service --disable-save-password-bubble --disable-internal-flash --disable-plugins-discovery --kiosk --touch-devices=6 --app=https:/pizza.binary.kitchen/basicui/app?sitemap=mainroom

Die Geräte ID kann mit folgenden Befehlen herausgefunden werden:

$ export DISPLAY=:0
$ sudo -u openhab xinput list

use the following for the workshop display:

#!bin/bash
/usr/bin/xscreensaver -no-splash &
/usr/bin/redshift -l49.1:12.6 -b 0.5 &
/usr/bin/xterm -e true
sleep 1
/usr/bin/chromium --window-size=800,480 --noerrdialogs --disable --disable-translate --disable-infobars --disable-suggestions-service --disable-save-password-bubble --disable-internal-flash --disable-plugins-discovery --kiosk --app=https:/pizza.binary.kitchen/basicui/app?sitemap=workshop
$ apt-get install xscreensaver
$ export DISPLAY=:0
$ sudo -u openhab xscreensaver-demo
And configure the screensaver with
      * Mode: Blank Screen Only
      * Blank after: 1 Minute
      * Power Management Enabled
      * Standby After 1 minutes
      * Suspend after 1 minutes
      * Off After 1 minutes
$ sudo apt install xinput-calibrator
$ export DISPLAY=:0
$ sudo -u openhab xinput_calibrator
Paste the output to 
$ vi /etc/X11/Xsession.d/99-calibration.conf

Scripts installieren

  $ vi /home/openhab/check_network.sh
#!/bin/bash
 
HAB_STATUS=0
 
while true
do
        if curl -s --head https:/pizza.binary.kitchen/basicui/app?sitemap=mainroom | grep "200 OK" > /dev/null
        then
                if [ "$HAB_STATUS" -eq 0 ]
                then
                        echo "Site Changed from Down to Up"
                        HAB_STATUS=1
 
                        # Refresh Browser
                        export DISPLAY=":0"
                        WID=$(xdotool search --onlyvisible --class chromium|head -1)
                        xdotool key ctrl+F5
                fi
        else
                echo "Site Down"
                if [ "$HAB_STATUS" -eq 1]
                then
                        echo "Site Changed from Up to Down"
                        HAB_STATUS=0
                fi
        fi
 
        sleep 60
done
  $ vi /home/openhab/refresh_chrome.sh
#!/bin/sh
 
export DISPLAY=":0"
WID=$(xdotool search --onlyvisible --class chromium|head -1)
xdotool key ctrl+F5
  $ apt install xdotool
  $ chmod a+x /home/openhab/refresh_chrome.sh
  $ chmod a+x /home/openhab/check_network.sh
  $ crontab -e -u openhab
0 11 * * * /home/openhab/refresh_chrome.sh
@reboot /home/openhab/check_network.sh

OverlayFS

  $ cd
  $ apt install git
  $ git clone https://github.com/ghollingworth/overlayfs
  $ cd overlayfs
  $ sudo overlayfs.sh
  $ reboot
  

ACHTUNG!!!! Nach jedem Kernel Update muss sudo overlayfs.sh erneut ausgeführt werden. Ansonsten bootet das System nicht mehr. Wenn dies doch geschieht, muss aus der cmdline.txt der Eintrag boot=overlay entfernt werden.

Wireless Config (Optional)

  $ vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE

network={
 ssid="mqtt.binary-kitchen.de"
 psk="<Password for your wireless LAN>"
}