In Claude AI in Home Assistant schreef ik over Claude als spraakassistent. Maar waar ik Claude het meest voor gebruik, is iets anders: het schrijven van mijn Home Assistant-automatiseringen met Claude, het controleren van bestaande code, en het bouwen van dashboards. Gewoon via de chat, zonder koppeling met mijn huis. In dit artikel laat ik zien hoe ik dat doe, zodat je het zelf kunt proberen, ook als je nog nooit met YAML of AI hebt gewerkt.
Mijn opzet in het kort
- De Claude-chat, niet de integratie in Home Assistant. Claude heeft geen toegang tot mijn huis.
- Kopiëren en plakken. Ik plak een bestand in de chat, Claude geeft een nieuwe versie terug, en die zet ik zelf in Home Assistant.
- Packages: één YAML-bestand per onderwerp, met alles wat erbij hoort.
- Dashboards in YAML-modus, als bestanden die Claude kan lezen en schrijven.
- Twee controles voordat iets live gaat: Claude test de logica, en Home Assistant controleert de configuratie.
Dat kopiëren en plakken is bewust. Ik zie elke wijziging voordat hij in mijn huis terechtkomt, en Claude kan niets kapotmaken.
Stap 1: werk met packages
Standaard staan je automatiseringen in automations.yaml, je template-sensoren in configuration.yaml en je helpers in de interface. Alles wat bij één onderwerp hoort, staat dus op drie plekken. Dat is lastig om aan Claude uit te leggen.
Een package lost dat op. Het is één bestand per onderwerp, met daarin alles: helpers, template-sensoren, scripts en automatiseringen. Zet dit in je configuration.yaml:
homeassistant:
packages: !include_dir_named packages
Maak daarna een map packages naast je configuration.yaml. Elk .yaml-bestand in die map is een package. Een eenvoudig voorbeeld, packages/wasmachine.yaml:
template:
- binary_sensor:
- name: Wasmachine draait
unique_id: wasmachine_draait
delay_on: "00:02:00"
delay_off: "00:05:00"
state: "{{ states('sensor.wasmachine_vermogen') | float(0) > 10 }}"
automation:
- id: wasmachine_klaar
alias: "Wasmachine klaar"
triggers:
- trigger: state
entity_id: binary_sensor.wasmachine_draait
from: "on"
to: "off"
actions:
- action: notify.mobile_app_telefoon
data:
message: "De was is klaar."
Waarom dit zo goed werkt met Claude:
- Eén bestand is de hele context. Plak je het package, dan ziet Claude alles wat bij het onderwerp hoort, inclusief de helpers en sensoren waar de automatisering op leunt.
- Eén bestand terug. Claude geeft het complete bestand terug, en jij vervangt het in één keer. Geen losse stukjes die je op drie plekken moet invoegen.
- Het bestand is de waarheid. Automatiseringen in een package kun je niet in de interface bewerken. Dat voelt eerst onhandig, maar het voorkomt dat je in de interface iets aanpast dat bij de volgende ronde met Claude weer wordt overschreven.
Mijn zonwering staat bijvoorbeeld in één package met helpers, twee template-sensoren en de automatiseringen.
Stap 2: geef Claude de juiste context
Het verschil tussen een bruikbaar en een onbruikbaar antwoord zit bijna altijd in wat je meegeeft. Begin een nieuw gesprek met:
- Je Home Assistant-versie. De syntax verandert. Sinds 2024.10 heet
platform:in een triggertrigger:, enservice:heetaction:. Zonder versie krijg je soms oude voorbeelden. - De echte entiteitnamen. Anders verzint Claude ze. Kopieer ze uit Ontwikkelhulpmiddelen → Toestanden, of laat een template ze opsommen (zie hieronder).
- Het hele package waar het over gaat, niet alleen het stukje dat je wilt veranderen.
- Wat je wilt, in gewone taal, inclusief wat er niet mag gebeuren.
Dit template plak je in Ontwikkelhulpmiddelen → Template. Het geeft een lijst van alle entiteiten in een domein, met hun toestand en eenheid, die je zo in de chat kunt plakken:
{% for s in states.sensor | selectattr('entity_id', 'search', 'wasmachine') %}
{{ s.entity_id }}: {{ s.state }} {{ s.attributes.unit_of_measurement | default('') }}
{% endfor %}
Een eerste vraag aan Claude ziet er bij mij ongeveer zo uit:
Ik gebruik Home Assistant 2026.10 met packages. Hieronder staat packages/wasmachine.yaml en de sensoren die ik heb. Ik wil ook een melding als de wasmachine na 3 uur nog draait. Geen melding 's nachts tussen 23:00 en 07:00. Geef het complete bestand terug en leg kort uit wat je hebt veranderd. [package] [lijst met sensoren]
Vraag altijd om het complete bestand. Dan vervang je het in één keer en kun je niets verkeerd invoegen.
Stap 3: laat Claude testen
Dit is de stap die de meeste mensen overslaan, en die mij het meest oplevert. Claude kan in de chat zelf code uitvoeren. Daarmee test hij een template vóórdat het in Home Assistant staat. Hij bootst states() en now() na in Python met Jinja2, en rekent tientallen situaties door.
Vraag het expliciet:
Test de templates in dit package met Jinja2 in Python. Neem in elk geval mee: - een sensor die 'unavailable' of 'unknown' is - de grenswaarden (precies op de drempel, net erboven, net eronder) - het moment na een herstart van Home Assistant Zet de uitkomsten in een tabel: scenario, verwacht, uitkomst.
Bij mijn zonwering leverde dat een tabel van negentien scenario’s op, met precies de randgevallen die je in het echt pas na weken tegenkomt. Het testscript staat in het zonwering-artikel.
Stap 4: zet het in Home Assistant en controleer
- Maak eerst een kopie van het oude bestand, of een back-up van Home Assistant. Dan kun je altijd terug.
- Vervang het bestand in de map
packages, bijvoorbeeld met de File editor- of de Studio Code Server-add-on. - Controleer de configuratie via Ontwikkelhulpmiddelen → YAML → Configuratie controleren. Krijg je een fout, plak die letterlijk terug in de chat.
- Herlaad op dezelfde pagina wat je hebt veranderd: automatiseringen, template-entiteiten, helpers. Komt er een nieuw soort integratie bij, dan is een herstart nodig.
- Laat een nieuwe automatisering eerst uit staan en kijk een dag in de geschiedenis of de sensoren doen wat je verwacht. Pas daarna zet je hem aan.
Bestaande code laten controleren
Je hoeft niet met iets nieuws te beginnen. Een van de nuttigste dingen is een bestaande automatisering laten nakijken, zeker een die “meestal” werkt. Dit is de vraag die ik gebruik:
Controleer dit package op fouten en zwakke plekken. Let vooral op: - triggers op een entiteit zonder to:, die ook op attributen reageren - sensoren die unavailable kunnen zijn, en wat er dan gebeurt - harde grenzen zonder hysterese, waardoor iets gaat pendelen - acties die elke keer opnieuw worden gestuurd, ook als er niets verandert - de mode van de automatisering - eenheden: W of kW, m/s of km/h Geef per punt: wat er mis kan gaan, hoe ernstig, en de oplossing. Verander nog niets.
Die lijst komt rechtstreeks uit mijn eigen fouten. De oude zonwering had er vijf tegelijk, en een eenheidsfout van W en kW liet EMHASS denken dat mijn huis ’s nachts 6 kW verbruikte. “Verander nog niets” is belangrijk: eerst begrijpen, dan pas aanpassen.
Dashboards laten maken
Dashboards bouw je normaal met de muis in de interface. Dat werkt, maar het is lastig om aan Claude te laten zien. Daarom zet ik mijn dashboards in YAML-modus: dan is een dashboard gewoon een bestand. Voeg dit toe aan configuration.yaml:
lovelace:
dashboards:
dashboard-energie:
mode: yaml
title: Energie
icon: mdi:flash
show_in_sidebar: true
filename: dashboards/energie.yaml
De naam van het dashboard (hier dashboard-energie) moet een streepje bevatten. Na een herstart staat het in de zijbalk. Het bestand dashboards/energie.yaml begint zo:
title: Energie
views:
- title: Overzicht
path: overzicht
cards:
- type: tile
entity: sensor.batterij_soc
- type: history-graph
title: Batterij vandaag
hours_to_show: 24
entities:
- sensor.batterij_soc
Wijzigingen in het bestand zie je na het verversen van de pagina; een herstart is alleen nodig als je een nieuw dashboard toevoegt. Tips voor de vraag aan Claude:
- Zeg welke kaarten je hebt. Alleen de standaardkaarten, of ook kaarten uit HACS? Anders krijg je een kaart die bij jou niet bestaat.
- Plak een screenshot van je huidige dashboard, of van een voorbeeld dat je mooi vindt. Claude kan afbeeldingen lezen.
- Beschrijf het gebruik, niet alleen de inhoud. “Op mijn telefoon wil ik in één oogopslag zien of de batterij laadt en wat de prijs nu is” werkt beter dan “maak een energiedashboard”.
Twee voorbeelden uit mijn eigen huis
Zo zien twee van mijn dashboards eruit, allebei op deze manier met Claude gemaakt. Het eerste is het dagelijkse dashboard: weer, de lading van de thuisbatterij, verlichting, scènes, de zonwering en de muziek. Het tweede is een analysedashboard voor de warmtepomp. Elke grafiek beantwoordt één vraag, zoals “draait de warmtepomp op de goedkope momenten?”, en bovenaan staat in één zin hoe je de kleuren leest. Dat komt rechtstreeks uit de tip hierboven: beschrijf wat je wilt weten, niet welke kaarten je wilt.


