OK, een hoop blogs m.b.t. Domoticz schreef ik enerzijds omdat ik vaak genoeg zelf op zoek ben geweest antwoorden op bepaalde vragen. Anderzijds schreef ik deze ook met regelmaat e.e.a. voor mijzelf als geheugensteun. Mocht ik de informatie ooit weer nodig hebben, dan kan ik het in ieder geval weer terugvinden. Nu is Domoticz al een tijdje niet meer hier in huis, nadat ik overstapte op Home Assistant (zoals zo vele ben ik bang). Dus hierbij de eerste blog m.b.t. Home Assistant en in dit geval over SSL via je Synology NAS 😉
SSL toevoegen, waarom?
Home Assistant draait vaak op een Raspberry Pi of soortgelijk apparaat. Hierbij wordt niet standaard HTTPS ondersteund out-of-the-box. Waarom zou je toch gebruik willen maken van HTTPS? Om te beginnen is het gebruik van HTTPS natuurlijk gewoon veiliger. Bij mij persoonlijk kwam de behoefte kort geleden boven drijven n.a.v. een update van ESPHome, waarbij het lokaal op je computer mogelijk is om ESPboards te flashen. Enige voorwaarde hiervoor is dat je draait op HTTPS en werkt in een Chrome browser.
Omdat ik op de tweede verdieping m’n werkplek heb, en in de meterkast op de begane grond de Raspberry Pi staat waarop Home Assistant draait, scheelt mij dat dus twee trappen af, en weer twee trappen op om een boardje te flashen. Genoeg reden voor mij om HTTPS op Home Assistant via mijn Synology NAS aan de praat te krijgen 🙂
Hoe dan?
In de meterkast staat bij mij ook de Synology NAS te draaien. Hierop staat al lange tijd een certificaat geïnstalleerd. Gemak dient de mens, dus als je hiervan gebruik kan maken, waarom dan ook niet? Het stappenplan blijkt bijzonder eenvoudig. Voorwaarde dus wel een goed werkend certificaat.
Ga naar het Control Panel van de NAS, en kies hier voor Application Portal en vervolgens voor het tabje Reverse Proxy. Klik vervolgens op het knopje Create en het volgende scherm opent;
Neem in de basis bovenstaande instellingen over, en vul onder Hostname het lokale IP adres van de Raspberry Pi (of ander apparaat) in. Kies vervolgens voor het tabje Custom Header, en klik hier niet op de knop Create, maar op het pijltje naar beneden dat ernaast staat. Kies vervolgens voor WebSocket;
De headernames Upgrade en Connection en de bijbehorende waardes worden automatisch ingevuld. Sluit af met OK om de nieuwe instellingen op te slaan.
En klaar
Als je alles goed gedaan hebt, dan is Home Assistant vanaf nu op HTTPS bereikbaar, maar dus wel via het standaard adres van je NAS, aangevuld met het poortnummer 8123. Dus bijvoorbeeld https://jouwnas.domeinnaam.nl:8123.
Dit werkt bij niet met Home Assistant geïnstalleerd op de VM van mijn Synology. Klopt dat?
Zou gewoon moeten werken, kan je Home Assistant wel lokaal benaderen zonder https?
In the latest DSM, it’s slightly different and a bit more hidden.
If you get the 400 Bad request error, add this to your HA configuration.yaml (assuming your docker network is in 172.17.0.1:
http:
use_x_forwarded_for: true
trusted_proxies:
– 127.0.0.1
– 172.17.0.1
Ik krijg een fout melding dat de poort al in gebruik is bij een andere toepassing. Via HTTP kom ik er wel gewoon in.
Klinkt wonderlijk, wat krijg je voor melding als je via https connect? 8123 is wel heel specifiek de poort van Home Assistant. Heb je toevallig nog een docker draaien oid op die poort?
Als ik via intern ip adres verbind op poort 8123 dan gaat het prima. Als ik het via jouw aanpassing probeer dan krijg ik die poort foutmelding. Dat is waarschijnlijk niet zo vreemd, want voor HTTP of HTTPS toegang tot de NAS gebruik ik ook andere poorten. Ik heb voor HTTPS nu poort 8124 gebruikt, maar dan krijg ik een 400 fout. Aanpassen van de configuration.yaml volgens recept van smart at home levert wel een inlogscherm op als ik via lokale IP inlog. Ik krijg foutmeldingen op de configuration.yaml.