Afvalwijzer
Weer vergeten op de afvalwijzer te kijken wanneer het papier aan de straat moest staan 🤔.
Dat moet anders kunnen. Ontvang een WhatsApp bericht of andere notificatie.
Dit werkt alleen in Nederland.
Update 15-10-2025
HACS
Installeer de integratie Afvalwijzer en frontend auto-entities. Die vind je gewoon in de HACS lijsten.
Er zijn veel afvalverwerkers ondersteund.
Onder andere:
mijnafvalwijzer, afvalstoffendienstkalender (all), rova, ACV, almere, areareiniging, avalex, avri, BAR, hellendoorn, meerlanden, meppel, RAD, twentemilieu, waardlanden, westland, ximmio, reinis, alkmaar, alphenaandenrijn, berkelland, blink, cranendonck, cyclus, DAR, denhaag, gad, hvc, lingewaard, middelburgngen, montfoort, peelenmaas, prezero, purmerend, RWM, schouwenand, spaarnelanden, sudwestfryslan, suez, venray, voorschoten, waalre, ZRD, eemsdelta (iCalendar), RD4, deafvalapp
Na installatie start je Home Assistant opnieuw op.
Intergratie toevoegen:
- Ga naar Instellingen → Apparaat & diensten pagina in Home Assistant.
- Klik op Integratie toevoegem aen zoek naar
Afvalwijzer. - Volg de instructie op het scherm om het te voltooien.
- Vul de postcode, huisnummer, en de andere velden.
Plaatjes als icoontjes
De plaatjes sla je op in de www map, ik heb een aantal plaatjes die je gratis kunt downloaden.
customize.yaml aanpassen



sensor.afvalwijzer_pmd: entity_picture: /local/pmd.png friendly_name: PMD sensor.afvalwijzer_takken: entity_picture: /local/takken.png friendly_name: Takken sensor.afvalwijzer_restafval: entity_picture: /local/rest.png friendly_name: Rest sensor.afvalwijzer_papier: entity_picture: /local/papier.png friendly_name: Papier sensor.afvalwijzer_kerstbomen: entity_picture: /local/kerst.png friendly_name: Kerst sensor.afvalwijzer_gft: entity_picture: /local/gft2.png friendly_name: GFT sensor.afvalwijzer_today: friendly_name: Vandaag sensor.afvalwijzer_tomorrow: friendly_name: Morgen sensor.afvalwijzer_next_item: friendly_name: Next pickup item sensor.afvalwijzer_next_in_days: friendly_name: Next pickup in days input_boolean.waste_reminder: icon: mdi:reminder

