Ik werk al een paar jaar met Domoticz als Domotica oplossing in huis en dat werkt erg goed en betrouwbaar. Echter merk ik de laatste tijd dat Home Assistant als Domotica systeem steeds populairder wordt en meer ondersteuning heeft voor allerlei hardware. Nadat we recent een Daikin Airco systeem in huis hebben gehaald met Wifi kwam ik er achter dat hiervoor geen oplossing was om deze in Domoticz aan te sturen. Daikin is nl. met hun nieuwe Airco’s (helaas) overgestapt op Cloud aansturing en deze kunnen niet meer lokaal benaderd worden. Voor Home Assistant bestaat hiervoor wel een oplossing.

Ik heb me daarom in de kerst vakantie in Home Assistant verdiept en was aangenaam verrast hoe goed dit werkt. Alles wat ik thuis gebruik wordt ondersteund en ik kan alles (en meer) dan wat ik met Domoticz kan. Je moet even doorkrijgen hoe de architectuur van Home Assistant in elkaar steekt, maar als je dat eenmaal door hebt werkt het heerlijk. Tevens kun je heel eenvoudig een mooie User-Interface in elkaar steken die je meteen overal kunt gebruiken. Je kunt dus alles in 1 applicatie instellen en configureren. Bij Domoticz maakte ik bijvoorbeeld nog gebruik van Dashticz voor de User-Interface en die werkt niet echt lekker op een iPhone.

In deze blog leg ik uit hoe ik Home Assistant heb geïnstalleerd en geef een aantal ervaringen en tips die jou misschien kunnen helpen.

Ik maak gebruik van een Intel NUC om Home Assistant op te installeren. Hiervoor heb ik de volgende stappen doorlopen:

  • Debian installeren
  • Docker installeren
  • HA installeren
  • Mosquitto installeren
  • Zigbee2MQT installeren
  • HA Configureren

Debian

Installeer Debian als Operating Systeem op de Intel NUC met behulp van een Debian Boot USB. Creëer een bootable USB disk van de Debian ISO die je download. Je kunt hiervoor bijvoorbeeld gebruik maken van Rufus. Doe de USB disk in je Intel NUC en druk tijdens het opstarten van je Intel NUC op de F10 toets om vervolgens je USB disk als boot drive te gebruiken. Voer vervolgens alle stappen uit die je op je scherm ziet om Debian te installeren. Na installatie verwijder je de USB disk en restart je de Intel NUC.

Tip
Nadat je Debian hebt geïnstalleerd en opgestart kun je het beste de power management functies uitzetten met het volgende commando:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Docker installeren

Installeer Docker op je Debian systeem met de volgende commando’s:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Nadat de Docker Engine is geïnstalleerd kun je de Docker service starten en inschakelen zodat deze start na een systeem reboot met de volgende commando’s:

systemctl start docker
systemctl enable docker

Je kunt controleren of Docker goed draait met het commando:

sudo systemctl status docker

HA installeren

Zie de volgende instructies met details om HA te installeren voor een Intel NUC. Er zijn verschillende installaties methodes:




Ik heb gekozen voor de HA Container variant (in Docker). Vervolgens heb ik in mijn home directory (/home/henri) de volgende structuur aangemaakt:

home
  HA
    config

Creëer nu de file ‘/home/henri/HA/compose.yml’ met de volgende inhoud (ik gebruik hier de ‘latest’ versie, je kunt eventueel ook andere versies zoals ‘stable’ kiezen):

version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:latest"
    volumes:
      - /home/henri/HA/config:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0

Op deze manier zal alle configuratie in de directory ‘/home/henri/HA’ komen en hoef je alleen deze maar regelmatig te back-uppen. Start tenslotte HA op met het commando:

docker compose up -d

Je kunt vanaf nu je HA bereiken met:

http://<host>:8123

Volg nu bij de eerste keer opstarten van HA de instructies van deze link.

Mosquitto installeren

Als broker voor MQTT berichten maak ik gebruik van Mosquitto. Voer de volgende instructies uit om Mosquitto op je Debian systeem te installeren.

