De kerstvakantie was een moment met minder todo’s die stonden te knipperen, dus ook meer tijd om nog eens wat eigen projectjes op te pakken. Na de upgrade van het thuisnetwerk en de serverkast, en de upgrade van onze gasketel was het nu tijd voor Home Assistant. 🤓
Home Assistant?!?
Een open-source smarthome platform (gebouwd op Python) waarop je al je smartdevices in huis kan gaan connecteren. Doordat het een community driven project is, kan je echt overal info vinden en de nodige fandiscussies met tips & tricks (HA community, Tweakers forum, configs op Github,…).
Daarnaast is het ook nog eens voorzien om een Raspberry Pi mini-computer te kunnen draaien en laat ik er daar nu nog enkele van hebben liggen in de kast. Alle data blijft dus in je eigen huis en verlaat je netwerk niet. 🤩 Doordat alles nu lokaal draait, blijft ook alles draaien, wanneer het internet wegvalt.
Ik had nog enkele oudere Raspberry Pi 3B+ modelletjes liggen (kost een 65EUR voor starterset) en met de installatie instructies was ik op 30min vertrokken (super gebruiksvriendelijke installatie!) en draaide Home Assistant hier in huis op 1 van deze bakjes.
Na het connecteren met internetkabel in mijn netwerk, heb ik eenvoudig gezocht welk ipadres de Raspberry Pi heeft gekregen (ik gebruik hiervoor Lanscan op MacOs) en heb ik in de configuratie deze nu een vast ipadres gegeven.
Weet dat een Raspberry Pi bekend staat om SD-kaartjes erdoor te jagen als deze 24/24u draait (zie hieronder want #beenthere ondertussen 🙈). Daarom heb ik dan ook direct de Add-on geïnstalleerd, die mijn configuratie om de 2 dagen gaat wegschrijven naar Google Drive.
Wat draait er op mijn Home Assistant?
Daarna begint het allemaal pas. Tijdens de installatie detecteert HA reeds alle andere netwerkdevices en worden de nodige integraties voorgesteld. Zo integreer je direct met een Synology, Netatmo weerstation, mijn nieuwe Netatomo thermostaat, Sonos, Chromecast en alles wat je maar kan bedenken van online devices in je huis.
Een volgende stap is om je dashboard te gaan samenstellen met tegels die je wilt tonen. Dit is in het begin even zoeken, maar wijst zichzelf snel uit. Momenteel heb ik dan ook 3 tabbladen (Huis – alles van batterijen en statussen – Dailycave).
Je zal dus snel leren om met entities te gaan werken en zo cards te gaan samenstellen.
Daarnaast kan je ook vele andere integraties eenvoudig koppelen en installeren en zo dus je dashboards samenstellen (met honderden themes die je ook via de file editor kan opladen en gebruiken). Enja met die draaiknop kan ik mijn thermostaat nu bijregelen.
De laatste stap is dan de iOS/Android app installeren op je smartphone/tablet en dan kan je in je eigen netwerk de dashboards op je smartphone bekijken en bedienen (ook mijn vrouw had plots interesse in dit projectje, toen ze dit doorkreeg 😉).
Extra integraties/configuraties
Wil je verder en verder gaan, dan zal je al snel zien dat je de configuratiefile (configuration.yaml) moet gaan aanpassen. Hier kan je goed terugvinden hoe je daarmee aan de slag dient te gaan.
IoT devices die geconnecteerd zijn:
- Synology NAS
- Netatmo thermostaat en weerstation
- Raspberry Pi zelf
- Sonos boxen en Chromecast
- Canon printer (inkt status – je de zwarte inkt is op, of wilt de printer ons doen geloven)
Enkele configuraties, die ik zo heb toegevoegd in mijn HA-config:
- dnsip – om mijn publiek ipadres te monitoren
- bitcoin – om de gekke bitcoin prijsevolutie te volgen
- uptimerobot – zo kan ik controleren of dailybits.be nog wel bereikbaar is
- systemmonitor – Om de raspberry pi waarop alles draait in de gaten te houden
- Afvalbeheer – De informatie uit de Recycle app wanneer welk afval op welke dag wordt opgehaald. (zie voorbeeld config)
- SMA Solar – De live info van mijn zonnepanelen (SMA Sunnyboy invertor)
- Sun – Op vraag van mijn vrouw zonsopkomst en zonsondergang toegevoegd
Dat ziet er dan zo uit in mijn configuration.yaml (al is die ondertussen weeral een pak langer geworden – zoals je nu hier kan zien in Github 😉).
Raspberry Pi’s en het vermoorden van SD-kaartjes 😱
Ik had het zoveel gelezen en ook bij mij was het reeds na enkele dagen prijs: de SD-kaart (oude die ik nog had liggen) van de Raspberry Pi was al corrupt en om weg te gooien. 🙄🙈 Dit komt doordat de meeste SD-kaartjes niet bestand zijn tegen het veelvuldig wegschrijven van logs en metingen.
Wat kan je hiertegen doen?
- Check ook zeker dat je een goede stabiele voeding gebruikt. Ik gebruikte een usb-oplader, maar dat is dus niet aangeraden en daarom dan ook een officiële Raspberry Pi voeding gekocht.
- Koop een High Quality SD-kaart met liefst performance class A2, die geschik tis voor veel schrijven/lezen. Ik ben na wat research nu voor dit sd-kaartje gegaan.
3. Je kan ook beslissen om logs/historiek in memory te houden en dus niet meer weg te schrijven (bij een reboot ben je dus je historiek kwijt). Hiervoor dien je volgende code in je configfile toe te voegen.
logger:
default: critical
recorder:
purge_keep_days: 5
purge_interval: 5
db_url: ‘sqlite:///:memory:’ # Set log to use memory, not SD card
4. De optie waar ik ben voor gegaan is het aanmaken van een externe database op mijn Synology NAS, waardoor alle sensorwaarden en logs daar worden weggeschreven. Op het HA forum kan je de nodige info terugvinden en lees vooral in deze thread over dat je ook nog even de poort moet activeren op je Synology (Herman: eerst lezen voordat je zelf zit te zoeken).
Wat zijn mijn volgende stappen?
Natuurlijk ben ik nu in deze rabbit hole gedoken, waar ik kan blijven uitbreiden. Enkele zaken die ik wil doen.
1. Ik heb hier nog ergens in de kelder een reviewmodelletje van de Grohe Sense (IoT watersensor) liggen en iemand heeft reeds een integratie gemaakt hiervoor (als in: reverse engineering van de Grohe app gedaan 😱).
2. Er staat hier in de ruin een Robomow grasrobot in de tuin, die ook beperkt connecteerbaar is. Eens kijken wat ik daarmee kan doen (niet veel vrees ik).
3. Temperatuursensors (met bluetooth) aankopen voor in mijn serverkast en ook in mijn bureau (en daarmee als ik op mijn bureau aan het werken ben de thermostaat gaat aansturen). Zie blogpost Tim Broddin over zijn thuisnetwerk met ook zulke sensors.
4. Onze oude ipads (Ipad 2 en Ipad Mini) worden wel heel traag en misschien moet er toch eens 1 upgraden (we hebben ook nog een 2018 iPad) en een oude ergens aan de muur hangen? De oude iPad mini 1 staat nu naast me op mijn bureau.
5. Hopen dat Netatmo zijn API aanpast, zodat ik ook mijn Netatmo rookmelders kan integreren (vraag is rechtstreeks bij hen gesteld).
6. Nog leuke platformen toevoegen, zoals buienradar en notificaties naar mijn Slack laten sturen.
7. Motion detector in de brievenbus inbouwen, zodat ik weet of de postbode al is geweest die dag.
8. Kijken wat ik kan automatiseren, want daar is Home Assistent voor gemaakt.
Wie van mijn lezers heeft er nog een Home Assistant draaien?
Super interessant! Binnenkort verhuizen we naar ons nieuwe appartement en dan zal ik veel tips en hulp kunnen gebruiken. Kan ik je diensten ook inkopen? :-p
Het was maar door de kerstvakantie dat ik er eens tijd voor had. ♂️
Installeer ook zeker InfluxDB, dan kunt ge coole grafiekjes over tijd maken (zoals mijn brandstofniveau het afgelopen half jaar: https://imgur.com/a/4WYLYid). Zit in de officiële Addon store.
verder de rabbithole in dus… 😉
Installeer ook zeker NodeRed. Iets leuker en gemakkelijker om zaken te automatiseren dan in YAML te liggen werken 😉
Ik heb een zigbee dongle geflashed zodat ik bijna alle zigbee apparaten kan aansturen via Hassio. In Lidl webshop in NL kan je cheap lampen en sensoren kopen.
Heb ook een Arduino Uno aan een 2de oude rpi gehangen die RF signalen kan uitsturen via mqtt. Handig om alle rolluiken via de Hassio naar boven en beneden te doen. Leve de luie mens!
Is er eigenlijk een reden waarom je dat niet op je Synology geplaatst hebt?
Ja goede vraag. Euhm ik had hier nog wat raspberry pi’s liggen, dus daarom het op die manier gedaan. Zeker daar alle tutorials en forum posts daarvan vertrekken. Dat die kleine raspberry pi (met ondertussen UPS oplossing), nu lean & mean ook de Synology NAS kan checken en monitoren is mooi meegenomen natuurlijk.