====== 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}}