De Home Assistant app
Home Assistant kun je bedienen via de lokale website (http://homeassistant.local:8123), maar er is ook een prima gratis app. Met de app bedien je je server thuis, of vanaf de rest van de wereld. De app kan ook veel gegevens van je telefoon doorgeven aan je domotica server, zoals hoeveel stappen je hebt gelopen, hoe vol je batterij nog is of waar je bent. Met ‘geozones’ kun je scenes starten als je een bepaalde zone binnenkomt of verlaat.
Uiteraard ben jij zelf de baas over al deze gegevens. Je kunt ervoor kiezen dit allemaal niet te gebruiken. Als je het wel gebruikt heeft dat ook geen privacy-gevolgen, want (bijna) alles heb je in eigen beheer. In onderstand voorbeeld stel je alleen je vertrouwen in Cloudflare.
De app geeft je server ook de mogelijkheid om zogeheten Pushberichten af te leveren. Maar mocht je de app niet willen gebruiken, niet via onderstaande Cloudflare manier willen koppelen, of berichten willen sturen aan andere mensen, dan kun je er ook voor kiezen om pushberichten te ontvangen via een systeem als Pushover. (Die andere mensen moeten dan wel Pushover hebben.)

In de app van Home Assistant kun je alles lokaal bedienen, maar dat werkt standaard niet als je buitenshuis bent. De ontwikkelaar achter HA (Nabu Casa) biedt een gebruikersvriendelijke manier om ook buitenshuis bij je HA te kunnen:

Hiervoor moet je wel een betaald abonnement afsluiten.
Cloudflare
Ik heb de gratis oplossing van Cloudflare gebruikt. Daarvoor heb je alleen een eigen domeinnaam nodig, als je die al hebt, dan kan deze methode zonder verdere kosten.
In theorie kun je je domoticacomputer bereiken door een poort in je router open te stellen. Maar een gat prikken in je ‘firewall’ is niet de beste oplossing. Met de gratis Cloudflare Zero Trust Tunnel kan het veiliger. Je kunt bij Cloudflare namelijk gratis een account maken en die functie gebruiken.
Het idee achter deze methode is dat een Add-on vanuit je HA server contact zoekt met Cloudflare. Omdat het initiatief van binnen je netwerk komt (net als wanneer je aan het internetten bent) is openstellen van een poort niet nodig. De add-on logt dus in op Cloudflare en blijft daarmee verbonden. Vanuit je app ga je naar je door Cloudflare beveiligde domeinnaam en wordt je doorverbonden naar jouw server. Daar log je in met naam, wachtwoord en 2FA code.
Met deze methode kun je ook gratis gebruikmaken van Cloudflare’s Web Application Firewall (WAF). Met de WAF kun je bijvoorbeeld specifieke landen blokkeren of toegangsregels instellen om ongewenst verkeer te weren. Dit verhoogt de beveiliging van je HA-instantie aanzienlijk. Een basisversie van WAF is ook gratis.
Maak een gratis account aan bij Cloudflare. Kies Sign up. Tip: gebruik naam en wachtwoord in plaats van dat je Google of Apple gebruikt om in te loggen.
Website koppelen
Je hebt bijvoorbeeld een website geregistreerd bij Transip.nl, dan kun je daar voor je website de nameservers instellen op Cloudflare. Bij Cloudflare wordt dat duidelijk uitgelegd. Aanpassingen van de NS vergt doorgaans wat langer voordat de aanpassing actief is. Dit kan 24 uur duren, meestal duurt het een uur of iets langer. Je kunt daarna met het gratis Cloudflare account één tunnel instellen met dat domein of een subdomein. Maar vanaf nu moet je alles wat je eventueel nog meer met dit domein doet in Cloudflare instellen (in de DNS).
Voeg de Cloudflare add-on toe op je HA server. Dat doe je door in de add-onwinkel naar het menu te gaan en dan Repositories. Plak daar onderstaande link, voeg toe en bewaar.
Daarna moet de Cloudflare add-on beschikbaar zijn:

Klik op de Add-on en ‘installeren’ en zet ‘start bij opstarten’ aan (en evt de andere twee vinkjes ook).
Ga nu naar het tabblad ‘Configuratie’ en vul je hostnaam in, dus de domeinnaam die je wil gaan gebruiken (zoals mijnwebsite.nl). Maar dat kan dus ook een subdomein zijn, bv ha.mijnwebsite.nl.
Ga nu terug naar het tabblad ‘Informatie’ en start de add-on.
Ga nu naar het tabblad ‘Logboek’ en kopieer de url die bijna onderaan de log staat en plak die in een browser. Daarmee ga je naar Cloudflare en zal je worden gevraagd om de koppeling te autoriseren. Het helpt als je daar al op je account was ingelogd.
Nadat je hebt geautoriseerd kun je naar mijnwebsite.nl gaan en zien je… een error.

Er is nog een extra actie nodig. Daarvoor heb je een teksteditor nodig binnen HA, zoals File editor.
Open File editor en open Configuration.yml. Daar plak je deze code:
http: use_x_forwarded_for: true trusted_proxies: - 172.30.33.0/24
Dan ziet de editor er zo uit:

Daarna herstart je Home Assistant (Instellingen -> System en daar klik je rechts boven op het herstart menu. Kies herstarten).
Daarna kun je overal vandaan, ook vanuit je huis via mijnwebsite.nl inloggen.
Open de app op je tablet of telefoon en ga naar.
Zie deze video voor verdere uitleg over deze configuratie: https://www.youtube.com/watch?v=xXAwT9N-7Hw
Alleen Nederland
Houd Rusland en China buiten je deur en stel de (ook gratis) basis WAF functie in.

Klik daar op de tab Custom rules (eerste tab). En klik dan op de blauwe knop Create rule.
Geef de WAF-regel een naam, bv “Alleen Nederland”, kies voor ‘Country’, ‘does not equal’ en dan ‘Netherlands’. Vervolgens kies je als actie: ‘Block’. Dus komen bezoekers niet uit Nederland, dan zien ze een foutpagina. Als je in het buitenland bent kun je op Cloudflare inloggen en de regel tijdelijk uitzetten, of een extra land toevoegen (bv: AND ‘does not equal’ ‘France’).

In de app kun je twee adressen instellen, een voor als je thuis bent en een voor alle andere gevallen.
Bij ‘voorkeuren’ kies je ‘Servers’, klik dan op jouw server en vul de interne URL en de externe URL in, voor zover dat nog niet goed staat.
Bij de externe URL komt dus het adres van je website. De App zal automatisch als het interne adres niet bereikbaar is contact maken via de externe weg. Voor wanneer je thuis bent is de interne URL natuurlijk beter. Sneller en meer privé.