Fortsätt till huvudinnehåll

Min nuvarande hemautomationsinstallation

Sen jag fick en begagnad Tellstick Net för en massa år sen har jag alltid haft någon form av hemautomation igång. Sedan 2015 nån gång har basen varit Home Assistant med lite olika hårdvara för att kunna kommunicera på ett antal trådlösa protokoll.

Efter ett misslyckat försök att få en Raspberry Pi 3B att fungera tillförlitligt kombinerat med en USB-hubb och en extern SSD blev det istället ett skifte till docker-containers för varje mjukvara som krävs för att kommunicera med den hårdvara jag vill använda, snurrandes på min befintliga hemserver som även sköter lagring och backup.

Nedan följer en kort sammanställning över vilken hård- och mjukvara jag nyttjar, samt en kortfattad steg-för-steg guide som beskriver hur installationen gick till.

Hårdvara:

  • Min hemserver snurrar på en mini-ITX Atom N330 med 4Gb ram, en ssd för os:et (Ubuntu 20.04) och en raid-10-array för lagring av foton mm.
  • Zigbee: ljuskällkor från IKEA och Philips samt sensorer (magnet, temperatur, lufttryck, rörelse mm) från IKEA och Aqara nås via en Conbee-sticka (första versionen)
  • Z-wave: en Aeotek Zwave Gen 5-sticka används främst för att kommunicera med en Fibaro Smart Implant som styr en gammal garageportsöppnare
  • 433MHz: en RFXtrx433E för att styra en massa gamla 433MHz-strömbrytare och dimmers
  • Nätverk (trådat och wifi) består av Unifi-prylar (accesspunkt, switch, brandvägg, controller)
  • Kamera, ringklocka, ett par brandvarnare och några Home Mini från Google Nest
  • En drös med Chromecast och Chromecast Audio

Installation

  1. Installera Ubuntu Server 20.04.3LTS från officiell avbild
  2. Installera docker
    1. sudo apt install docker.io
  3. Docker-container för unifi controller:
    1. mkdir ~/unifi-config
      sudo docker run -d --name=unifi-controller -e PUID=1000 -e PGID=1000 -p 3478:3478/udp -p 10001:10001/udp -p 8080:8080 -p 8443:8443 -p 1900:1900/udp -p 8843:8843 -p 8880:8880 -p 6789:6789 -p 5514:5514/udp -v ~/unifi-config:/config --restart unless-stopped ghcr.io/linuxserver/unifi-controller
    2. OBS! Glöm inte att sätta “Override inform host” under inställningarna i Unifi, annars skickar controllern den interna Docker-IP:n istället och adopt fungerar inte!
    3. Mer instruktioner finns här: https://github.com/linuxserver/docker-unifi-controller/pkgs/container/unifi-controller
    4. Med ovan så nås Unifi controllern via serverns IP-adress på port 8443
  4. Docker-container för Home Assistant:
    1. mkdir ~/hass mkdir ~/hass/config
      sudo docker run -d --name homeassistant --privileged --restart=unless-stopped -e TZ=Europe/Stockholm -v ~/hass/config:/config --network=host ghcr.io/home-assistant/home-assistant:stable
  5. Docker-container för deConz:
    1. mkdir ~/deconz sudo docker run -d --name=deconz --restart=unless-stopped -p 80:80 -p 443:443 -v /etc/localtime:/etc/localtime:ro -v ~/deconz:/opt/deCONZ --device=/dev/ttyUSB0 deconzcommunity/deconz
  6. Docker-container för Z Wave JS:
    1. mkdir ~/zwavejs sudo docker run -d --name=zwaveje --restart=unless-stopped -p 8091:8091 -p 3000:3000 --device=/dev/serial/by-id/usb-0658_0200-if00:/dev/zwave -v ~/zwavejs:/usr/src/app/store zwavejs/zwave-js-ui:latest
  7. Docker-container för Nginx Reverse Proxy Manager:
    1. mkdir ~/reverse-proxy
      mkdir ~/reverse-proxy/data
      mkdir ~/reverse-proxy/letsencrypt
      sudo docker run -d ––name=reverse-proxy -p 82:80 -p 81:81 -p 444:443 -v ~/reverse-proxy/data:/data -v ~/reverse-proxy/letsencrypt:/etc/letsencrypt --restart unless-stopped jc21/nginx-proxy-manager:latest
    2. Nu når du adminpanelen på http://localhost:81/nginx/proxy
    3. Lägg till reverse proxy för Unifi och Home Assistant
    4. Glöm inte att aktivera Websockets support, Force SSL och HSTS enabled! (utan websockets support går det inte att logga in till Home Assistant via reverse proxyn)
  8. I Home Assistant aktiverar du integrationerna för RFXtrx, deConz, Z-Wave JS
  9. I Home Assistant aktiveras även integration mot Google Assistant enligt officiella dokumentationen

Kommentarer

Populära inlägg i den här bloggen

Aktivera sido-mus-knappar för Firefox

Har du en mus med "framåt"- och "bakåtknappar"? Fungerar dom inte i Firefox? Gör så här: Öppna ett terminalfönster och skriv: sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak för att göra en backup på configurationsfilen för dina enheter innan du börjar ändra i den. Skulle nånting gå fel är det bara att kopiera tillbaka backupfilen så här. Öppna sedan konfigurationsfilen med följande kommando: gksudo gedit /etc/X11/xorg.conf Du får nu upp en textfil. I denna fil finns ett avsnitt som ser ut så här: Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" ... Option "Protocol" "ExplorerPS/2" ... Option "Emulate3Buttons" "true" EndSection Ersätt denna bit med följande: Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" ... Option "Protocol" "ExplorerPS/2" .

Dela ut Ubuntu-skrivare i nätverket

Har du ett fungerande nätverk med t.ex. Samba-utdelningar från din Ubuntu-dator är det inga problem att även dela ut dina skrivare till de andra datorerna i nätverket. För detta ändamål använder du skrivarservern CUPS. Cups kommer du lätt genom att peka din webbläsare till http://localhost:631 vilket är den port (631) som CUPS ligger på. På CUPS startsida börjar du med att lägga till din skrivare genom att klick på "Lägg till skrivare". Välj port och drivrutin precis som när du lägger till en skrivare i Windows. När skrivaren är tillagd skriver du ut en testsida för att se att det fungerar. Klicka sen på Hantera Server och bocka i följande alternativ i den lista som kommer upp till höger på skärmen: Visa skrivare utdelade av andra system Dela ut publicerade skrivare anslutna till detta system Allow printing from the Internet Tillåt fjärradministration Use Kerberos authentication Tillåt användare att avbryta alla jobb (inte bara sina egna) Spara felsökningsinformati