In deze blog leg ik uit hoe je je verbinding vanaf internet naar je Raspberry Pi met Home Assistant of domoticz beveiligd met SSL/TLS. Veel gebruikers maken gebruik van DuckDNS, wat een prima oplossing is als je verder geen https verbindingen naar je huisaansluiting hebt. Ik was in de beginfase van de overstap van domoticz naar Home Assistant en wilde dus de huidige https adressen laten draaien van domoticz en DZGA totdat de overstap naar Home Assistant gereed was.

Home Assistant?

Op deze blog vond je tot nu toe dus alleen domoticz gerelateerde artikelen, dat gaat veranderen. Zoals hierboven al staat heb ik mij verdiept in het overstappen van domoticz naar Home Assistant. Op het eerste gezicht lijkt Home Assistant beter dan domoticz door ondersteuning van meer apparaten, sneller met updates en met ontwikkeling. Het uiterlijk is moderner en de community is groter.

Externe toegang tot Home Assistant

Een van de eerste stappen die ik gedaan heb is het instellen van de externe toegang tot Home Assistant middels een beveiligde https verbinding. Ik wil daarvoor gebruik maken van mijn Synology NAS met een Let’s Encrypt certificaat. Al het verkeer wat binnenkomt op mijn verbinding wordt door gestuurd van de router naar de NAS, welke het via reverse proxy weer doorstuurt naar de Raspberry Pi met Home Assistant of andere applicaties.

Stappenplan SSL instellen via Synology NAS voor Home Assistant

In dit stappenplan lees je hoe je via een dyndns van Synology een beveiligde SSL verbinding maakt met een gratis Let’s Encrypt certificaat.

  1. Meld je aan voor een gratis synology subdomein

    Je krijgt een eigen domeinnaam dat eindigt op bijvoorbeeld diskstation.me. Dit adres ga je gebruiken om je Home Assistant installatie te bereiken van buitenshuis.

  2. Maak een SSL certificaat aan via DSM

    In de beheeromgeving van je NAS kun je een gratis Let’s Encrypt certificaat aanmaken. Koppel dit certificaat aan je Synology subdomein.

  3. Poorten forwarden

    Stuur de poorten in je router door naar je NAS

  4. Stel reverse proxy in

    Zorg ervoor dat het verkeer dat wat op een bepaald subdomein binnenkomt naar de juiste service gestuurd wordt.

Gratis domeinnaam aanmaken via Synology NAS

Om externe toegang mogelijk te maken naar je NAS maak je via DSM op je NAS een gratis subdomein aan. De DDNS service die dat regelt zorgt ervoor dat jouw IP-adres van je internet aansluiting vertaalt wordt naar de opgegeven domeinnaam. Zo kun je dus via die URL altijd verbinding maken met je thuisnetwerk. Om aan de slag te gaan, log in op je NAS en open het configuratiescherm. Kies het item Externe toegang en klik dan op toevoegen.

DDNS aanmaken in DSM op Synology NAS

Ik heb bij serviceprovider gekozen voor Synology. Je kunt dan kiezen uit een aantal domeinen zoals bijvoorbeeld *.synology.me, *.diskstation.me of *.myDS.me. Kies wat je leuk vind en vul een naam voor je domein in. Maak een account aan als dat nodig is en volg de stappen op je scherm.

DDNS service van Synology

SSL certificaat aanmaken via Synology NAS

Ga vervolgens naar het tabje Beveiliging in je Configuratiescherm van je NAS. Klik op Certificaat. Nu zie je het certificaat staan voor je DDNS adres. Dit certificaat wordt gebruikt om DSM beveiligd te kunnen benaderen vanuit buitenshuis. We gaan een eigen certificaat aanmaken voor iedere service die je wilt gebruiken met een eigen subdomein.

Wanneer je voor bijvoorbeeld .synology.me hebt gekozen en het subdomein twoenter, is de url om naar je nas te komen https://twoenter.synology.me. Als je DSM verder niet wilt benaderen en dit adres door wilt sturen naar Home Assistant of domoticz kun je verder gaan met de reverse proxy stap. Ik wil meerdere subdomeinen doorsturen naar verschillende services. Dus bijvoorbeeld https://domoticz.twoenter.synology.me of https://hass.twoenter.synology.me naar domoticz en home assistant.

