====== Raspberry as minimal Phoscon device (DeCONZ) ======
===== Introduction =====
This howto describes how to install Phoscon DeCONZ software using minimal installation. Everything is done as the root user in this howto.
===== Installation =====
==== Raspbian Buster Lite ====
Download Raspbian Buster Lite edition at: [[https://www.raspberrypi.org/downloads/raspbian/]]
Use Etcher or whatever to install the downloaded zip on a SD card.
==== Initial settings ====
Use raspi-config to set network and change password of the pi user and change the hostname:
raspi-config
systemctl enable ssh.service
systemctl start ssh.service
Disable swap
dphys-swapfile swapoff
dphys-swapfile uninstall
systemctl disable dphys-swapfile
Set time
[Time]
NTP=172.16.0.254
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
====Install VNC server====
apt install \
curl \
kmod \
libcap2-bin \
libqt5core5a \
libqt5gui5 \
libqt5network5 \
libqt5serialport5 \
libqt5sql5 \
libqt5websockets5 \
libqt5widgets5 \
lsof \
sqlite3 \
tigervnc-standalone-server \
tigervnc-common \
wmii \
xfonts-base \
xfonts-scalable
===Configure VNC===
# Vncserver service file for Debian or Ubuntu with systemd
#
# 1. Copy this file to /etc/systemd/system/vncserver@:1.service
# 2. Edit User=
# e.g "User=paul"
# 3. Edit the vncserver parameters appropriately in the ExecStart= line!
# e.g. the -localhost option only allows connections from localhost (or via ssh tunnels)
# 4. Run `systemctl daemon-reload`
# 5. Run `systemctl enable vncserver@:.service`
#
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=pi
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/tigervncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/tigervncserver -SecurityTypes VncAuth,TLSVnc %i
ExecStop=/usr/bin/tigervncserver -kill %i
[Install]
WantedBy=multi-user.target
.
.
-- vncconfig -iconic &
++ vncconfig -nowin &
.
.
As user pi
tigervncpasswd
This creates a .vnc directory in the homedir of user pi with a passwd file in it. This is mandatory for the daemon to load.
systemctl daemon-reload
systemctl start vncserver@\:0.service
systemctl enable vncserver@\:0.service
Check with a VNC client if you can connect to the VNC server.
====Install Phoscon (DeCONZ) software====
===Import key===
wget -O - http://phoscon.de/apt/deconz.pub.key | \
apt-key add -
===Install software===
sh -c "echo 'deb http://phoscon.de/apt/deconz \
$(lsb_release -cs) main' > \
/etc/apt/sources.list.d/deconz.list"
apt update
apt install deconz
===Enable DeCONZ GUI===
systemctl enable deconz-gui
systemctl start deconz-gui
====Unattended upgrades====
I do not want to update manually.
apt install unattended-upgrades apt-listchanges
cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/52unattended-upgrades
.
.
Unattended-Upgrade::Origins-Pattern {
// Codename based matching:
// This will follow the migration of a release through different
// archives (e.g. from testing to stable and later oldstable).
// Software will be the latest available for the named release,
// but the Debian release itself will not be automatically upgraded.
"${distro_id}:${distro_codename}";
// Archive or Suite based matching:
// Note that this will silently match a different release after
// migration to the specified archive (e.g. testing becomes the
// new stable).
// "o=Debian,a=stable";
// "o=Debian,a=stable-updates";
// "o=Debian,a=proposed-updates";
// "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
};
.
.
.
// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
// Do automatic removal of newly unused dependencies after the upgrade
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// Automatically reboot *WITHOUT CONFIRMATION* if
// the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "true";
// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
.
.
Test
unattended-upgrades -d
This should not give any error
dpkg-reconfigure -plow unattended-upgrades
{{tag>linux}}