Waar je op moet letten
- Plak geen geheimen. Geen
secrets.yaml, geen tokens, wachtwoorden, IP-adressen van buiten of je huisadres. Vervang ze door een plaatshouder. - Claude verzint soms entiteiten of opties. Vooral als je ze niet meegeeft. De config-check vangt een deel af, maar een verkeerde entiteitnaam is geldige YAML. Kijk daar zelf naar.
- Eén onderwerp per gesprek. Een lang gesprek over vijf packages raakt de draad kwijt. Begin liever opnieuw en plak de laatste versie.
- Jij blijft verantwoordelijk. Lees wat je plakt, zeker bij iets dat schakelt. Voor kritieke sturing, zoals een batterij of warmtepomp, geldt hetzelfde als in het vorige artikel: Claude mag de code helpen schrijven, maar de code zelf moet voorspelbaar en getest zijn.
Samengevat
- Zet je configuratie in packages: één bestand per onderwerp.
- Geef Claude je versie, je echte entiteitnamen en het hele package.
- Vraag om het complete bestand terug, en om tests van de templates.
- Maak een kopie, vervang, controleer de configuratie en herlaad.
- Laat nieuwe automatiseringen eerst een dag meekijken voordat ze schakelen.
Nog geen Home Assistant? Begin bij Wat is Home Assistant?
Wat ik gebruik
- MeLE Quieter 4C mini-pc: hier draait mijn Home Assistant op.
- Voor beginners is de Home Assistant Green de makkelijkste start. Die gebruik ik zelf niet.
Dit artikel bevat een affiliate-link. Als Amazon-partner verdien ik aan in aanmerking komende aankopen. Voor jou verandert de prijs niet.
Dit werkt in mijn situatie: de Claude-chat, kopiëren en plakken, packages en dashboards in YAML-modus. Syntax en menu’s veranderen per versie van Home Assistant. Controleer het tegen je eigen documentatie, en lees altijd wat je plakt. Stand: oktober 2026.





Geef een reactie