Maak zelf je huis slim met Domoticz: Een opensource domotica-systeem in de praktijk
- December 19, 2017
- 0
De meeste domotica-systemen werken alleen met apparatuur van één fabrikant en geven je weinig vrijheid om het systeem naar je hand te zetten. Lezers van Linux Magazine kiezen natuurlijk voor een open oplossing. In deze workshop gaan we aan de slag met het open source domotica-systeem: Domoticz.
In het eerste deel van deze tweedelige workshopreeks bespraken we de algemene opzet van een open domotica-systeem. We gingen daar in op de gebruikte protocollen en op de hardware. Ook leerde je welke sensoren en schakelaars er zoal bestaan en waarop je verder nog moet letten.
In dit tweede deel gaan we in op de softwarekant. Er bestaan heel wat open source projecten die een domotica-controller implementeren. Wij kozen voor Domoticz (http://domoticz.com/). Het project heeft een duidelijke interface, veel uitbreidingsmogelijkheden, ondersteuning voor diverse domotica-protocollen en -apparaten, een levendige community op het forum en de ontwikkeling gaat snel, zodat je domotica-controller constant nieuwe mogelijkheden krijgt.
Raspberry Pi
De Raspberry Pi is ideaal om Domoticz op te draaien. Domoticz draait op PC’s met Linux, Windows of Mac OS X, maar voor een domotica-controller die de hele dag actief moet zijn, kies je natuurlijk voor een energiezuiniger apparaat. Domoticz verspreidt dan ook een image om op de sd-kaart van een Raspberry Pi te installeren. Dat is de gemakkelijkste manier om Domoticz te gebruiken.
Installatie
Download het image voor de Raspberry Pi op http://sourceforge.net/projects/domoticz/files/. Open het 7z-bestand met de archiefbeheerder van je Linux-distributie. Ondersteunt die geen 7z-bestanden, installeer dan het pakket p7zip en pak het image-bestand daarna uit met:
7z e domoticz-raspberrypi-sdcard-4834.7z
Het resultaat is een image-bestand met extensie img. Dit schrijf je naar een sd-kaart (voor de Raspberry Pi 1) of microsd-kaart (voor de Raspberry Pi 2 of 3). Steek het kaartje in de kaartlezer van je PC en bekijk met dmesg welk blokapparaat je distributie aan je kaartje toekent. Voor een sd-kaartje ziet dat er meestal uit als /dev/mmcblk0. Daarna schrijf je het image naar het kaartje met:
sudo dd if=domoticz-raspberrypi-sdcard-4834.7z of=/dev/mmcblk0 bs=4M
Let op: dit overschrijft het sd-kaartje, dus check goed dat er geen bestanden meer op staan die je nog nodig hebt. Nadat je het image hebt gekopieerd, flush je de schrijfcache met sync. Verwijder het sd-kaartje daarna uit je kaartlezer en steek het in je (nog niet op stroom aangesloten) Raspberry Pi. Sluit een ethernetkabel aan op je Pi en tot slot de voeding, waarna de Pi opstart.
Eerste configuratie
Het image is zo geconfigureerd dat je Pi via dhcp een ip-adres aan je router vraagt. Zoek in de logs of de webinterface van je router het toegekende ip-adres op of sluit even een toetsenbord en scherm aan om het ip-adres op te vragen. Log op de Pi in met ssh pi@IP, waarbij IP het ip-adres van de Pi is. Geef als wachtwoord raspberry in.
Ben je ingelogd, voer dan het configuratieprogramma van de Raspberry Pi uit met de opdracht sudo raspi-config. Breid het bestandssysteem uit zodat het de volledige grootte van je sd-kaart inneemt, verander het standaardwachtwoord voor de gebruiker pi en stel de juiste tijdzone in. Selecteer tot slot Finish en herstart je Pi.
Configuratie van de webinterface
Surf nu naar http://IP:8080, waarna je de webinterface van Domoticz te zien krijgt. Je ziet bovenaan diverse tabbladen, maar we gaan eerst naar het meest rechtse: Setup. Klik erop en daarna op Settings. Hierin stel je in diverse tabbladen het gedrag van Domoticz in. Onder System Setup staan de belangrijkste, waartoe we ons nu beperken. Bekijk de andere tabbladen gerust ook eens.
De taal van de webinterface verander je eenvoudig naar Nederlands. De Nederlandse vertaling is vrij goed, onder andere dankzij het feit dat de ontwikkelaar van Domoticz een Nederlander is en het pakket in Nederland en Vlaanderen vrij populair is. Als je daarnaast je locatie invult, berekent Domoticz dagelijks de tijdstippen van zonsopgang en zonsondergang. Handig als je een half uur na zonsondergang automatisch je rolluiken wilt laten neergaan of een lamp alleen ’s nachts wilt laten aangaan bij beweging. Klik tot slot bovenaan rechts op Apply Settings om de gewijzigde instellingen op te slaan.
Domoticz upgraden
Domoticz is eenvoudig te upgraden vanuit de webinterface. Als een nieuwe versie beschikbaar is, krijg je bovenaan rechts een melding. Klik op de link om de laatste aanpassingen te zien of op Nu updaten om Domoticz te upgraden. Je kunt ook op elk moment upgraden met een klik op Instellingen / Update Domoticz. Als je overigens ook updates voor bètaversies wilt krijgen, zet dan in Instellingen / Instellingen het distributiekanaal op Bèta. Als het upgraden in de webinterface om welke reden dan ook niet lukt, log dan via ssh in op je Pi, ga naar de juiste directory met cd domoticz en upgrade met ./updaterelease of ./updatebeta. Overigens upgrade je het best ook regelmatig de Debian-basis van het image met sudo apt-get update en sudo apt-get upgrade.
Z-Wave-transceiver toevoegen
Nu de basis klaar is, wordt het tijd om je domotica-apparaten aan Domoticz te koppelen. Daarvoor heb je eerst een transceiver nodig die de signalen van de apparaten ontvangt en/of ernaar toe zendt. We tonen hoe je een Z-Wave-transceiver toevoegt in Domoticz, zoals de Aeotec Z-Stick Series 2. Steek de stick in een usb-poort van de Pi en klik op Instellingen en dan Hardware. Kies onderaan bij het type hardware OpenZWave USB, geef de hardware een naam en klik op Toevoegen.
Als alles goed gaat, is je Z-Wave-transceiver nu aan de hardwarelijst toegevoegd en staat in de kolom Poort iets als /dev/ttyUSB0. Nu moet je je Z-Wave-apparaten nog aan de transceiver koppelen. Klik daarvoor op Instellingen bij de transceiver om de Z-Wave-instellingen te openen. Kies bovenaan rechts in het uitklapmenu Nodebeheer voor Sensor opnemen. Je hebt nu 20 seconden de tijd om je apparaat in het Z-Wave-netwerk op te nemen. Doorgaans doe je dat door een knopje op het apparaat in te drukken. Lukt het opnemen, dan verschijnt het apparaat in de lijst met nodes op de pagina met Z-Wave-instellingen. Lukt dit niet, klik dan op het tabblad Instellingen en dan Log om naar een foutmelding te zoeken.
Apparaat toevoegen
Als de sensor in het Z-Wave-netwerk opgenomen is, moeten we die nog in Domoticz beschikbaar maken. Dat lijkt misschien een overbodige stap, maar het is zeker nodig. Voor een multisensor is dat het duidelijkst: zo’n apparaat bevat diverse sensoren (temperatuur, vochtigheid, beweging, lichtintensiteit, etc.). Voor elke deelsensor van de multisensor maak je een afzonderlijke virtuele sensor aan in Domoticz.
Dat doe je door in het tabblad Instellingen op Apparaten te klikken. Je krijgt hier een lijst van alle apparaten te zien waarvan Domoticz signalen ontvangt. Voor onze multisensor staan hier maar liefst zeven apparaten. Klik op het groene pijltje naast een apparaat, bijvoorbeeld een bewegingssensor. Geef het een naam en klik op Apparaat toevoegen. Ga nu naar het tabblad Schakelaars. Daar zie je dat je apparaat is toegevoegd als schakelaar. Klik bij de schakelaar op Aanpassen. Wijzig het type schakelaar als de schakelaar als On/Off is toegevoegd. Zo kies je voor een bewegingssensor Motion Sensor. Klik op Opslaan om je wijzigingen door te voeren. Overigens kan je elk apparaat als favoriet aan het tabblad Dashboard toevoegen door op het sterretje links onderaan het apparaat te klikken.
Temperatuursensoren voeg je op dezelfde manier toe, maar die verschijnen dan in het tabblad Temperatuur, waar ze de temperatuur en luchtvochtigheid weergeven. Overigens kun je bij elk apparaat grafiekjes bekijken van de historische waardes door op Log bij het apparaat te klikken.
Naast sensoren heb je ook echte schakelaars, zoals een lichtschakelaar, dimmer, stopcontactschakelaar of rolluikschakelaar. Die voeg je op dezelfde manier toe zoals hierboven. Na eventueel het type aan te passen (zoals Blinds voor een rolluikschakelaar), is je schakelaar klaar en kun je deze besturen door op het icoontje te klikken. Zo geeft het icoontje van een rolluikschakelaar je de mogelijkheid om het rolluik te openen, te sluiten, te stoppen of op een voorgeprogrammeerde stand te zetten.
Apparaten op 433.92 MHz toevoegen
De meeste stappen in deze workshop werken onafhankelijk van de gebruikte technologie, met wat kleine verschillen. Wil je in Domoticz apparaten gebruiken die op een frequentie van 433,92 MHz werken, dan moet je eerst de RFXCOM RFXtrx433-transceiver toevoegen. Sluit daarvoor de transceiver op je Pi aan via usb, klik in Domoticz op Instellingen / Hardware en kies als type RFXCOM – RFXtrx433 USB 433.92MHz Transceiver. Geef de hardware een naam en klik op Toevoegen. Klik daarna in de hardwarelijst bij de transceiver op Modus instellen. Vink de protocols aan die je nodig hebt (voor KlikAanKlikUit is dat doorgaans AC of ARC, voor weersensoren afhankelijk van het merk LaCrosse of Oregon Scientific) en klik op Set Mode. Zodra je de apparaten gebruikt, verschijnen ze in het tabblad Instellingen / Apparaten en kun je ze aan Domoticz toevoegen.
Meer automatisatie
Een domotica-systeem moet natuurlijk meer kunnen dan je op knopjes laten drukken en sensoren laten uitlezen. Je wilt zoveel mogelijk taken automatiseren, zodat je er zo weinig mogelijk naar hoeft om te kijken. Een eerste stap is de mogelijkheid om de notificaties die bij elk apparaat beschikbaar zijn, in te stellen. Klik je bij een sensor op Notificaties, dan stel je eenvoudig in dat je een waarschuwing wilt krijgen bij bepaalde waardes, bijvoorbeeld als de temperatuur in je koelkast te hoog oploopt. De ondersteunde notificatiesystemen, zoals e-mail, Prowl, Pushbullet en een aangepaste http-actie, stel je in de instellingen in het tabblad Notificaties in.
Voor schakelaars zijn vooral de timers interessant waarmee je een tijdschema definieert. Klik bij een schakelaar op Timers. Vul daar in hoeveel minuten of uren voor of na zonsopgang of zonsondergang of op welk tijdstip dan ook je de schakelaar automatisch wilt in- of uitschakelen. Je kunt ook de weekdagen selecteren of zelfs één specifieke datum. Domoticz kan ook willekeur aan het tijdstip toevoegen, wat handig is voor een realistische aanwezigheidssimulatie door je lampen op willekeurig lijkende tijdstippen in- en uit te schakelen. Klik tot slot op Toevoegen. Wil je een aangemaakte timer tijdelijk inactiveren, selecteer die dan, vink Actief uit en klik op Aanpassen.
Nog meer automatisering
Heb je meer nodig dan de eenvoudige notificaties en timers, klik dan op Instellingen / Meer opties / Gebeurtenissen. In dit onderdeel maak je op een grafische manier een script aan dat sensoren en schakelaars aan elkaar koppelt. Zo creëer je zonder één letter programmeercode allerlei complexe domotica-scenario’s. Links vind je blokjes uit verschillende categorieën. Bekijk ze eens om een gevoel te krijgen voor de mogelijkheden van de gebeurtenissen. Sleep de gewenste blokjes naar het canvas in het midden en klik ze in elkaar. Geef uiteindelijk de gebeurtenis bovenaan rechts een naam en klik op Save. Een gebeurtenis is op elk moment tijdelijk te inactiveren door rechts Event active af te vinken.