Domoticz installeren op een WD Book Live

Mijn zoon wil graag ook wat domotica in zijn huis introduceren, maar is wat beperkt in zijn budget. Ik had nog een WD Book Live liggen met een 2Tb harddisk die gecrashed was (per ongeluk de stekker eruit getrokken terwijl hij firmware aan het updaten was). Leek me een mooi project tijdens dit slechte pinksterweekend om die weer aan de praat te krijgen en er proberen een Domoticz server van de te maken.

 

In deze  tutorial installeren we Debian 8 (Jessie) op de WD Book Live, zorgen dat hij qua packages fris en fruitig wordt. Daarna compileren we Domoticz vanaf source en installeren we de Mosquitto MQTT broker erop.

Benodigdheden:

  • 2 USB thumbdrives van minimaal 4Gb
  • PC met SATA aansluiting
  • WD Book Live
  • Ster-schroevendraaiertje

Reeds up and running

  • Putty of ander terminal programma

Stap 1. Harde schijf uit WD Book Live demonteren

  • Volg de uitstekende tutorial op https://www.youtube.com/watch?v=TGLJi66vxnY&ab_channel=SaurabhKumar
  • Zodra Saraubh de case van de WD Book Live geopend heeft, haalt hij de brackets ed van de harde schijf. Deze stap is niet nodig. Ga gelijk door naar het punt waarop Saraubh de printplaat (met de 4 schroefjes) loshaalt van de harde schijf.

Stap 2. Rescue USB thumbdrive maken

  • Selecteer de SystemRescue ISO image die je hebt downloaded
  • Selecteer ‘MBR’ partition schema
  • Selecteer ‘BIOS or UEFI’ in target
  • Selecteer het FAT32 filesystem
  • Klik op de start button

  • Verwijder de USB thumbdrive veilig uit de Windows PC

Stap 3. Download Debian 8 (Jessie) en plaats deze op de 2e USB thumbdrive

  • Plaats de 2e USB thumbdrive in de Windows PC
  • formateer de USB thumbdrive NTFS

Stap 4. Plaats de harde schijf in een desktop PC met SATA-aansluiting.

  • Voor de veiligheid is het te adviseren om de SATA-aansluitingen van de bestaande schijven van de PC los te halen, dit om te voorkomen dat je in de volgende stap per ongeluk de verkeerde schrijf formatteert. Als je precies weet wat je doet, kunnen ze natuurlijk aangesloten blijven.
  • Sluit de harde schijf aan op een vrije of vrijgekomen SATA-aansluiting en sluit de stroomvoorziening aan

Stap 5. PC opstarten met de Rescue USB thumbdrive

  • Plaats de USB thumbdrive met de SystemRescue image die je in stap 2. gemaakt hebt in een vrije USB poort
  • Boot de PC en open het bootmenu (is bij ieder merk verschillend, vaak F11 of F10 ingedrukt houden zodra het logo van de fabrikant op het scherm komt, raadpleeg eventueel de handleiding of website van de fabrikant van de PC om te achterhalen hoe je in het boot menu komt, of er voor kunt zorgen dat je vanaf USB kunt booten.)
  • Kies in het menu voor keuze 1. SystemRescueCD: default boot options
  • Na verloop van tijd verschijnt er een systemprompt, type hier StartX en druk op enter

Stap 6. Installeer Debian 8 (Jessie)

    • De grafische user interface van de SystemRescueCD verschijnt, klik links onder op het startmenu en kies voor system, gparted
    • Verwijder alle bestaande partities van de schijf en deel deze opnieuw in volgens onderstaande specificaties:
      • /dev/sdb1 20G ext3 debian boot
      • /dev/sdb2 2G format later als swap
      • /dev/sdb3 formateer later in debian als (samba) data partitie
      • Ik ga er hierbij vanuit dat je Rescue USB thumbdrive als /dev/sda1 verbonden is, en de harde schijf van de WD Book Live als /dev/sdb*
    • Bevestig dit door in GParted op het groene vinkje te klikken, verlaat daarna GParted
    • Plaats de 2e USB drive met de Debian 8 tarball die je in Stap 3. hebt gemaakt in een 2e vrije USB poort
    • Klik links onderin op het Terminal icoontje, voer achtereenvolgens de volgende commando’s uit