Herstart Home Assistant en om bovenstaande icons in de LoveLace te krijgen gebruik je de volgende kaart-code.
type: custom:auto-entities
card:
type: glance
filter:
include:
- entity_id: sensor.afvalwijzer_gft
- entity_id: sensor.afvalwijzer_papier
- entity_id: sensor.afvalwijzer_pmd
- entity_id: sensor.afvalwijzer_restafval
- entity_id: sensor.afvalwijzer_takken
sort:
method: state
attribute: Days_until
reverse: false
Automation
Wil jij berichten krijgen op de dag voordat het afval aan de straat moet staan?
Pas nogmaals de configuration.yaml aan.
input_boolean:
waste_moved:
name: Waste has been moved
initial: 'off'
icon: mdi:delete-empty
waste_reminder:
name: Waste reminder enabled
initial: 'on'
Maak 3 automations aan
alias: Mark waste as moved from notification
trigger:
- platform: event
event_type: ios.notification_action_fired
event_data:
actionName: MARK_WASTE_MOVED
action:
- service: input_boolean.turn_on
entity_id: input_boolean.waste_moved
- service: input_boolean.turn_on
entity_id: input_boolean.trash_outside
Krijg tussen 18:00 en 23:00 elk uur een melding op je telefoon, in mijn geval via Whatsapp.
alias: Waste has not been moved
trigger:
- platform: time_pattern
hours: /1
condition:
- condition: and
conditions:
- condition: state
entity_id: input_boolean.waste_moved
state: "off"
- condition: state
entity_id: input_boolean.waste_reminder
state: "on"
- condition: time
after: "18:00:00"
before: "23:00:00"
- condition: template
value_template: "{{ states('sensor.afvalwijzer_tomorrow') != 'Geen' }}"
action:
- service: notify.mobile_app_ #zend het naar een HA App op een telefoon
data:
title: Afval
message: >-
Het is vandaag - {{ now().strftime("%d-%m-%Y") }}. Afvaltype(n): {{
states.sensor.afvalwijzer_tomorrow.state }} wordt opgehaald op: {{
(as_timestamp(now()) + (24*3600)) | timestamp_custom("%d-%m-%Y", True)
}}!
data:
push:
badge: 0
category: afval
enabled: true
- service: notify.whatsapp #Callmebot methode
data:
title: Afval
message: >-
Het is vandaag - {{ now().strftime("%d-%m-%Y") }}. Afvaltype(n): {{
states.sensor.afvalwijzer_tomorrow.state }} wordt opgehaald op: {{
(as_timestamp(now()) + (24*3600)) | timestamp_custom("%d-%m-%Y", True)
}}!
data:
push:
badge: 0
category: afval
Gebruik je de Gratis WhatsApp Add-on? Dan heb je onderstaande service nodig.
service: whatsapp.send_message
data:
clientId: default
to: 316<rest van je nummer>@s.whatsapp.net
body:
text: >-
Het is vandaag - {{ now().strftime("%d-%m-%Y") }}. Afvaltype(n): {{
states.sensor.afvalwijzer_tomorrow.state }} wordt opgehaald op: {{
(as_timestamp(now()) + (24*3600)) | timestamp_custom("%d-%m-%Y", True) }}!
Je wilt natuurlijk geen melding krijg voor als de container niet aan de weg hoeft of hij er al staat.
Je zet dan simpel het schuifje aan van “Afval staat al buiten”, de melding krijg je nu niet meer, de sensor wordt na 12 uur automatisch weer uit gezet.
type: entities
entities:
- entity: input_boolean.waste_reminder
name: Afval melding staat
- entity: input_boolean.waste_moved
name: Afval staat al buiten

