Een alarmsysteem met Home Assistant bouw je met drie dingen: sensoren die iets merken, een alarmcentrale die beslist, en een sirene en melding die iets doen. De sensoren en de sirene koppel je via Zigbee of Z-Wave. De centrale is een alarmpaneel in Home Assistant, het makkelijkst met de integratie Alarmo. In dit stuk lees je welke onderdelen je nodig hebt, hoe je het instelt, en waar zo’n zelfbouwalarm zwak is.
De basis heb ik al staan: een Home Assistant-server met een Zigbee-stick en een Z-Wave-stick. Hoe die eruitziet, lees je in Z-Wave in Home Assistant naast mijn Zigbee-stick. Daar bouw je het alarm bovenop.
Kan Home Assistant een echt alarmsysteem zijn?
Ja, met een kanttekening. Home Assistant kan inschakelen, uitschakelen, een inloopvertraging aftellen, een sirene laten loeien en je telefoon laten piepen. Voor het afschrikken van inbrekers en het waarschuwen van jezelf werkt dat prima.
Wat het niet is: een gecertificeerd alarmsysteem met doormelding naar een meldkamer. Sommige verzekeraars eisen dat bij een duurdere inboedel, bijvoorbeeld een systeem met een Borg-certificaat. Een zelfbouwalarm telt daar niet voor mee. Kijk dus eerst in je polis voordat je een bestaand alarm vervangt.
Zo werkt een alarmsysteem in Home Assistant
Elk alarm, ook een gekocht systeem, werkt met dezelfde bouwstenen:
- Sensoren. Deur- en raamcontacten, bewegingsmelders en eventueel glasbreuk- of trilsensoren. Zij melden alleen: open, dicht, beweging.
- De centrale. In Home Assistant is dat een entiteit van het type
alarm_control_panel. Die kent standen als uit, afwezig, thuis en nacht, en beslist of een sensor het alarm laat afgaan. - Bediening. Een keypad bij de voordeur, een knop op je dashboard of de app op je telefoon.
- Reactie. Een sirene binnen (en eventueel buiten), lampen die aangaan, en een melding op je telefoon.
Zigbee of Z-Wave voor je alarm?
Beide werken. Ik gebruik ze allebei in huis, en voor een alarm hebben ze elk een eigen sterke kant:
- Zigbee is goedkoop en er is veel keuze. Een deurcontact kost weinig, dus je kunt elk raam beveiligen. Nadeel: Zigbee zit op 2,4 GHz, net als wifi, en heeft daar soms last van.
- Z-Wave werkt in Europa op 868 MHz. Het komt beter door muren en vloeren en heeft geen last van wifi. Met S2-beveiliging is het verkeer versleuteld. Apparaten zijn wel duurder.
Mijn advies: neem voor de veel voorkomende sensoren (raamcontacten) wat het goedkoopst en betrouwbaarst is in jouw huis, en kies voor de sirene en het keypad een apparaat op netstroom. Apparaten op netstroom werken als repeater in het mesh-netwerk. Dat maakt het netwerk sterker, ook voor de sensoren op batterijen.
Welke onderdelen heb je nodig?
Deur- en raamcontacten
Een magneetcontact is de betrouwbaarste sensor die er is. Hij is open of dicht, en vals alarm komt bijna niet voor. Zet er een op elke buitendeur en op de ramen die vanaf de grond bereikbaar zijn. Zigbee-contacten van bijvoorbeeld Aqara, Sonoff of IKEA zijn klein en goedkoop. Bij Z-Wave zijn er onder meer contacten van Aeotec en Fibaro, zoals de Fibaro Door/Window Sensor 2. Die heeft ook een sabotagecontact: hij meldt het als iemand de behuizing opent of de sensor van de deur trekt.

