Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door Dimitri Reijerman

Redacteur

Dirigenten voor het domotica-orkest

Smarthome-controllers en software bekeken

Domoticasoftware: Domotiga, Pilight en Pimatic

Domotiga

Het pakket Domotiga, dat zijn oorsprong in Nederland heeft, is geschreven in Gambas Basic, een relatief onbekende programmeertaal die veel weg heeft van Visual Basic. Oorspronkelijk werd de software geschreven om via een RFXCom-interfacemodule met sensors overweg te kunnen, maar de lijst met ondersteunde producten is flink gegroeid. Domotiga spreekt deze producten aan via onderdelen die eveneens 'modules' worden genoemd. Ook diverse acties die kunnen worden ondernomen, bijvoorbeeld het verzenden van een e-mail bij een bepaalde gebeurtenis, zijn als dergelijke modules beschikbaar.

Domotiga heeft een lange lijst met ondersteunde interfaces. Zo worden onder andere bluetooth, opentherm, plugwise, z-wave en X11 ondersteund. Ook diverse specifieke apparaten zijn aan Domotiga te hangen, zoals Philips Hue-lampen, YouLess-energiesensors en alarmapparatuur van Visonic. Zelfs een Sony Aibo-robot is aan te sturen.

Om Domotiga eenvoudig te kunnen testen hebben de ontwikkelaars een live-cd gemaakt. Deze draait op Ubuntu en biedt de laatste versie van Domotiga. Daarnaast zijn er op de downloadpagina images voor zowel de 'oude' Raspberry Pi als de Raspberry Pi 2 te vinden. De mobiele app die voor Android-telefoons beschikbaar is, oogt echter wat verouderd.

Pilight

PilightZoals al aangehaald in deel 5 van onze serie is de Raspberry Pi een kostentechnisch zeer interessant bordje om opgenomen te worden in zelfbouwprojecten rondom domotica. Het opensourcepakket Pilight is geoptimaliseerd om te kunnen draaien op de Raspberry Pi, maar de software, die volledig in C is geschreven, draait ook op Windows, Linux en BSD-varianten.

Pilight is ontwikkeld om via de 433MHz-band compatibele randapparatuur aan te sturen. Daarvoor worden de gpio-poorten op het moederbordje gebruikt. Externe ontwikkelaars werken aan ondersteuning voor de 315MHz- en 868MHz-band.

Door de modulaire opzet kunnen diverse protocollen gebruikt worden, terwijl ook de lijst met ondersteunde hardware aanzienlijk is. Zo zijn bijvoorbeeld tal van KaKu-switches aan te sturen, evenals diverse dimmers en weerstations. Inmiddels worden ongeveer zestig producten ondersteund. Aanvullend verkopen de makers van Pilight een aantal kits die nodig zijn om bijvoorbeeld op de 433MHz-band apparatuur aan te sturen. En, net als bij de eerder genoemde software, zijn er mobiele apps, zoals Pilight voor Android en PilightControl voor iOS. De officiële Android-app luistert naar de naam Illumina die is te verkrijgen via F-Droid en er is een app beschikbaar voor Android Wear.

Het configureren en instellen van Pilight vereist het nodige handwerk, maar de software kan grotendeels via een webbrowser bediend worden. Tweaker Koffie heeft een handige how-to voor beginners geschreven in twee delen. Koffie is overigens inmiddels overgestapt op Pimatic, dat we hieronder beschrijven. Je kunt, behalve uiteraard op de uitgebreide website van Pilight met een wiki waarin reverse engineered protocollen worden beschreven, ook terecht op het Pilight-draadje op GoT. Daar is onder andere CurlyMo actief, de hoofddeveloper van deze opensource-domoticasoftware.

Pimatic

Pimatic, eveneens een opensource-domoticapakket, is zoals de naam al aangeeft gericht op de Raspberry Pi. Het platform draait op node.js, de breed gebruikte cross-platform runtime environment voor javascript-applicaties. Pimatic heeft als onderscheidende functie dat het werkt op basis van eenvoudig op te stellen en duidelijk leesbare rules die de bekende 'if-then'-structuur hanteren. Een voorbeeld-rule luidt bijvoorbeeld: 'if it is after 22:00 and Beneden-thermostaat-runprogram is on and pilight-Beneden-dressoir is off then $BenedenTemperatuurInstelling = 18'.

Op basis van plug-ins kan de functionaliteit verder uitgebreid worden. Zo zijn er plug-ins om het weerbericht op te halen en om de zonsopgang en -ondergang op basis van de locatie op te vragen. Ook kunnen pushberichten naar een mobieltje gestuurd worden.

De interface van Pimatic is responsive dankzij het gebruik van jQuery Mobile en kan dus via een mobiele browser goed benaderd en bediend worden. Een goede indruk van de webinterface en de diverse mogelijkheden van Pimatic kun je krijgen door de demosite te openen in de browser. Installatiehulp is uiteraard aanwezig op de website van het project, terwijl opnieuw Koffie twee blogs over zijn nieuwe domoticafavoriet heeft volgeschreven en er uiteraard een GoT-draadje loopt over het onderwerp.

KoffiePimatic in de praktijk: het domoticasysteem van Koffie

Voor het aansturen van verschillende KlikAanKlikUit-modules en relais maak ik gebruik van een Raspberry Pi en Pimatic. Ik ben via Pilight bij Pimatic terechtgekomen. Eerst als aanvulling op Pilight, maar inmiddels al geruime tijd als stand-alone-applicatie. De twee grootste krachten van Pimatic zijn de mogelijkheden voor plug-ins en het aanmaken van rules. Via allerlei plug-ins kun je extra voorwaarden aan de rules hangen. Wanneer je bijvoorbeeld de ping-plug-in installeert, kun je een bepaald ip-adres laten pingen om te kijken of dit online is. Vervolgens kun je met deze status bepaalde acties laten uitvoeren ('if server is offline then send mail' of 'if telefphone is online then turn on lamp').

Een andere handige plug-in is de sunrise-plug-in, die op basis van opgegeven coördinaten berekent wanneer het die dag zonsopgang of zonsondergang is. Hier kun je dan weer acties op laten uitvoeren. Ik laat elke dag veertig minuten voor zonsondergang de verlichting van de woonkamer aangaan, elke dag precies op het juiste moment.

Aanvankelijk was er een Pilight-plug-in nodig voor het aansturen van 433MHz-apparatuur, maar tegenwoordig is hier een eigen plug-in voor. Een goedkoop setje met een zender en ontvanger van eBay kun je dan rechtstreeks aan de gpio-pinnen van de Raspberry Pi hangen of nog beter via een Arduino Nano in de usb-poort van de Raspberry Pi pluggen. Een Nan-kloon kost je een paar dollar op eBay en heeft als groot voordeel dat de cpu enorm ontlast wordt. Elke stukje ruis op het 433MHz-signaal moet namelijk geanalyseerd worden (het zou wel eens echt data kunnen zijn) en dat kost processortijd. Wanneer je deze taken naar de Arduino verplaatst, krijgt de Raspberry Pi alleen nog maar gefilterde data binnen.

Naast het alombekende KaKu-protocol worden er een hoop andere procollen ondersteund. Een erg handig ingebouwd protocol is het zogenoemde generic-protocol. Dit procol stelt je in staat vier verschillende waardes te versturen (id, type, positief, value). Hiermee kun je voor de meest denkbare situaties zelf een sensor maken en data laten versturen.

In mijn woonkamer staat een Arduino met daaraan een DS18B20-temperatuursensor en een DHT11-luchtvochtigheidssensor. Elke minuut verstuurt deze de waarden van de sensors via het generic protocol. Op basis van deze gemeten waarden beslist Pimatic of de kachel aan of uit moet. Omdat er altijd iets mis kan gaan, heb ik een extra veiligheid in Pimatic aangebracht. Wanneer er meer dan één uur lang geen temperatuur meer binnenkomt van de sensor, wordt de klep van de verwarming direct afgesloten. Vervolgens wordt er een variable aangepast die ervoor zorgt dat geen enkele regel in staat is de kachel aan te zetten. Via de pushover-plug-in wordt er een bericht naar mijn telefoon gestuurd met de melding dat er iets mis is met de kachel.

Het leukste van bezig zijn met een dergelijk domoticasysteem is voor mij het samenbrengen van allerlei informatie en op basis daarvan actie ondernemen. Op de tuindeur in de woonkamer zit bijvoorbeeld een deurcontact. Zodra deze deur opengaat, wordt de kachel afgesloten en kan deze niet langer aangezet worden, net zo lang tot de deur weer dicht is. Zelfs als de deur dichtgaat, slaat de kachel nog niet aan. Meestal bevat de woning nog genoeg restwarmte om na een paar minuten weer op temperatuur te zijn. De deur moet minstens vijf minuten gesloten zijn, wil de kachel weer aankunnen. Maar wacht, er is nog meer ;). Door te kijken naar de temperatuur in de woonkamer wordt berekend of de woonkamer opwarmt of niet. Zolang de woonkamer opwarmt, zal de kachel niet aangaan, ook al is het 'te koud'. Met deze regels voorkom je onnodig stoken na het openen van de deur in het eerdere voorbeeld en het verwarmen terwijl de woonkamer ook al door natuurlijke bron opwarmt.

Lees meer


OnePlus 7 Pro (8GB intern) Microsoft Xbox One S All-Digital Edition LG OLED C9 Google Pixel 3a XL FIFA 19 Samsung Galaxy S10 Sony PlayStation 5 E3 2019

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True