root# mkdir /mnt/debian
root# mount /dev/sda1 /mnt/debian
root# mkdir /mnt/usb
root# mount -t ntfs /dev/sdc1 /mnt/usb (check eventueel met dmesg welk device je USB thumbdrive heeft gekregen)
root# cd /mnt/debian
root# tar xvzf /mnt/usb/DebianJessie8.11.tgz

  • Verwijder onnodige entries uit /etc/fstab, start vi of nano op en edit /etc/fstab zodat hij overeenkomt met onderstaande

root# cat /mnt/debian/etc/fstab

tmpfs /tmp tmpfs rw,size=100M 0 defaults,noexec,nosuid,nodev,mode=0755,size=100M 0 0
/dev/sda1 / ext3 defaults,noatime 0 0

  • umount de harde schijf en USB thumbdrive

root# cd /
root# umount /mnt/debian
root# umount /mnt/usb
root# exit

  • Sluit de SystemRescueCD af door links onder op het startmenu te klikken, en daarna Log Out te kiezen
  • Zet de PC uit
  • Haal de SATA stekker en stroomvoorziening los van de harde schijf

Stap 7. WD Book Live booten met Debian 8

  • Plaats het printplaatje met de SATA-aansluiting terug op de harde schijf en zet deze met 1 of 2 schroefjes vast. Bouw hem verder niet terug in de case, het kan zijn dat het proces hierna niet helemaal goed gaat en je bovenstaande stap 5. opnieuw moet uitvoeren.
  • Sluit een ethernetkabel en de netvoeding van de WD Book Live aan, de WD Book Live start nu op
  • Achterhaal in je router of DHCP server het IP-adres wat je WD Book Live heeft gekregen (hostnaam is ETNas)
  • Open Putty op je Windows PC en open een SSH connectie

  • Log in met root en wachtwoord welc0me (let op, is een nul) en voer achtereenvolgens de volgende commando uit om alle packages fris-en-fruitig op het laatste patchlevel te krijgen

ETNas:~# apt update
ETNas:~# apt-get upgrade -f

  • Ga nu maar even rustig een eindje om, want dit proces duurde bij mij zo’n 3 tot 4 uur, reboot daarna de WD Book Live met

ETNas:~# reboot

Stap 8. Compileer en installeer Domoticz

  • Maak opnieuw een verbinding m.b.v. putty en voer achtereenvolgens de volgende commando’s uit

ETNas:~# sudo dpkg-reconfigure tzdata

  • dit zorgt ervoor dat de timezone en tijd goed staan, kies voor Amsterdam

ETNas:~# sudo apt-get install make gcc g++ libssl-dev git libcurl4-gnutls-dev libusb-dev libsqlite3-dev python3-dev zlib1g-dev libcereal-dev liblua5.3-dev uthash-dev

  • dit installeert alle noodzakelijke libraries en packages
  • Zorg voor genoeg swap ruimte, achterhaal eerst het UUID van de SWAP partitie die je in Stap 6. hebt aangemaakt

ETNas:~# blkid

  • dit geeft bij mij de volgende output:

ETNas:# blkid
/dev/sda1: UUID="7be32dba-b175-4071-a0b3-8101888bad98" BLOCK_SIZE="4096" TYPE="ext3" PARTLABEL="debian boot" PARTUUID="0fa70635-8c3f-4c2f-a24a-c908a8e2f58e"
/dev/sda2: PARTLABEL="data" PARTUUID="61ba156c-b056-4ee4-b8f2-3c0747790f2b"
/dev/sda3: UUID="dab831a4-351e-4b04-b6b4-2828a0c9ed98" TYPE="swap" PARTLABEL="swap" PARTUUID="90982628-6a58-4521-9f23-5f5b513deb4a"

  • bij mij is dus /dev/sda3 de swap partitie met UUID "dab831a4-351e-4b04-b6b4-2828a0c9ed98"
  • Voeg de volgende regel toe aan /etc/fstab met vi of nano, en vul uiteraard je eigen UUID  in

UUID="dab831a4-351e-4b04-b6b4-2828a0c9ed98" none swap sw 0 0

  • Enable de swap partitie

ETNas:# swapon /dev/sda3
ETNas:/etc# free
total used free shared buff/cache available
Mem: 253120 137216 3200 20352 112704 88128
Swap: 2096064 192 2095872

  • Voor het compileren van Domoticz moet je de CMAKE compileren eerst compileren 😉