Heb je nog Fibaro-sensoren van een Home Center? Die praten Z-Wave en werken gewoon in Home Assistant. Hoe ik mijn oude systeem overzette, lees je in van Fibaro naar Home Assistant.
Bewegingsmelders
Een PIR-bewegingsmelder vangt wat de contacten missen, zoals iemand die via een raam op de eerste verdieping binnenkomt. Hang hem in de hal of op de overloop, waar iedereen langs moet. Heb je een kat of hond, kies dan een huisdiervriendelijke melder, of gebruik bewegingsmelders alleen in de stand ‘afwezig’ op plekken waar het dier niet komt. Een sensor die meer doet, is de Aeotec MultiSensor 7 (Z-Wave). Naast beweging meet hij temperatuur, licht, luchtvochtigheid, trillingen en uv. Hij werkt op batterijen of via een USB-kabel. De trillingssensor werkt als sabotagemelding: haalt iemand hem van de muur, dan zie je dat meteen. En de andere metingen gebruik je gewoon voor verlichting en klimaat.

Een sirene
Zonder geluid is het geen alarm, maar een melding. Een sirene binnen is genoeg om de meeste inbrekers weg te jagen. Kies een model op netstroom, met een eigen back-upbatterij. Zigbee- en Z-Wave-sirenes verschijnen in Home Assistant meestal als een siren-entiteit, die je kunt aan- en uitzetten. Een betaalbare Zigbee-sirene is de SONOFF SNZB-09P: tot 105 dB, tien sirenetonen, een rood knipperlicht en voeding via USB-C of een batterij. Het is een nieuw model, dus controleer of jouw Zigbee-integratie hem al volledig ondersteunt.

Een keypad (optioneel, maar fijn)
Je kunt het alarm bedienen met de app, maar een keypad bij de deur is voor het hele gezin makkelijker. Je toetst een code in, en het keypad piept tijdens de vertrek- en inlooptijd. Er zijn Zigbee- en Z-Wave-keypads die met Home Assistant werken. Controleer vooraf of het model in jouw integratie (ZHA, Zigbee2MQTT of Z-Wave JS) ondersteund wordt.
De server en de sticks
Home Assistant draait bij mij op een MeLE Quieter 4C-mini-pc. Voor Zigbee gebruik ik de Aeotec Zi-Stick, voor Z-Wave de Aeotec Z-Stick 7. Begin je net? Een Home Assistant Green met een Zigbee-stick is ook een prima start.