Certificaat per subdomein per service

Omdat ik domoticz en home assistant tegelijk bereikbaar wilde hebben tijdens de overstap en testperiode, heb ik twee subdomeinen aangemaakt. Voer de volgende stappen uit per subdomein.

Onder het kopje beveiliging in DSM staat het tabblad Certificaat. Klik hier op Toevoegen.

Geef een beschrijving op van het certificaat, bijvoorbeeld Home Assistant of Domoticz. Kies voor de optie “Krijg een certificaat van Let’s Encrypt” en klik dan op volgende.

In het volgende scherm typ je de volledige naam van je domein dat je naar domoticz of Home Assistant wilt door sturen. Bijvoorbeeld “domoticz.twoenter.synology.me”. Geef verder nog een email adres op, dit wordt verder niet gebruikt. Klik op Toepassen en het certificaat wordt toegevoegd aan de lijst met certificaten.

Poorten forwarden naar Synology NAS

Al het verkeer wat op je verbinding naar de domeinnaam binnenkomt gaan we doorsturen naar de Synology NAS. We sturen poorten 80, 443 en eventueel andere aanvullende poorten door naar de juiste service op het juiste apparaat. Poort 80 wordt gebruikt door HTTP verkeer, poort 443 voor HTTPS.

Het poorten forwarden gaat per router/modem anders. Het beste kun je dit voor je eigen router even opzoeken. Stuur de poorten 80 en 443 in ieder geval door naar het IP-adres van je NAS, niet naar het IP van je Raspberry Pi.

Reverse Proxy instellen op Synology NAS

Om het juiste subdomein door te sturen naar het juiste apparaat in je netwerk gebruiken we Reverse Proxy. Ga in DSM naar Toepassingsportaal en kies daar voor het tabblad Reverse Proxy. Klik op Maken en onderstaand scherm zal verschijnen.

In dit scherm vul je voor Home Assistant en domoticz de volgende gegevens in:

Bron

  • Protocol: HTTPS
  • Hostnaam: De volledige domeinnaam incl subdomein, hetzelfde wat je ingevoerd hebt bij het certificaat.
  • Vink voor Home Assistant HSTS aan.

Bestemming

  • Protocol: HTTP
  • Hostnaam: het IP adres van je apparaat waar domoticz of Home Assistant op draait.
  • Poort: de poort die de service gebruikt. Voor Home Assistant vaak 8123.

Wanneer je domoticz gebruikt kun je op OK klikken. Voor Home Assistant ga je naar het tabblad ‘Aangepaste koptekst’. Klik vervolgens op Maken en neem de onderstaande gegevens over:

Certificaat koppelen aan reverse proxy

Ga terug naar het certificatenoverzicht en kies voor configureren. In het onderstaande overzichtje kun je dan de domeinen koppelen aan de juiste toepassing.

Proxies toelaten op Home Assistant

Voeg in je Home Assistant configuration.yaml bestand nog de volgende regels toe:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - xxx.xxx.xxx.xxx

Pas de ‘xxx’ aan naar het interne IP-adres van je NAS.

Het werkt!

Voer nu je domeinnaam in in je browseradresbalk, let op dat je ook https ingeeft voor de domeinnaam. Je komt uit bij je startpagina van domoticz of Home Assistant. Je kunt nu deze services vanaf iedere locatie in de wereld bereiken, is dat even handig!

Wat vond je van deze blogpost?

Klik op een ster om een beoordeling te geven!

Gemiddelde score 4.4 / 5. Aantal stemmen: 5

Er heeft nog niemand gestemd. Wees de eerste, het kost niets en geen registratie!

Jammer dat de post niet behulpzaam was.

Laten we deze post verbeteren!

Wat zou er beter kunnen?

Door Wouter

