Home Assistant: verschil tussen versies

Uit RobotMC.be
Ga naar: navigatie, zoeken
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 36: Regel 36:
Effe een zijsprongetje dat niet echt met Home Assistant te maken heeft, maar ik wil mijn RPi mails laten sturen, bv. bij een reboot of eens per maand met de backup of ...  Dit is niet standaard voorzien.
Effe een zijsprongetje dat niet echt met Home Assistant te maken heeft, maar ik wil mijn RPi mails laten sturen, bv. bij een reboot of eens per maand met de backup of ...  Dit is niet standaard voorzien.


* Zorg dat je een e-mail adres hebt bij Google waar je 2-factor authentication voor hebt aanstaan en waar je een secure app aan toegevoegd hebt. Het gegenereerde paswoord heb je nodig in het config bestand
* Zorg dat je een e-mail adres hebt bij Google waar je 2-factor authentication voor hebt aanstaan en waar je een secure app aan toegevoegd hebt. Het gegenereerde paswoord heb je nodig in het config bestand. In de loop van 2024 zal Google zijn beveiligingsmechanismes nog bijsturen, dus ik kan je alleen maar aanraden om na te lezen op de Google site hoe je dit exact opzet op het moment dat je dit artikel leest.
* Installeer SSMTP
* Installeer SSMTP
  sudo apt-get install ssmtp
  sudo apt-get install ssmtp

Versie van 18 mei 2024 08:16


Wat historiek
Een paar jaar geleden ben ik begonnen met het automatiseren van simpele taken in mijn huis. In het prille begin nam ik een ESP8266, voegde er een 433MHz zendertje aan toe en na lang knutselen kon ik dan mijn lichten aan doen bij zonsondergang en uitdoen om 23u. Een webinterface erbij en ik kon de parameters instellen via een Internet browser.
Toen wou ik deurcontacten toevoegen en dat besloot met een echt Home Automation pakket aan de slag te gaan. Ik kwam al snel bij Domoticz uit wat me wel aansprak want geschreven in C++ en dus snel genoeg voor mijn Raspberry Pi 1B, die toen al niet meer bij de nieuwste was.
Fast forward naar 2024 en ondertussen had ik ook Tado radiatorknoppen en een paar zigbee devices, maar toen bleek dat mijn hardware te oud was om Domoticz te upgraden naar de laatste versie. Een nieuwe RPi gekocht en besloten om te schakelen naar Home Assistant die een modernere interface heeft maar vooral veel meer devices out-of-the box ondersteunt.
Als anekdote wil ik wel toevoegen dat mijn ESP8266 met 433Mhz zender tot op vandaag nog in gebruik is, dus dat blijft zeker een valabele piste en uiteraard meer fun voor een die-hard nerd zoals ik.

Verschillende versies van Home Assistant

Er zijn verschillende manieren om Home Assistant te installeren.

  • De allersimpelste is dat je een Home Assistant Device koopt (green of yellow).
    Alles werkt out of the box. Ze voorzien ook ineens een SSD drive die robuuster is dan een microsd kaart.
  • Heb je al een Raspberry dan kan je er een voorgeconfigureerd Speciaal OS image: HassIO op zetten.
    Functioneel equivalent met de vorige alleen andere hardware. Deze heeft als nadeel dat je moeilijk(er) toegang kan krijgen tot het onderliggende OS. Omdat de RPi5 superkrachtig is zou het zonde zijn deze alleen maar voor HomeAssistant te gebruiken. Een groot voordeel is wel dat het ook de 'supervisor' bevat die zorgt voor updates etc... Het neemt het onderhoudswerk dus uit je handen. Ideaal als plug-n-play oplossing.
  • Via een Docker container, een virtuele machine dus, op je RPi ('Home Assistant Container').
    Dit heeft als voordeel dat je de Home Assistant in een eigen omgeving draait, los van de rest van de RPi. Een update/upgrade zou geen effect mogen hebben op de werking van Home Assistant. Je mist wel enkele Home Assistant features. Zo heb je geen supervisor, addons en moet je backup-zelf configureren. Plug-n-pray dus.
  • Tenslotte kan je Home Assistant als Service op je RPi draaien ('Home Assistant Core').
    Dit lijkt de meest logische keuze, maar heeft als nadeel dat je geen add-ons kan installeren bovenop Home Assistant. Ik heb het even nagekeken en het lijken allemaal zaken die sowieso via raspbian zelf kunnen geinstalleerd worden. Ook updates moet je zelf doen en een update van de RPi of python kan invloed hebben op de werking van Home Assistant. Nog meer plug-n-pray dus