ETNas:# sudo apt remove --purge --auto-remove cmake
ETNas:# mkdir /domoticz
ETNas:# cd /domoticz
ETNas:# wget https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3.tar.gz
ETNas:# tar -xzvf cmake-3.19.3.tar.gz
ETNas:# rm cmake-3.19.3.tar.gz
ETNas:# cd cmake-3.19.3
ETNas:# ./bootstrap
ETNas:# make
ETNas:# sudo make install

  • Opnieuw kun je een flink blok om met je hond, het bootstrap proces duurde bij mij zeker 5 tot 6 uur, en de make opdracht daarna nog zeker 2 uur
  • Nu nog de boost libraries installeren, en dan kunnen we aan de slag met Domoticz

ETNas:# cd /domoticz
ETNas:# wget https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.gz
ETNas:# tar xvfz boost_1_76_0.tar.gz
ETNas:# cd boost_1_76_0/
ETNas:# ./bootstrap.sh
ETNas:# ./b2 stage threading=multi link=static --with-thread --with-system
ETNas:# sudo ./b2 install threading=multi link=static --with-thread --with-system

  • Je hond wordt er helemaal blij van, ook dit proces duurt weer uren om te bootstrappen, maar nu zijn we dan eindelijk zover dat we domoticz kunnen compileren

ETNas:# cd /domoticz
ETNas:# sudo apt-get install git
ETNas:# git clone https://github.com/domoticz/domoticz.git dev-domoticz
ETNas:# cd dev-domoticz
ETNas:# git pull
ETNas:# cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt
ETNas:# nohup make > make.log 2>&1 &
ETNas:# tail -f make.log

  • Ook dit neemt weer vele uren in beslag, maar als alles goed gaat wordt domoticz gecompileerd en zijn we nu zover om te zorgen dat domoticz opgestart kan worden. hiervoor maak ik een extra user “pi” aan

ETNas:# adduser pi (geef enter op alle volgende vragen, en geeft een wachtwoord in)
ETNas:# mkdir /home/pi/domoticz
ETNas:# cd /domoticz/dev-domoticz
ETNas:# cp bin/domoticz /home/pi/domoticz
ETNas:# cp -r scripts /home/pi/domoticz
ETNas:# cp -r dzVents /home/pi/domoticz
ETNas:# cp -r plugins /home/pi/domoticz
ETNas:# cp -r www /home/pi/domoticz
ETNas:# cp domoticz.sh /etc/init.d
ETNas:# cd /home/pi
ETNas:# chown -R pi:pi domoticz
ETNas:# sudo chmod +x /etc/init.d/domoticz.sh
ETNas:# sudo update-rc.d domoticz.sh defaults

  • Open in putty een tweede terminal sessie ‘Duplicate session’ en login als user pi en start domoticz

pi@ETNas:~$ /etc/init.d/domoticz.sh start

Stap 9. Test of domoticz werkt

Stap 10. De harde schijf met printplaat in de case plaatsen

  • Schakel de WD Book live uit

ETNas:# shutdown now

  • Haal de ethernetkabel en voedingskabel los
  • Schroef de printplaat weer met alle 4 de schroefjes vast
  • Plaats de harde schijf met printplaat terug in de houder
  • Schuif de houder terug in de case
  • Sluit de ethernetkabel en voedingskabel weer aan, de WD Book Live start weer op

Stap 11. Aanvullende software installeren en configureren

  • Al naar gelang je nodig hebt kun je nu plugins en aanvullende software installeren, zo heb ik de volgende plugins en software geïnstalleerd:
    • Mosquitto MQTT broker
    • Nest-api
    • Zie ook mijn tutorials onder “Software”
  • En natuurlijk deze plugins ook geconfigureerd in Domoticz
  • Verander uit veiligheidsoverweging ook even het password van root

ETNas:# passwd root

P.S. Het staat hier allemaal heel gemakkelijk beschreven, maar deze tutorial is tot stand gekomen na bijna een week stapje voor stapje het installatieproces te doorlopen. Hierbij vele foutmeldingen overwonnen door kleine configuratie-aanpassingen in Debian te doen. Laat je dus niet afschrikken als je een foutmelding ziet, google hem, en probeer het op te lossen. Het eindresultaat mag er zijn.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *