In het artikel Je huis besturen via domotica met open-source software hebben we de basis gelegd voor domotica in je huis. Hierdoor werd het mogelijk om je Nest uit te lezen en om ZWave devices in- en uit te schakelen via je computer. Op zich leuk, maar nog niet erg praktisch. Het zou veel handiger zijn om bijvoorbeeld je verlichting vanaf je smartphone te schakelen.

Om dit te doen moeten we op de smartphone eerst verbinding maken met de Domoticz-server (dus met je Raspberry Pi). Dit doe je eenvoudig door hetzelfde adres dat je op je computer invulde, nu in te vullen in de browser van je smartphone. De webinterface van Domoticz is responsive, wat zoveel betekent dat de weergave wordt aangepast aan je smartphone, zodat je niet met minuscule knopjes hoeft te werken.

In ons voorbeeld had de Raspberry Pi het IP-adres 192.168.1.5 gekregen. Het adres dat we invoeren in de browser op onze smartphone is dan:

http://192.168.1.5:8080

Je ziet nu de webinterface van Domoticz en je kunt meteen aan de slag, zolang je smartphone via wifi verbonden is met hetzelfde netwerk als de Raspberry Pi, wat het geval is bij de meeste thuisnetwerken.

Dit is al een stuk beter dan steeds achter je computer te moeten kruipen om je verlichting te bedienen, maar het zou nog veel handiger zijn wanneer je je verlichting kunt bedienen wanneer je niet thuis bent. Via het internet kun je verbinding maken met je Domoticz-server, maar dan wordt beveiliging wel een belangrijk onderwerp. De verbinding die we tot nu toe gebruikten is niet beveiligd en zou op het internet onderschept kunnen worden. Daarnaast moeten we Domoticz beveiligen met een wachtwoord, want anders kan iedereen op afstand jouw verlichting kunnen bedienen.

Gelukkig is het eenvoudig om een beveiligde verbinding te maken met Domoticz. In plaats van het adres http://192.168.1.5:8080 te gebruiken, surf je naar https://192.168.1.5. Je browser zal een waarschuwing geven, maar deze kun je in dit geval negeren en gewoon doorgaan. De foutmelding wordt weergegeven omdat de beveiligde verbinding gebruik maakt van een zelf ondertekend certificaat. Dit is standaard aanwezig in Domoticz, maar het certificaat is niet ondertekend door een instantie die je browser vertrouwd. Het certificaat beveiligd je verbinding overigens wél.

Het is ook mogelijk om een certificaat te verkrijgen dat je browser wel vertrouwd, maar hiervoor heb je de technische kennis nodig en er zijn mogelijk ook kosten aan verbonden. Hieraan zal ik op een later tijdstip een artikel wijden. Vooralsnog gaan we het zelf-ondertekende certificaat gebruiken.

Om via het internet verbinding te kunnen maken, moeten we het volgende uitvoeren:

  • Om te beginnen hebben we het externe IP-adres van je router nodig. Het IP-adres dat we tot nu toe gebruikten is een intern IP-adres en is alleen te bereiken op je eigen thuisnetwerk. Om je externe IP-adres te achterhalen, kun je eenvoudig surfen naar www.watismijnip.nl. Op deze website kun je eenvoudig zien wat je externe IP-adres is.
  • Vervolgens moeten we je router instellen om inkomend verkeer om te leiden naar je Raspberry Pi. Dit wordt port-forwarding genoemd. Het verkeer dat we verwachten zal binnenkomen op poort 443 en zal omgeleid moeten worden naar 192.168.1.5 op poort 8080. (vervang dit laatste IP-adres door het adres van jouw Raspberry Pi) Het gebruikte protocol is TCP. De manier waarop je port-forwarding instelt op jouw router is geheel afhankelijk van het merk en type van het apparaat.
    Raadpleeg de handleiding van je router om uit te vinden hoe je port-forwarding instelt. Gebruik je de router van je provider, dan hebben de meeste providers wel een (kleine) handleiding over port-forwarding voor de door hen geleverde router. Dit zijn enkele links om je op weg te helpen:

    • Ziggo Connect Box
    • KPN Experia Box
      Mocht je een goede handleiding hebben voor port-forwarding voor de router van jouw provider? Stuur mij dan even de link, dan zetten we hem erbij…
  • De port-forwarding schematisch weergegeven:
    INTERNET-> <Jouw extern IP-adres> <poort 443> -><ROUTER> -> <Raspberry PI> <poort 443>

Als je de port-forwarding succesvol hebt ingesteld, surf je naar http://jouw-externe-ip-adres. Je krijgt dan de webinterface van Domoticz te zien.

Verboden toegang voor onbevoegden

Om te voorkomen dat iedereen zomaar je huis kan bedienen, brengen we nog een beveiliging aan door middel van een gebruikersnaam en wachtwoord. Ga hiervoor in Domoticz naar Instellingen en vervolgens weer naar Instellingen. Aan de rechterzijde vul je onder Websitebeveiliging een gewenste gebruikersnaam en wachtwoord in. Als Authenticatie kun je kiezen voor Basic-Auth.

De volgende keer dat je verbinding maakt middels de browser op je smartphone of computer, zal je eerst om je gebruikersnaam en wachtwoord gevraagd worden.

Reacties