Anders geschreven
Heb je liever een tekst als “volgende week maandag” naast de datum sensors?
Plaats onderstaande code in sensor.yaml of onder het kopje sensor, let op de spaties:
- platform: template
sensors:
papier_dagen_tot_afhaal:
attribute_templates:
numeric_days: "{{ state_attr('sensor.afvalinfo_papier', 'days_until_collection_date') }}"
value_template: >
{%- set sensor = 'sensor.afvalinfo_papier' %}
{%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
{%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
{%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
{% set ws = (days_until / 7) | int %}
{% set w = 'een' if ws < 1 else ws %}
{% set wk = 'week' if w < 2 else 'weken' %}
{%- if days_until <= 1 %}
{{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
{{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
{{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
{{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}
friendly_name: Dagen tot papier
restafval_dagen_tot_afhaal:
attribute_templates:
numeric_days: "{{ state_attr('sensor.afvalinfo_restafval', 'days_until_collection_date') }}"
value_template: >
{%- set sensor = 'sensor.afvalinfo_restafval' %}
{%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
{%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
{%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
{% set ws = (days_until / 7) | int %}
{% set w = 'een' if ws < 1 else ws %}
{% set wk = 'week' if w < 2 else 'weken' %}
{%- if days_until <= 1 %}
{{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
{{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
{{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
{{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}
friendly_name: Dagen tot restafval
gft_dagen_tot_afhaal:
attribute_templates:
numeric_days: "{{ state_attr('sensor.afvalinfo_gft', 'days_until_collection_date') }}"
value_template: >
{%- set sensor = 'sensor.afvalinfo_gft' %}
{%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
{%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
{%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
{% set ws = (days_until / 7) | int %}
{% set w = 'een' if ws < 1 else ws %}
{% set wk = 'week' if w < 2 else 'weken' %}
{%- if days_until <= 1 %}
{{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
{{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
{{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
{{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}
friendly_name: Dagen tot GFT
pbd_dagen_tot_afhaal:
attribute_templates:
numeric_days: "{{ state_attr('sensor.afvalinfo_pbd', 'days_until_collection_date') }}"
value_template: >
{%- set sensor = 'sensor.afvalinfo_pbd' %}
{%- set collection_date = as_local(as_datetime(state_attr(sensor, 'year_month_day_date'))).date() %}
{%- set days = ['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag' ] %}
{%- set days_until = state_attr(sensor, 'days_until_collection_date') %}
{% set w = (days_until / 7) | int %}
{% set wk = 'week' if w < 2 else 'weken' %}
{%- if days_until <= 1 %}
{{ ['Vandaag', 'Morgen'][days_until] }}
{%- elif days_until < 7 - now().isoweekday() %}
{{ days[collection_date.weekday()] | title }}
{%- elif days_until < 14 - now().isoweekday() %}
{{ 'Volgende week ' ~ days[collection_date.weekday()] }}
{%- else %}
{{ days[collection_date.weekday()] | title }} over {%- if w == 1 %} {{'een'}}{% else %} {{ w }}{%- endif %} {{ wk }}
{%- endif %}
friendly_name: Dagen tot plastic
De bovenstaande code heb ik voor afvalwijzer bijgewerkt en aangepast, de basis komt van de user Toppe op Tweakers
Ook van die sensors kun je het logo aanpassen in de customize.yaml
sensor.gft_dagen_tot_afhaal: entity_picture: /local/gft2.png sensor.papier_dagen_tot_afhaal: entity_picture: /local/papier.png sensor.pmd_dagen_tot_afhaal: entity_picture: /local/pmd.png sensor.restafval_dagen_tot_afhaal: entity_picture: /local/rest.png

Hoe heb ik het toegevoegd
Hieronder zie je een gifje van mijn venster. Het scherm is geoptimaliseerd voor op de mobiele telefoon.
Het prullebak knopje is de input_boolean.waste_moved, deze stopt natuurlijk ook de automation.
Onder de gif de code.
type: markdown
content: >
# Hallo {{ user }} ❤️
Het is vandaag {% set months = ["januari", "februari", "maart", "april",
"mei", "juni",
"juli", "augustus", "september", "oktober", "november", "december"] %} {% set
month = months[now().month -1] %}{% set days = ["maandag", "dinsdag",
"woensdag", "donderdag", "vrijdag",
"zaterdag", "zondag"] %} {% set day = days[now().weekday()] %} {{ day + ' ' +
now().strftime('%-d') + ' ' + month }} en het is {{ (states('sensor.time'))
}}
{% if "gft" in states('sensor.afvalwijzer_tomorrow') and
is_state('input_boolean.waste_moved','off') %} Vanavond de groenebak aan de
straat zetten. Staat het er al? klik op onderstaande knop. {% endif %}
{% if "papier" in states('sensor.afvalwijzer_tomorrow') and
is_state('input_boolean.waste_moved','off') %} Vanavond het oudpapier aan de
straat zetten. Staat het er al? klik op onderstaande knop. {% endif %}
{% if "pmd" in states('sensor.afvalwijzer_tomorrow') and
is_state('input_boolean.waste_moved','off') %} Vanavond het plastic aan de
straat gooien. Hangen ze al aan de paal? klik op onderstaande knop. {% endif
%}
{% if "rest" in states('sensor.afvalwijzer_tomorrow') and
is_state('input_boolean.waste_moved','off') %} Vanavond kan de grijze
container aan de straat. Staat het er al? klik op onderstaande knop. {% endif
%}
{% if "takken" in states('sensor.afvalwijzer_day_after_tomorrow') %}
Overmorgen worden de takken opgehaald! Maak bundels en gooi morgen aan de
straat.{% endif %}
{% if "takken" in states('sensor.afvalwijzer_day_tomorrow') and
is_state('input_boolean.waste_moved','off') %} Gooi die bundels aan de staat!
Hangen ze al aan de paal? Klik op de knop{% endif %}
text_only: true
De afvalknop:
De andere knop is voor Alarmo.
type: entity
show_name: false
show_state: false
show_icon: true
entity: input_boolean.waste_moved
show_entity_picture: false
visibility:
- condition: and
conditions:
- condition: state
entity: sensor.afvalwijzer_tomorrow
state_not: geen
- condition: state
entity: input_boolean.waste_moved
state: "off"
tap_action:
action: toggle
Handig! kun je via Whatsapp ook antwoorden dat het afval al buiten staat?
Hoi Johan,
Dat is mij nog niet via WhatsApp gelukt, het antwoord komt namelijk op de telefoon terecht met dat nummer.
Waar kun je die plaatjes downloaden? Ik zie geen link in je post
Je hebt gelijk, de download plugin crasht nog wel eens 🙁
Het zou nu weer moeten wwerken.
Hoi,
Ik wil de customize.yaml aanpassen, maar waar vind ik deze? Of moet ik deze map nog aanmaken? Zo ja, waar?
Hoi John,
Ik vermoed dat je de File Editor addon nog niet hebt. Dan kun je na installatie en starten met aanpassen.
Hoi Ivo,
De File editor had ik al geïnstalleerd. Ik weet alleen niet in welke mappen ik dingen moet aanpassen. BV. de “ customise.yaml”.. Ik heb deze map niet. Moet ik deze map aanmaken? Zo ja… waar?
Hoi John,



Ze staan beide in de config.
Heb je de customize.yaml nog niet kun je deze aanmaken.
In de configuration.yaml moet onderstaande komen te staan.
Hallo,
ik heb de ‘Anders geschreven’ code toegevoegd aan mijn sensor.yaml maar bij controle van de configuratie krijg ik daarop een foutmelding. Ik vermoed dat het, zoals je aangeeft, ligt aan de spatiëring maar ik weet niet precies wat deze moet zijn. Heb je een tipje hier voor? Momenteel staat de eerste regel ‘- platform: template’ helemaal links uitgelijnd.
Hoi DerRoedie, zo heb ik hem in de sensor.yaml staan (uit de conf.yaml gehaald) Daar staat:
Heb je sensor: wel nog los in je configuration.yaml staan moet deze onder
Gelijke spaties als de eerste sensor regels met je adres gegevens
beste,
ik ben nog vrij nieuw, en als ik de kaart-code invoer geeft hij aan “Custom element doesn’t exist: auto-entities”
hoe kan ik dit verhelpen?
Hoi Henri, heb je ha meerdere keren herstart tijdens de installatie?
Probeer nog een herstart en crtl+F5 (harde refresh) op je computer.
Groeten Ivo
Ik krijg als er niks wordt opgehaald de volgende dag wel een melding dat None wordt opgehaald de volgende dag. Doe ik iets fout?
Hoi Robert,
Verander “Geen” eens naar “geen” in de automation Waste has not been moved (regel 18)
Groeten,
Ivo
Gedaan, ik kijk even aan
Het is (uit)eindelijk gelukt met ‘none’.
Ik heb het werkend gekregen, met uitzondering van de afbeeldingen en de mdi pictures.
Dit is mijn eerste HA project. Enig idee waar ik de fout zou kunnen zoeken.
Heb je bijvoorbeeld
sensor.afvalwijzer_pmd:
entity_picture: /local/pmd.png
friendly_name: PMD
in je customize.yaml staan? Dan heb je geen mdi nodig
Ivo,
Dank voor je reactie.
Ik heb dit idd op deze wijze in de customize.yaml staan.
Het bovenste deel is nu dus compleet.
Het enige wat nog niet lukt is het onderste deel, de ophaaldagen.
Ik zie daar op de 1e regel wat er opgehaald gaat worden,
Dan een grote wit ruimte waar volgens mij afbeeldingen/mdi moeten staan
en vervolgens een regel met de ophaal data.