27 gedachten over “Home Assistant en domoticz SSL verbinding”
  1. Hallo Wouter,

    Was al tijdje onveilig bezig en met jouw heel duidelijke handleiding was het een eitje om dit te regelen. Bedankt!
    Heb nog wel een vraag over de instellingen in de Domoticz app die ik aantal jaren geleden gekocht heb. Daar lukt het me niet de gegevens in te vullen. Als ik de server opgeef ****.synology.me krijg ik de melding dat zelf ondertekende certificaten niet worden ondersteund.
    is hier nog iets aan te doen dat je weet?

    gr.
    Werner.

    1. Hoi Werner,

      Goed dat het gelukt is! Het is natuurlijk wel handig als je de Domoticz app kunt gebruiken. Heb je via Let’s Encrypt een certificaat gemaakt? Die zou niet als ‘self-signed’ herkend moeten worden denk ik.

      Wellicht lukt het toch wanneer je het certificaat aan je Android of ios device toevoegt. Dan weet je apparaat dat je het certificaat toch vertrouwd.

      In onderstaand artikel kun je meer lezen:
      https://kb.synology.com/en-global/DSM/tutorial/How_do_I_import_a_certificate_from_my_Synology_NAS_to_my_mobile_device

      Succes en groet Wouter

      1. Sorry voor de late reactie, vakantietijd. Heb nog wel wat geprobeerd maar niet gelukt. Maar ik laat het zo. De bovenstaande oplossing werkt prima en eigenlijk vindt ik de app niet zo bijzonder. Ik heb nog wel eens gevraag om iets aan te passen (bij rolluiken staan nu knoppen AAN STOP UIT. Had liever gezien open stop dicht, is duidelijker maar totaal geen reactie hierop.
        Alsnog bedankt voor je hulp.

  2. Dit is wat ik zocht, perfect uitgelegd en direct geprobeerd.
    Echter…

    Situatie: NAS Synology en Domoticz op rasberry Pi

    SSL verbinding is gelukt voor mijn NAS Synology, met domein synology.me
    Ook de beide certificaten zijn gelukt. 1 voor de NAS en 1 voor de sub domein voor de raspberry Pi

    Vul ik de domeinnaam (NAS) in de browseradresbalk , kom ik keurig met een SSL verbinding uit op mijn NAS
    Echter vul ik de sub-domeinnaam (Domoticz) in, dan kom ik met een onbeveiligde verbinding ook uit op mijn NAS en niet op mijn domoticz beginpagina .
    Wat doe ik fout?
    -De certificaten zijn goed, ook voor de juiste subdomeinen
    -Het forwarden (in mijn geval 80 en 443) gaat estaat goed volgens mij.

    Ik denk dat het bij de Reverse Proxy het niet goed gaat. De instellingen meerdere malen gecontroleerd maar ik zie geen fout. Als ik ingevulde gegevens (IP en poort) in mijn browser invoer kom ik wel keurig uit op mijn domoticz beginpagina.
    Heb jij een idee?

    1. Hoi William,

      Het lijkt erop dat er inderdaad een hoop goed gaat, alleen het laatste stukje niet.. Het klinkt alsof het inderdaad in het reverse proxy gedeelte zit. Verwijs je naar het juiste IP adres en domoticz port? In mijn geval was domoticz ip adres gelijk aan het op adres van de nas omdat domoticz op mijn nas draaide. Bij jou draait domoticz op je pi dus dat adres moet anders zijn.

      Ik gebruik domoticz al even niet meer, dus mijn domoticz kennis wordt roestig.. Misschien kun je in domoticz proberen nog SSL instellingen aan te passen? Ik weet even niet meer of dat nodig is. Is er voor domoticz ook niet een aparte SSL poort waarnaar je kunt verwijzen misschien?

      Wat gebeurd er als je met je telefoon met 4G verbinding naar het adres surft? Misschien komt het probleem alleen binnen je eigen netwerk voor.

      Succes en groet Wouter

      1. Hallo Wouter,

        Inmiddels al veel veranderd. Op een nieuwe NAS (oude was aan vervanging toe) een virtual machine draaien met daarop Home Assistant.
        Deze wil ik graag volgens bovenstaande artikel, SSL verbinding laten maken.

        -SSL verbinding met mijn NAS met synolgy.me gaat goed
        -Maar met sub domein kom ik wederom op mijn Nas en niet op Home Assistant. ook met een gesloten slotje
        -De certificaten zijn goed, ook voor de juiste sub domeinen
        -Het forwarden (in mijn geval 80 en 443) gaat goed.
        -Ook geprobeerd met de mobiel met 4G kom ik met de sub domein uit op mijn nas.

        Het lijkt of het niet verder komt, als mijn NAS. Hier moet ik gewoon inloggen.
        Gaat daar soms iets mis? Komt het door de tweestapsverificatie ?

        Ik snap er niks meer van, vandaar deze vraag wederom.

        1. Hoi William,

          Het moet echt in het reverse proxy deel zitten. Zit de nas firewall er misschien nog tussen?
          Zelf heb ik geen 2FA aan staan dus dat kan ik niet zeggen. Heb je nu ook het ip adres en poort nummer gebruikt naar je virtual machine in de reverse proxy? Of heeft je virtual machine geen apart ip adres?

          Succes maar weer, hopen dat het lukt!

          Groet Wouter

          1. Hoi Wouter,

            Het lijkt erop dat ik dat ik de reserve proxy maar niet kan bereiken. Deze draait op poort 143 deze doorgestuurd maar geen resultaat. Zelfs andere router geprobeert, ook deze geen resultaat. Het zit hem in de instellingen van de NAS .
            Maar goed, ik staar me inmiddels helemaal blind.
            Is misschien ook een andere manier om SSL verbinding te krijgen? DuckDNS, werkt deze ook op een virtuele machine van Synology?

          2. Beste William,

            Wat bedoel je met de reverse proxy draait op poort 143?

            Laten we nog eens doorlopen:

            Poort 80 en 443 (http en https) in je router doorsturen naar de poorten 80 en 443 op je nas.

            Al het http en https verkeer komt dan op je nas terecht. Op je nas maak je een certificaat aan (tab beveiliging – > certificaat) met het gekozen domein voorbeeld.diskstation.me (tab Externe toegang – > DDNS) dit maak je het standaard certificaat.

            Nu nog een certificaat maken voor Home assistant. Ik heb die ha.voorbeeld.diskstation.me genoemd. Die niet instellen als standaard.

            Nu naar reverse proxy op tab Aanmeldingsportaal – > geavanceerd – > reverse proxy. Maak een nieuw item: protocol is https, hostnaam is ha.voorbeeld.diskstation.me, poort 443, hsts inschakelen.
            Doel:
            Protocol: Http
            Hostnaam: Ip adres home assistant
            Poort: poort home assistant (standaard 8123)

            Als dit niet werkt zou je ook van DuckDNS gebruik kunnen maken. Ik weet niet welke poorten je dan open moet zetten.

            Succes maar weer en groet Wouter

  3. Hoi Wouter,

    Ben na nog weer eens een crash overgestapt van Domoticz op Home assistent dus je artikel was weer even handig.
    Wel merkte ik dat er na een bepaalde update iets in de yaml configuratie file gezet moet worden, bij mij was onderstaand voldoende:
    http:
    use_x_forwarded_for: true
    trusted_proxies:
    – XXX.XXX.XXX.XXX # Add the IP address of the proxy server

    Heb ik nog een andere vraag, aangezien je ook overgestapt bent. Ik had o.a. een aantal Chinese thermometers en Somfy rolluiken via RFXCOM-E in Domoticz. Het lukt me vooralsnog niet deze aan te sturen (Rolluiken zijn niet eens zichtbaar). Heb jij daar ervaring mee opgedaan die je zou kunnen delen in een artikel?

    gr.
    Werner.

    1. Hoi Werner,

      Dat kan wel kloppen. Die regels yaml komen me bekend voor. Ik zal dat eens toevoegen aan het artikel voor de volledigheid. Bedankt voor de tip!

      Je andere vraag over de RFXcom:

      Ik heb de RFXcom nog steeds in gebruik, maar het aanmelden van apparaten via Home Assistant is veel ingewikkelder dan in Domoticz vind ik. Ik heb ook Somfy rolluiken maar die werken via de connexoon hub van Somfy. Daarmee kun je ze via wifi bedienen. Ik heb een artikel geschreven over het koppelen van ProMax switches aan Home Assistant met de RFXcom. Hierin staat de code die de switch koppelt. De code heb ik gevonden met de RFXmanager tool die je op site van RFXcom kunt vinden. Wellicht kun je hiermee eens wat experimenteren met jouw apparaten.

      Ben benieuwd of het lukt!

      Groet Wouter

      1. Hoi Wouter,

        Gelukt, bedankt voor het artikel. ik heb alvast een Promax toe kunnen voegen. Daarnaast heb ik nog eens gekeken naar de protocollen die ik aan had gezet. Heb er nog 1 bijgezet. Dacht AC of ARC. Vervolgens kwamen ook al mijn chinese thermometers automatisch zichtbaar. Ben daar wel blij mee. Heb ze in de meeste kamers en tuin staan (die in de tuin b.v. liet ik mij met Domoticz een bericht sturen als de temperatuur rond 0 kwam) Zo’n thermometer ziet in in RFXMGR als volgt uit:
        Packettype = TEMP_HUM
        subtype = TH13 – Alecto WS1700 and compatibles
        channel 1
        Sequence nbr = 39
        ID = 5401 decimal:21505
        Temperature = 22,2 Ā°C
        Humidity = 54
        Status = Comfortable
        Signal level = 7 -64dBm
        Battery = OK

        Nu zijn die ook weer zichtbaar. Wordt steeds mooier. De Somfy ga ik als volgende naar kijken. Dan heb ik nog via Tuya local RGB lampen zichtbaar maar zonder kleurenwiel. Ook maar weer uitzoeken hoe dit te fixen is.

        Gr.
        Werner

          1. Dank je Wouter,

            Ik ga eens naar die Tuya convert kijken of het voor mijn lampen kan. Helaas heb ik te vroeg gejuicht voor die thermometers. Ze staan er nu allemaal in maar updaten niet. HA is veelzijdiger dan Domoticz maar daar liepen deze zaken direct goed.
            Zoeken maar.

            gr.
            Werner

          2. Voor Tuya heb ik de local tuya integratie gebruikt. Probleem is echter dat Tuya nogal eens dingen veranderd, waardoor het niet altijd werken wil

          3. Tuya apparaten flash je beter gewoon naar esphome. Check daarvoor mijn artikel op dit blog.

      2. maar het aanmelden van apparaten via Home Assistant is veel ingewikkelder dan in Domoticz vind ik
        Inderdaad. Het lijkt er op dat veel van mijn apparaten niet gevonden worden. Vooral KaKu/CoCo niet. maar ook andere niet.

        1. Ik had daar ook moeite mee. Had KaKu en die van de Action maar meeste konden niet gevonden worden. Misschien opnieuw aanmelden in HA? Wel heb ik de Somfy rolluiken kunnen toevoegen (handmatig) en automatisch de Chinese thermometers in huis.

  4. Ik was van provider overgestapt en mijn HA loopt op Proxmox. Vervolgens lukte het me dus totaal niet meer om het werkend te krijgen. Alles op mijn NAS stond goed en na lang zoeken kwam ik er achter dat je in PVE de shell moet starten en commando:
    nano /etc/resolv.conf
    of
    #sudo nano /etc/resolv.conf

    Bij mij stond hier dus de verwijzing naar de Odido modem:

    # — BEGIN PVE —
    search domotica
    nameserver 192.168.1.1
    # — END PVE —

    Vervolgens aangepast en het werkt weer:
    # — BEGIN PVE —
    search domotica
    nameserver 192.168.2.254
    # — END PVE —

    Tipje mocht iemand ook tegen dit probleem aanlopen.

  5. Op de oude Synology kreeg ik dit zonder problemen aan het werk. Nu ben ik over naar een Synology 422+ NAS, maar als ik dan naar mijn HomeAssistant wil, krijg ik een 400: bad request

      1. Dit heb ik staan:
        Upgrade $http_upgrade
        Connection #connection_upgrade

        Misschien dat er in DSM 7+ nog andere instellingen nodig zijn.

    1. Lokaal werkt het prima.

      in het modem aangegeven dat http en https verkeer naar de synology moet op poorten 80 en 443.

      In configuration.yaml heb ik:

      http:
      use_x_forwarded_for: true
      trusted_proxies:
      – 192.168.0.5

      (192.16.8.0.5 is het ip van mijn nas)

Laat weten wat je van dit artikel vindt!

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

%d bloggers liken dit: