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.
Bedankt voor je uitleg! Heb je ook al een goede manier gevonden om eenvoudig apparaten en scènes in Domoticz te bedienen vanuit Home Assistant? Het liefst zou ik alles importeren. Ik zie het niet zitten om al mijn scripts opnieuw te bouwen, maar zou wel graag in de toekomst nieuwe dingen in HA willen bouwen. Ipv in Domoticz. Nu doe ik dit via mqtt en node red. Maar dat is redelijk omslachtig. Alvast bedankt!
Domoticz gebruik is inmiddels niet meer. Wat ik vroeger met LUA scripts in Domoticz deed, doe ik nu met Automations in HA. Ik heb hiervoor eerst een overzicht gemaakt wat ik allemaal in Domoticz deed en toen deze 1 voor 1 overgezet qua functionaliteit in HA. In 1 dagje van de kerstvakantie was ik daarmee wel klaar (zie ook mijn screenshots over welke aantallen dit gaat).
Ik kan alles wat ik Domoticz kon en meer, dus ook apparaten en scenes via de User-Interface bedienen (en natuurlijk met de automatisch met de Automations). Helaas zit mijn geschiedenis aan sensor data van Domoticz niet n HA. Ik heb er geen tijd aan besteed of dit mogelijk is, maar wellicht had ik dit via InfluxDB data voor elkaar kunnen krijgen.
Mooi uitgelegd weer. Je verhaal komt overeen met mijn overstap van Domoticz naar Home Assistant nu zo’n anderhalf jaar geleden. Ik zou ook niet meer terug willen. Ik heb op mijn NUC Proxmox geïnstalleerd en zo HA in een VM draaien. Werkt perfect. Mijn SolarEdge gaat helaas via de cloud. Zou dit ook graag lokaal hebben. Heb jij nog tips voor mij.
Ik heb de gegevens van SolarEdge lokaal via de SolarEdge (Modbus) integratie die je op HACS kunt vinden (zie ook mijn verhaal hierboven). Ik heb eerder beschreven hoe je ModBus aanzet op je SolarEdge installatie thuis bij je omvormer.
Je hebt inderdaad gelijk met de overstap, ik zou nu niet meer terug willen.
Henri, mooie uitleg weer!
Maakt HA/Google ook gebruik van Dashticz zoals Domoticz met Google dat doet of is daar een andere oplossing voor?
Met Dashticz kun je een mooie frontend maken voor je Domoticz installatie. Dit werkt specifiek alleen voor Domoticz. Bij Home Assistant (HA) heb je dit niet nodig daar je in HA zelf al een mooie frontend kunt maken naar jouw behoeften (zie ook mijn laatste screenshots in mijn artikel). Dit doe je met zogenaamde ‘Cards’ waarbij je vastlegt wat en hoe je dit wilt presenteren. Standaard heeft HA al veel verschillende ‘Cards’ aanwezig, maar er zijn ook ‘Cards’ die je bijvoorbeeld kunt downloaden via HACS (zie het artikel).
Vooraf was ik niet zeker of ik wel wilde overstappen van Domoticz naar HA, maar ik wil nu nooit meer terug. Met HA ben ik nog wat flexibeler en kan ik meer dingen handiger oplossen. Verder heeft deze ondersteuning voor meer apparaten en een grotere community voor vragen en ondersteuning. Het is even doorzetten, maar als je HA eenmaal doorhebt dan wil je niet anders meer.
Duidelijk! Klinkt als een erg compleet programma, wat ik ook al van anderen hoorde maar was een beetje huiverig over te stappen 😀.
Heb je bij HA ook Controlicz nodig?
Controlitz heb je met HA niet nodig daar Homekit integratie er ook standaard inzit. Hierdoor kan ik via Siri (Apple) mijn devices ook met de stem bedienen. Verder wil HA dit jaar meer richten op stem bediening. Zie ook dit artikel met meer informatie.
Het was voor mij ook even huiverig om van een goed werkende Domoticz installatie over te stappen, maar ik heb er nog geen seconde spijt van gehad.
Ik ben ook maar schoorvoetend aan dd overstap begonnen 😀. Is wel even wennen! Kan je mij het verschil tussen een apparaat en een entiteit uitleggen? Ik zie bv een Google Nest als apparaat en als entiteit staan en zie niet echt het verschil en wat ik er mee moet.
Het is even doorbijten Frans, maar je zult er geen spijt van krijgen denk ik.
Een apparaat kan meerdere entiteiten bevatten. Zo zal bijvoorbeeld de motion sensor van Aqara bestaan uit entiteiten ‘battery’, ‘device_temperature’, ‘illuminance’, ‘illuminance_lux’, ‘linkquality’ en ‘occupancy’ bevatten. Typisch gebruik je ‘occupancy’ om te kijken of er beweging is gedetecteerd en ‘illuminance_lux’ wat de lichtsterkte is. Maar je kunt bijvoorbeeld ook zien wat de verbindingskwaliteit is (linkquality) en hoe hoe vol de batterij nog is (battery).
Helemaal duidelijk. Dank je!
Ik denk dat ik het mezelf alleen maar moeilijk maak 🙂 Als ik een ruimte “Woonkamer” heb waar ik een lamp in wil zetten, zet ik daar dan het apparaat in of de entiteit van de lamp?
Ik werk altijd ‘andersom’. In Settings > Devices&Services ga ik naar betreffende Integration en kies dan het device. Nadat ik het device aangeklikt heb, kun je rechts bovenaan op potloodje klikken en Area kiezen. Druk vervolgens op Update.
Areas moet je wel eerst bij Settings > Areas&Zones aangemaakt hebben.
Dus je zet het hele device/apparaat in een ruimte, niet de entiteit bv lamp?!
De entiteit is onderdeel van het apparaat. Het is daarom logisch dat je het apparaat (en dus inclusief alle entiteiten die hierbij horen) in de ruimte plaatst.
Het begint al aardig te lukken nu. Even wat struikelblokken gehad maar overall gaat het goed. Op 1 dingetje na; de usb poorten wisselen na een reboot. De Sonof stick en RFXcom hebben daar wat problemen mee. In Domoticz kon je dat vastzetten, kan dat in HA ook?
Fijn dat het al aardig lukt Frans. Om het probleem van wisselende USB poorten te ondervangen moet je gebruik maken van de USB waarde die je vind in de “/dev/serial/by-id/” directory bij het configureren. Die blijft nl. altijd gelijk.
Ha Henri. Je bent mijn mentor geweest bij mijn introductie in de Domotica wereld. Daarvoor bedankt. Domoticz, Dashticz, Influxdb, Grafana etc heb ik allemaal mbv jouw info voor de eerste keer geinstalleerd. Daarmee ben ik inmiddels alweer een jaar of drie geleden begonnen. Je overstap naar HA voelt nu toch een beetje als een overgave aan de concurrent :)… Maar zelf ben ik ook verder gaan kijken. Een jaar geleden ben ik gaan experimenteren met IoBroker. Een wel erg op Duitsland georienteerd systeem, maar zeer flexibel in alle richtingen en met prima GUI opties.
Recent heb ik mijn Domoticz, Dashticz, MQTT, Influxdb geintergreerd in IoBroker en er vervolgens nog een serie functies aan toegevoegd. IoBroker kent overigens ook adapters voor Daikin…
Blijkbaar scheiden hier onze wegen, maar ik blijf je wel volgen…:). Bedankt en succes..
Henri, hoe heb jij die dagaanduiding in het secondary_info veld gekregen van de Afvalwijzer? Ik bedoel de aanduidingen “komende donderdag” enz.
Ik maak gebruik van de ‘auto-entities’ en ’template-entity-row’ card die ik met HACS bij ‘Frontend’ heb gedownload (zie screenshot). Vervolgens heb ik deze geconfigureerd (zie andere screenshot). Ik gebruik als options de volgende code:
Dank je. Ga ik mee aan de slag!
Hoi, ik zit nu ook steeds meer te twijfelen, maar wil eerst vertrouwd raken met HA.
Ik ga virtual box installeren op mijn windows computer en daarop HA .Nu is mijjn vraag mocht dit mijn overtuigen kan ik dit systeem dan overzetten naar raspberrry pi waar nu domoticz op draait?
Zover ik kan overzien zijn er meerdere mogelijkheden:
De laatste manier is ook mijn uitgangspunt om een ‘backup’ te maken van HA. Ik draai hiervoor elke nacht een script dat een backup maakt van deze directory die ik buiten Docker om heb staan.
Hoe pas jij automations.yaml.aan?
Ik krijg steeds een error in script als ik iets toevoeg.
werk via file editor.
wil notificatie toevoegen via telegram.
Ik pas de automations.yaml nooit rechtstreeks aan via een file editor. Dat doe ik altijd via HA zelf in: Settings > Automations. In de automation zelf kun je ook nog het specifieke yaml gedeelte bekijken/aanpassen door puntjes rechtsboven te kiezen en dan ‘Edit in YAML’ selecteren (zie screenshot).
Ik probeer al enkele maanden Home Assistant aan de praat te krijgen met rfxcom.com op een Raspberry P 4. Na enkel pogingen te hebben geprobeerd, lukte het dan toch eens, maar was niet stabiel.
Ik ben daarom overgegaan naar een NUC met Home Assistant. Het is een zuivere installatie en ik begin vanaf nul, dus er moet (nog) niets overgezet worden van gegevens enz.
Nu heb ik dus weer het probleem met de rfxcom.com, Home Assistant ziet wel de rfxcom.com in de usb poort, en ik stel ook de nodige entiteiten is en de apparatuur, maar Home Assistant krijgt geen gegevens binnen, ook al werkt de rfxcom.com.
Weet u soms of nog meer extra software of wat dan ook op een NUC moet geïnstalleerd moet worden en kan u mij helpen?
Even een update geven,
Na dat ik de heb gereset komt alle info van mijn weerstation(netje) 🙂 wel weer alles ontvangen worden. Ik moest daarvoor wel de refxcom openvijzen en de info bij refxcom opzoeken hoe je goed en juist een reset kon uitgevoerd worden.
Nu nog de KlikAanKlikUit testen en ik kan weer even verder.
Toch misschien overwegen om alles via bluetooth en wifi te gaan regelen, maar wat dan met mijn KlikAanKlikUit sets?
Fijn dat het nu werkt Eric. Ik heb destijds al mijn KAKU sets via Marktplaats verkocht omdat Shelly (Wifi) en Aqara (Zigbee) bij mij een stuk betrouwbaarder werken.
Ik ga terug op een Raspberry Pi 4 een Home Assistant versie instaleren, aangezien het op een NUC niet goed gaat (vastlopen).
Nu is mijn vraag, zou ik een volledige versie (OS) Home Assistant op een SSD (vb.: 1 TB) zetten of een Container of een Supervised versie. Is een Container interessanter, want enkele maanden geleden had ik een OS versie draaien, dat was wel op een 1 TB geheugenkaartje, en daar ging alles toch na een tijdje iets wat traag draaien. Ik was dan ook nog niet zo “ervaren” met Home Assistant en heb nu toch wel al iets meer ontdekt het met Home Assistant op de NUC. En wat ik ook spijtig vind is dat als je een OS installeert, kan je op loek en feeling van een OS van een Raspberry Pi niet meer in, en met een Container versie kan je dat wel, denk ik. Of sla ik hier de bal volledig mis?
Zoals je kunt lezen in mijn blog hierboven heb ik een Debian installatie gedaan waarover ik voledige controle heb. Home Assistant zelf draai ik in een Docker. Updaten van home assistant is op die manier ook heel eenvoudig en zonder risico daar ik dan snel terug kan naar een vorige versie.
Ik heb geen ervaring met andere varianten om Home Assistant te draaien.
Dus als ik goed begrijp, zou een Raspberry Pi met daar Docker en daarin Home Assistant het beste zijn, ook omdat je dan de software van Raspberry Pi rechtstreek kan blijven zien en beter kan in werken?
Correct.