De alarmcentrale: Alarmo of de ingebouwde manual-centrale
Voor de centrale heb je twee opties. Allebei maken ze een alarm_control_panel-entiteit aan.
Optie 1: Alarmo (aanrader)
Alarmo is een gratis integratie die je via HACS installeert. Je stelt alles in via een eigen paneel in Home Assistant, zonder YAML. Wat Alarmo goed doet:
- Standen. Afwezig, thuis, nacht en vakantie. Per stand kies je welke sensoren meedoen. ’s Nachts bijvoorbeeld alleen de deuren en de ramen beneden, zodat je zelf boven vrij rond kunt lopen.
- Vertrek- en inlooptijd. Per stand en per sensor. De voordeur krijgt een inlooptijd, het achterraam niet.
- Open sensoren. Staat er nog een raam open als je inschakelt, dan weigert Alarmo, of hij meldt welk raam het is. Dat kun je per sensor instellen.
- Altijd actief. Sensoren zoals een sabotagecontact kun je 24 uur per dag laten meetellen, ook als het alarm uit staat.
- Gebruikers en codes. Elke gebruiker een eigen pincode, en je ziet wie het alarm uitzette.
- Acties en meldingen. Sirene aan bij een alarm, een melding als inschakelen mislukt, lampen aan bij binnenkomst. Alles klik je in elkaar.
Installeren gaat zo: zoek in HACS naar Alarmo, installeer hem, herstart Home Assistant en voeg de integratie toe via Instellingen → Apparaten en diensten. Daarna staat Alarmo in de zijbalk.
Optie 2: de ingebouwde manual-centrale
Wil je geen HACS, dan heeft Home Assistant zelf de manual-alarmcentrale. Die stel je in YAML in. Hij kent de standen en de tijden, maar welke sensor het alarm laat afgaan, regel je zelf met automatiseringen. Een voorbeeld:
# configuration.yaml (of een package)
alarm_control_panel:
- platform: manual
name: Huisalarm
code: !secret alarm_code
arming_time: 30 # vertrektijd in seconden
delay_time: 30 # inlooptijd in seconden
trigger_time: 180 # sirene maximaal 3 minuten
disarmed:
trigger_time: 0 # uit = nooit afgaan
armed_home:
arming_time: 0
delay_time: 0
armed_night:
arming_time: 0
De code zet je in secrets.yaml, niet in je configuratie zelf. Dan staat hij ook niet in een back-up of schermafbeelding die je deelt.
De automatiseringen: alarm laten afgaan en reageren
Gebruik je Alarmo, dan regelt hij het afgaan zelf. Bij de manual-centrale heb je een automatisering nodig die het alarm activeert als een sensor iets meldt terwijl het alarm aan staat:
automation:
- alias: "Alarm: sensor gaat af terwijl ingeschakeld"
triggers:
- trigger: state
entity_id:
- binary_sensor.voordeur_contact
- binary_sensor.achterdeur_contact
- binary_sensor.raam_keuken_contact
- binary_sensor.beweging_hal
to: "on"
conditions:
- condition: state
entity_id: alarm_control_panel.huisalarm
state:
- armed_away
- armed_night
actions:
- action: alarm_control_panel.alarm_trigger
target:
entity_id: alarm_control_panel.huisalarm
Het alarm gaat dan eerst naar pending: de inlooptijd loopt. Zet je het in die tijd uit, dan gebeurt er niets. Zo niet, dan gaat het naar triggered. Daarop reageert de tweede automatisering, die je bij beide opties kunt gebruiken:
- alias: "Alarm: afgegaan"
triggers:
- trigger: state
entity_id: alarm_control_panel.huisalarm
to: triggered
actions:
- action: siren.turn_on
target:
entity_id: siren.sirene_hal
- action: light.turn_on
target:
area_id: woonkamer
- action: notify.mobile_app_mijn_telefoon
data:
title: "Alarm!"
message: "Het alarm is afgegaan. Check de camera of bel de buren."
data:
# iPhone: kritieke melding, komt ook door op stil
push:
sound:
name: default
critical: 1
volume: 1.0
# Android: melding met hoge prioriteit
ttl: 0
priority: high
channel: alarm_stream
- alias: "Alarm: uitgeschakeld, sirene uit"
triggers:
- trigger: state
entity_id: alarm_control_panel.huisalarm
to: disarmed
actions:
- action: siren.turn_off
target:
entity_id: siren.sirene_hal
Bij Alarmo heet de entiteit standaard alarm_control_panel.alarmo. Pas de namen van sensoren, sirene en telefoon aan naar die van jou. Een kritieke melding op de iPhone moet je wel eerst toestaan in de instellingen van de Home Assistant-app.
Extra: alarm automatisch inschakelen als iedereen weg is
Vergeten in te schakelen is de meest gemaakte fout met een alarm. Home Assistant weet via de app op je telefoon wie er thuis is. De entiteit zone.home telt hoeveel personen er in de thuiszone zijn. Staat die tien minuten op 0, dan zet deze automatisering het alarm op afwezig:
- alias: "Alarm: automatisch aan als iedereen weg is"
triggers:
- trigger: numeric_state
entity_id: zone.home
below: 1
for:
minutes: 10
conditions:
- condition: state
entity_id: alarm_control_panel.huisalarm
state: disarmed
actions:
- action: alarm_control_panel.alarm_arm_away
target:
entity_id: alarm_control_panel.huisalarm
- action: notify.mobile_app_mijn_telefoon
data:
title: "Alarm ingeschakeld"
message: "Iedereen is weg. Het alarm staat op afwezig."
Een paar aandachtspunten:
- Locatie aan. Elke bewoner heeft de Home Assistant-app met locatietoegang nodig, gekoppeld aan een persoon onder Instellingen → Personen.
- De wachttijd. De tien minuten vangen verspringende GPS op, en het moment dat je nog even terugloopt voor je sleutels.
- Wie geen telefoon heeft. Kinderen, een oppas of een logé zonder app tellen niet mee. Is alleen zo iemand thuis, dan gaat het alarm toch aan. Maak in dat geval een schakelaar Gast thuis (een
input_boolean) en zet die als extra voorwaarde in de automatisering. - Code bij inschakelen. De manual-centrale met een code weigert in te schakelen zonder code. Zet daarom
code_arm_required: falsein de configuratie. In Alarmo zet je de code voor inschakelen uit. - Een open raam. Staat er nog een raam open, dan kan Alarmo weigeren in te schakelen. Maak in Alarmo een melding voor ‘inschakelen mislukt’, zodat je weet dat het alarm níet aan staat.
En automatisch uitschakelen als je thuiskomt? Dat raad ik af. Een telefoon kan gestolen worden, en GPS kan zich vergissen. Schakel uit met een code op het keypad of in de app. Wel handig: een melding als je thuiskomt terwijl het alarm nog aan staat.
Waar een zelfbouwalarm zwak is (en wat je eraan doet)
Dit is het deel dat de meeste handleidingen overslaan. Een alarm is pas goed als het ook werkt op het moment dat er iets misgaat.
- Een sensor die stil wegvalt. Een raamcontact met een lege batterij of zonder verbinding meldt niets. Het gevaarlijkste is dat je dat niet ziet. Maak een melding als een sensor
unavailablewordt of als een batterij onder de 20 % zakt. Hetzelfde principe beschrijf ik bij mijn energiesysteem: zo merk ik dat mijn systeem iets fout doet. - Stroomuitval. Zonder stroom geen server, geen sticks en geen router. Zet die drie op een kleine UPS. De sensoren zelf werken op batterijen, de sirene heeft bij voorkeur een eigen back-upbatterij.
- Geen internet. Het alarm zelf werkt lokaal door: sensoren, centrale en sirene hebben geen internet nodig. Alleen de melding op je telefoon komt dan niet aan.
- Storen van de radio. Elk draadloos systeem is in theorie te storen, ook een gekocht alarm. Z-Wave met S2 is lastiger te misbruiken dan een onversleuteld protocol, maar maakt storen niet onmogelijk.
- Uitschakelen op afstand. Wie in je Home Assistant kan, kan je alarm uitzetten. Gebruik tweestapsverificatie, en stel een code in voor uitschakelen. Laat een spraakassistent of AI-koppeling het alarm hooguit inschakelen, nooit uitschakelen. Geef de alarmcentrale daarom niet zomaar vrij aan je spraakassistent.
- De sirene en de buren. Laat de sirene niet eindeloos loeien. Veel gemeenten hebben in hun APV regels over hoe lang een alarm geluid mag maken. Een paar minuten is genoeg; daarom staat
trigger_timein het voorbeeld op 180 seconden.
Brand is een apart verhaal. Rookmelders moeten zelf alarmeren, ook als Home Assistant uitvalt. Hoe ik dat met zes gekoppelde X-Sense-melders heb opgelost, lees je in thuisbatterij en brandveiligheid.
Stappenplan in het kort
- Zorg dat Zigbee (ZHA of Zigbee2MQTT) of Z-Wave JS draait in Home Assistant.
- Koppel eerst de apparaten op netstroom (sirene, keypad), daarna de sensoren op batterijen.
- Geef elke sensor een duidelijke naam, zoals Voordeur contact of Beweging hal.
- Installeer Alarmo via HACS, of maak een manual-centrale in YAML.
- Kies per stand welke sensoren meedoen, en stel vertrek- en inlooptijden in.
- Maak de reacties: sirene, lampen en een kritieke melding op je telefoon.
- Optioneel: laat het alarm automatisch op afwezig gaan als iedereen weg is.
- Bouw de bewaking: meldingen bij lege batterijen en sensoren die wegvallen.
- Test alles. Schakel in, loop naar buiten, kom weer binnen, en laat het alarm één keer echt afgaan. Herhaal dat een paar keer per jaar.
Veelgestelde vragen
Is een alarmsysteem met Home Assistant net zo goed als een gekocht alarm?
Voor detectie en afschrikken kan het net zo goed zijn: de sensoren zijn vaak dezelfde soort. Het verschil zit in certificering, doormelding naar een meldkamer en onderhoud. Bij een zelfbouwalarm ben jij de installateur en de meldkamer.
Accepteert mijn verzekeraar een zelfgebouwd alarm?
Meestal niet als de polis een gecertificeerd alarmsysteem eist. Staat er geen eis in je polis, dan maakt het voor de verzekering niet uit. Vraag het bij twijfel na.
Alarmo of de ingebouwde manual-centrale?
Alarmo, tenzij je echt geen HACS wilt. Alarmo doet standen, sensoren per stand, open ramen bij inschakelen en gebruikerscodes zonder dat je zelf automatiseringen hoeft te bouwen.
Kan ik Zigbee en Z-Wave in één alarm mengen?
Ja. Home Assistant ziet alleen entiteiten, geen protocollen. Een Zigbee-raamcontact en een Z-Wave-sirene werken gewoon samen in dezelfde centrale. Je hebt wel voor elk protocol een eigen stick nodig.
Werkt het alarm zonder internet?
Ja. Zigbee, Z-Wave en Home Assistant werken lokaal. Alleen meldingen op je telefoon buiten de deur hebben internet nodig.
Kan het alarm automatisch aan als iedereen weg is?
Ja. Met de app op ieders telefoon weet Home Assistant wie er thuis is. Is de thuiszone tien minuten leeg, dan zet een automatisering het alarm op afwezig. Het voorbeeld staat hierboven bij de automatiseringen.
Wat ik gebruik
- MeLE Quieter 4C mini-pc: bekijk op Amazon. Mijn Home Assistant-server: stil, zuinig en altijd aan.
- Aeotec Zi-Stick (Zigbee USB-stick): bekijk op Amazon. Voor Zigbee-sensoren zoals deur- en raamcontacten.
- Aeotec Z-Stick 7 (Z-Wave USB-stick): bekijk op Amazon. Voor Z-Wave-apparaten met S2-beveiliging.
- UGREEN USB-hub met 4 poorten: bekijk op Amazon. Houdt de sticks een stukje van de pc af.
- Fibaro Door/Window Sensor 2 (Z-Wave deur- en raamcontact): bekijk op Amazon. Deurcontact met sabotagemelding.
- Aeotec MultiSensor 7 (Z-Wave): bekijk op Amazon. Beweging, temperatuur, licht, vocht, trilling en uv in één sensor.
- SONOFF SNZB-09P (Zigbee-sirene): bekijk op Amazon. Tot 105 dB, op USB-C of batterij.
Dit artikel bevat affiliate-links. Als Amazon-partner verdien ik aan in aanmerking komende aankopen. Voor jou verandert de prijs niet.
Dit werkt in mijn situatie: Home Assistant op een MeLE Quieter 4C met een Aeotec Zi-Stick en een Aeotec Z-Stick 7. Een zelfgebouwd alarm is geen gecertificeerd alarmsysteem en vervangt geen rookmelders. Integraties, firmware en de eisen van je verzekeraar kunnen anders zijn. Controleer het tegen je eigen documentatie.






Geef een reactie