Zigbee2MQTT installeren

Aangezien ik gebruik maak van Zigbee2MQTT als broker voor mijn Zigbee devices in huis heb ik de volgende instructies gevolgd om ook Zigbee2MQTT te installeren op de Intel NUC. Deze stappen moet je heel precies opvolgen. Voor het automatisch opstarten van Zigbee2MQTT via een service moet je wel een kleine aanpassing maken in de file ‘/etc/systemd/system/zigbee2mqtt.service’. Verander hier de ‘User’ in de gebruiker die jij hebt aangemaakt in je Debian installatie.

Omdat ik Zigbee2MQTT al gebruikte op mijn Domoticz installatie ga ik de configuratie hiervan overnemen. Kopieer de volgende files van je oorspronkelijke Zigbee2MQTT installatie naar je nieuwe Intel NUC en pas aan waar nodig (b.v. IP adres MQTT broker):

  • /opt/zigbee2mqtt/data/configuration.yaml
  • /opt/zigbee2mqtt/data/database.db

HA Configureren

Installeren add-ons

HACS (Home Assistant Community Store)

  • Start SSH shell en en voer HACS download script uit met commando:
    cd /home/henri/HA
    wget -O - https://get.hacs.xyz | bash -
  • Restart HA
  • Voer de volgende instructies uit Je vind nu HACS in je linkse hamburger-menu. Om een ‘Custom Repositories’ in te stellen selecteer je HACS en kies je ‘Integrations’. Druk daarna de 3 puntjes rechtsboven en kies ‘Custom Repositories’ en vul de gegevens in.

Installeren extra integrations

SolarEdge (Modbus)

  • Gebruik HACS en gebruik als custom repository: https://github.com/binsentsu/home-assistant-solaredge-modbus
  • Download via HACS (Integrations) de ‘SolarEdge Modbus’ repository
  • Restart HA
  • Ga naar ‘Settings – Devices & Services’ en kies /Integration\
  • Druk [Add Integration] knop en kies ‘SolarEdge Modbus’ en vul de configuratie gegevens in

Nefit Easy

  • Gebruik HACS en gebruik als custom repository: https://github.com/ksya/ha-nefiteasy
  • Download via HACS (Integrations) de ‘Nefit Easy’ repository
  • Restart HA
  • Ga naar ‘Settings – Devices & Services’ en kies /Integration\
  • Druk [Add Integration] knop en kies ‘Nefit Easy’ en vul de configuratie gegevens in


DSMR Slimme Meter

  • Ga naar ‘Settings – Devices & Services’ en kies /Integration\
  • Druk [Add Integration] knop en kies ‘DSMR Slimme Meter’ en vul de configuratie gegevens in

Zie deze deze link voor meer informatie.

Pushover

  • Ga naar ‘Settings – Devices & Services’ en kies /Integration\
  • Druk [Add Integration] knop en kies ‘Pushover’ en vul de configuratie gegevens in

In een ‘Actions’ kun je dan eenvoudig een pushover bericht versturen:



Daikin Airco

Recente Daikin Airco’s kunnen niet meer lokaal over het netwerk worden benaderd. In plaats hiervan gebeurt dit via de Cloud en werkt o.a. de ONECTA App hiermee. Nu heeft iemand een integratie geschreven die de ‘token set’ van de Daikin Airco kan ontvangen en HTTP commando’s naar de Cloud van Daikin te sturen. Op deze manier kun je toch je Daikin Airco bedienen in HA. Zie deze link hoe je dit kunt installeren in HA.



Let’s Encrypt

Als je een port-forward maakt in je router om zodoende je HA van buitenaf te kunnen bereiken dan is het verstandig om je data over een veilige (SSL) verbinding te laten verlopen. Je kunt hiervoor je Let’s Encrypt certifaten gebruiken. Voeg hiervoor de volgende regels toe aan je ‘configuration.yaml’ file van je HA systeem:

# Let's Encrypt
http:
  ssl_certificate: /config/ssl/fullchain.pem
  ssl_key: /config/ssl/privkey.pem

