Een Fool‑Proof Pushover Meldingssysteem in Home Assistant
Stap‑voor‑stap handleiding + volledig script
In een slim huis draait alles om betrouwbaarheid. Een melding die te laat komt, of helemaal niet, kan het verschil maken tussen op tijd reageren of iets belangrijks missen. Daarom wilde ik mijn meldingssysteem in Home Assistant naar een hoger niveau tillen. Niet alleen een simpel berichtje, maar een volledig geautomatiseerde, foutloze Pushover‑melding — mét prioriteiten, camerabeelden, geluiden en een automatische titel.
Tijdens het bouwen ontdekte ik dat veel standaardoplossingen nét niet doen wat je wilt. File‑selectors werken niet altijd, prioriteit 2 vereist extra parameters, en bijlagen moeten aan strikte voorwaarden voldoen. Daarom besloot ik een eigen script te maken dat:
- altijd werkt
- geen fouten toestaat
- automatisch slimme keuzes maakt
- en flexibel genoeg is voor elke situatie
In deze handleiding laat ik stap voor stap zien hoe je dit script zelf kunt toevoegen aan Home Assistant. Aan het einde vind je het volledige script dat je direct kunt gebruiken. Hiermee heb je een professioneel, fool‑proof meldingssysteem dat je smart home een stuk slimmer maakt.
Waarom een eigen Pushover‑script?
De standaard Pushover‑integratie is prima, maar beperkt. Ik wilde:
- een melding sturen met geluid naar keuze
- prioriteit 2 gebruiken voor urgente meldingen
- een afbeelding meesturen uit mijn cameramappen
- een automatische titel wanneer ik er zelf geen invul
- een systeem dat nooit faalt, ook niet als ik een veld vergeet
Stap 1 — Voorbereiding
1.1 Zorg dat Pushover werkt in Home Assistant
Je moet al een notify‑service hebben, zoals:
notify.entity_id
Zie Pushover - Home Assistant
Pas dit in het script aan als jouw service anders heet.
1.2 Maak een map voor je camerabeelden
Gebruik de map:
/media/cam_captures/
Plaats daar je afbeeldingen, bijvoorbeeld:
- 1_tuin.jpg
- 1_voordeur.jpg
- 2_tuin.jpg
- 2_voordeur.jpg
- 3_tuin.jpg
- 3_voordeur.jpg
- 4_tuin.jpg
- 4_voordeur.jpg
- poort.jpg
- tuin.jpg
- voordeur.jpg
Stap 2 — Script toevoegen in Home Assistant
- Ga naar Instellingen → Automatiseringen & Scènes → Scripts
- Klik op “+ Script toevoegen”
- Kies “Script bewerken in YAML”
- Verwijder alles wat er staat
- Plak het volledige script hieronder
- Sla het script op
Stap 3 — Het volledige Pushover‑script
Dit script is fool‑proof:
- Bericht mag niet leeg zijn
- Prioriteit heeft standaard waarde 0
- Titel wordt automatisch gegenereerd (dagnaam + datum + tijd)
- Bijlagen komen uit een dropdown
- Priority 2 werkt correct met retry/expire
#versie: 20260630
pushover_melding:
alias: "Pushover melding"
fields:
message:
name: Bericht
selector:
text:
default: ""
title:
name: Titel
selector:
text:
default: ""
sound:
name: Geluid
selector:
select:
options:
- pushover
- bike
- bugle
- cashregister
- classical
- cosmic
- falling
- gamelan
- incoming
- intermission
- magic
- mechanical
- pianobar
- siren
- spacealarm
- tugboat
- alien
- climb
- persistent
- echo
- updown
- vibrate
- none
priority:
name: Prioriteit
description: >
Prioriteit bepaalt hoe dringend de melding is.
-2 = Stil (geen geluid)
-1 = Laag
0 = Normaal
1 = Hoog (met geluid)
2 = Noodmelding (blijft herhalen tot bevestigd)
selector:
select:
options:
- "-2"
- "-1"
- "0"
- "1"
- "2"
default: "0"
url:
name: URL
description: >
Kies een vaste URL of selecteer 'Eigen URL' en vul die hieronder in.
selector:
select:
options:
- market://launch?id=com.mcu.reolink
- https://pcgsm.nl/ohh/
- https://pcgsm.nl/ohhweatherMX/
- Eigen URL
url_custom:
name: Eigen URL
description: >
Vul hier een eigen URL in als je bij URL 'Eigen URL' hebt gekozen.
selector:
text:
default: ""
url_title:
name: URL titel
selector:
text:
attachment_file:
name: Bijlage kiezen (uit /media/cam_captures/)
selector:
select:
options:
- 1_tuin.jpg
- 1_voordeur.jpg
- 2_tuin.jpg
- 2_voordeur.jpg
- 3_tuin.jpg
- 3_voordeur.jpg
- 4_tuin.jpg
- 4_voordeur.jpg
- poort.jpg
- tuin.jpg
- voordeur.jpg
- nooitgedacht.jpg
sequence:
# Bericht mag niet leeg zijn
- condition: template
value_template: "{{ message is string and message | trim != '' }}"
# Bepaal uiteindelijke URL
- variables:
selected_url: >
{% if url == 'Eigen URL' and url_custom | trim != '' %}
{{ url_custom }}
{% else %}
{{ url }}
{% endif %}
# Titel genereren
final_title: >
{{ title | default(
(now().strftime('%A')
| replace('Monday','maandag')
| replace('Tuesday','dinsdag')
| replace('Wednesday','woensdag')
| replace('Thursday','donderdag')
| replace('Friday','vrijdag')
| replace('Saturday','zaterdag')
| replace('Sunday','zondag')
) ~ ' ' ~ now().strftime('%d-%m-%Y %H:%M')
) }}
# Basis Pushover data
pushover_data:
sound: "{{ sound }}"
priority: "{{ priority | int }}"
url: "{{ selected_url }}"
url_title: "{{ url_title }}"
# Priority 2 → retry/expire toevoegen
- choose:
- conditions: "{{ priority | int == 2 }}"
sequence:
- variables:
pushover_data: >
{{ pushover_data | combine({
'retry': 30,
'expire': 300
}) }}
# Bijlage toevoegen indien gekozen
- choose:
- conditions: "{{ attachment_file is string and attachment_file != '' }}"
sequence:
- variables:
pushover_data: >
{{ pushover_data | combine({
'attachment': '/media/cam_captures/' ~ attachment_file
}) }}
# Versturen
- service: notify.home_assistant_peter
data:
message: "{{ message }}"
title: "{{ final_title }}"
data: "{{ pushover_data }}"
Stap 4 — Script testen
- Open het script in Home Assistant
- Vul een bericht in (verplicht)
- Laat de titel leeg om de automatische titel te testen, dus vinkje weg halen
- Kies een geluid
- Kies een prioriteit
- Selecteer eventueel een bijlage
- Klik op Uitvoeren
Je ontvangt nu een nette Pushover‑melding met:
- jouw bericht
- automatische titel (dagnaam + datum + tijd)
- gekozen geluid
- juiste prioriteit
- optioneel een camerabeeld
Conclusie
Met dit script heb je een professioneel, foutloos en flexibel meldingssysteem dat perfect integreert met Home Assistant. Het is ontworpen om altijd te werken, ongeacht welke velden je wel of niet invult. Ideaal voor alarmmeldingen, camerabeelden, deurbelnotificaties en alle andere situaties waarin je snel en betrouwbaar geïnformeerd wilt worden.
In een automation kun je nu bij Add action, script.pushover_melding kiezen en invullen.
![]()