Omdat ik naast Home Assistant de RPi voor andere zaken wou gebruiken besloot ik voor de optie 'Home Assistant Container' te gaan.

Klaar maken van de RPi

De minimale configuratie die je nodig hebt anno 2024 is een RPi 4 met 2Gb RAM en 32Gb SD kaart. Idealiter vervang je de SD kaart door een SSD drive. Die zou robuuster zijn dan een SD kaart. Ikzelf heb een RPi 5 met 8Gb gekocht en een SD kaart van 128Gb. Hopelijk future-proof genoeg ...

Je kan je RPi volledig 'headless', d.w.z. zonder scherm of keyboard, opzetten. Dit is wat we hier gaan doen, maar je kan het ook hier nalezen : https://www.tim-kleyersburg.de/articles/home-assistant-with-docker-2023/

  • Schrijf SD kaart via de raspberry pi installer

kies :

device = raspberry pi 5
os = raspberry pi 64 bit LITE 
settings : kies een naam (bv rpi5), username, paswoord, zet country op BE, pas locale settings aan zodat keyboard layout op BE staat
services : activeer SSH met username/paswoord
  • boot RPi5 en wacht een 15 tal seconden
  • Via SSH of putty op je PC kan je nu inloggen 'rpi5.local' poort 22 met de gekozen username & paswoord
ssh <username>@<hostname>.local
  • update je RPi met
sudo apt update
sudo apt full-upgrade

Gmail integratie

Effe een zijsprongetje dat niet echt met Home Assistant te maken heeft, maar ik wil mijn RPi mails laten sturen, bv. bij een reboot of eens per maand met de backup of ... Dit is niet standaard voorzien.

  • Zorg dat je een e-mail adres hebt bij Google waar je 2-factor authentication voor hebt aanstaan en waar je een secure app aan toegevoegd hebt. Het gegenereerde paswoord heb je nodig in het config bestand. In de loop van 2024 zal Google zijn beveiligingsmechanismes nog bijsturen, dus ik kan je alleen maar aanraden om na te lezen op de Google site hoe je dit exact opzet op het moment dat je dit artikel leest.
  • Installeer SSMTP
sudo apt-get install ssmtp
sudo apt-get install mailutils
  • Editeer de config file : sudo nano /etc/ssmtp/ssmtp.config en zorg dat dit er in staat
root=postmaster
mailhub=smtp.gmail.com:587
hostname=<je hostname>
AuthUser=<het.gmail.adres.waarvan.je.zendt>@gmail.com
AuthPass=<de.16.tekens.van.de.secure.app geen spaties, geen punten>
FromLineOverride=YES
UseSTARTTLS=YES
  • Test met volgende commando
echo "Hallo wereld" | mail -s "test RPi" <emailadres van de ontvanger bv. mickey.mouse@hotmail.com>

Installatie van Docker

Alles is heel goed uitgelegd op deze site : https://www.tim-kleyersburg.de/articles/home-assistant-with-docker-2023/

  • Installeer docker
curl -sSL https://get.docker.com | sh
  • Geef jezelf rechten op docker
sudo usermod -aG docker ${USER}
  • Maak van docker een service die automatisch opstart bij reboot
sudo systemctl enable docker

Installatie van Home Assistant Container

Alles is heel goed uitgelegd op deze site https://www.home-assistant.io/installation/linux#install-home-assistant-container (skip 1e deel en lees vanaf 'Docker compose' ) of https://www.tim-kleyersburg.de/articles/home-assistant-with-docker-2023/

  • maak folderstructuur & config file aan
mkdir docker
cd docker
mkdir homeAssistant
cd homeAssistant
nano docker-compose.yml
  • Zet volgende gegevens in docker-compose.yml
version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /home/pi/docker/homeAssistant/data:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    restart: unless-stopped
    privileged: true
    network_mode: host		
  • Download de image (500Mb) & start homeassistant
sudo docker compose up -d
  • Je zou nu via http://<hostname>.local:8123 een werkende Home Assistant moeten hebben

Let op : http is een ONBEVEILIGDE connectie. Alles gaat dus in plain text over het netwerk, ook je paswoord ! Ideaal voor de hacker die naast je woont :-) Als je homeassistant ook openzet op internet, dan is het ook handig voor de Russen en Chinezen. Geduld. Daar komen we nog toe.