Kopieer je Let’s Encrypt certificaten naar deze en lokatie en voeg je port-forward toe aan je router en herstart tenslotte HA. Zorg er via een cron-job ook voor dat je regelmatig je certificaten in de ‘/config/ssl’ directory van je HA systeem up-to-date houdt.

Tips en ervaringen

Aqara Kubus

Om al de ‘actions’ hiervoor te kunnen gebruiken heb je een blueprint nodig. Zie hier voor meer informatie.

  • Ga naar ‘Settings – Automations & Scenes’
  • Kies Blueprints tab en druk knop ‘Import Blueprint’
  • Gebruik het volgende Blueprint address: https://community.home-assistant.io/t/z2m-xiaomi-cube-controller/263006
  • Druk [Import Blueprint] bij het volgende scherm

InfluxDB

Als je InfluxDB en Grafana wilt blijven gebruiken dan kun je eenvoudig gegevens van je sensoren van je domotica systeem door HA naar een InfluxDB sturen. Zie ook deze link met meer informatie. Het komt er op neer dat je alleen maar de gegevens van je InfluxDB in je ‘configuration.yaml’ file van HA zet.

Shell commando

Je kunt heel eenvoudig eigen commando’s in ‘Actions’ gebruiken d.m.v. het ‘shell command’. Zie ook deze link met meer informatie. Hieronder een voorbeeld om dit duidelijker te maken. Zet bijvoorbeeld in je ‘configuration.yaml’ file van je HA systeem het volgende:

shell_command:
  test: curl -s {{ data }} {{ url }}

Vervolgens kun je dan een ‘Action’ als volgt definiëren:



eMail notificatie

Om mail met SMTP te versturen moet je de SMTP configuratie invullen in de ‘configuration.yaml’ file. Zie deze deze link met meer informatie. In een ‘Actions’ kun je dan eenvoudig een email versturen:



Tenslotte

De site van HomeAssistant zelf bevat enorm veel goede documentatie. Verder heeft HomeAssistant natuurlijk ook een levendig forum Op Tweakers.net is er ook een forum met veel tips en ervaringen.

Upgraden Home Assistant

Aangezien Home Assistant in een docker draait is een update erg eenvoudig. Je hoeft alleen maar je huidige container te stoppen, verwijderen en de laatste versie opnieuw te downloaden. Aangezien je ‘config’ directory niet in je container zit, blijft deze onaangetast en kun je meteen weer verder. Lees altijd wel even de release notes of er geen ‘breaking changes’ zijn in de configuratie. Bij ‘breaking changes’ moet je eventueel nog je configuratie aanpassen (b.v. je .yaml files).

docker stop home-assistant
docker rm home-assistant
docker pull homeassistant/home-assistant
docker compose up -d

Je kunt eventueel nog opgeven welke label je nodig hebt. Het overzicht van labels (tags) kun je hier vinden.

Mijn huidige setup

Ik ben nog volop bezig met het fine-tunen van mijn HA installatie en user-interface, maar hieronder zie je in een aantal screenshots hoe het er nu uitziet. Dit geeft je alvast een indruk wat er allemaal mogelijk is met HA.
















Via HACS zijn er ook veel ‘Frontend’ integraties te downloaden waarmee je de User-Interface nog mooier en handiger kunt maken. Daar moet ik mij nog verder in gaan verdiepen. Verder is ook nog een mooie App voor je andere smart devices (iPhone, iPad, MAC en Apple Watch) om het helemaal af te maken.

Conclusie

Ik werk nu een paar weken met Home Assistant en ben super tevreden. Het werkt echt heerlijk en als je vragen hebt dan kun je altijd wel op internet het antwoord wel vinden. Dit heeft te maken met het feit dat Home Assistant erg populair is en veel actieve ontwikkelaars heeft. Je moet even door hebben hoe de architectuur van Home Assistant werkt, maar eenmaal zover zit alles heel logisch in elkaar. Ik ga hier nog heel veel plezier aan hebben. Als jij ook nog goede tips hebt dan hoor ik die graag in de reacties.