I’ve published a custom vibe coded integration that shows upcoming waste collection dates for Rueil-Malmaison, a town in the western suburbs of Paris (France). It covers all 5 kerbside streams: household waste, packaging, glass, bulky items and garden waste.
How it works
The data comes from the open data portal of the Hauts-de-Seine department. During setup you enter your address once: the integration geocodes it through the French national address database (Base Adresse Nationale), works out which collection zone you fall into for each stream, then computes the upcoming dates. No API key is needed, and data refreshes every 12 hours.
Each stream has its own rules, which the integration handles:
- Household waste: several days a week
- Packaging: weekly
- Glass and bulky items: even or odd weeks, depending on the zone
- Garden waste: seasonal, March to mid-December only — outside the season, the sensor automatically points to the first collection of the following year
What you get
A single device named “Rueil-Malmaison”, with:
- 5 sensors, one per stream, with a date device class and the next collection as their state. Attributes include the weekday, frequency, period, time of day (morning or evening), days remaining, and the next 6 dates.
- 1 calendar entity, gathering all upcoming collections across every stream, so they show up in the native Home Assistant calendar.
The time-of-day attribute matters more than you’d think: some zones are collected in the evening, so the bin has to go out that afternoon rather than the night before.
A note on naming: entity IDs and attributes are in French, since this targets a French municipality and that’s what makes sense for local users.
Installation
Through HACS, as a custom repository:
- HACS → ⋮ menu → Custom repositories
- URL:
https://github.com/milimilo/collecte-dechets-ha, type: Integration - Search for “Collecte des déchets Rueil-Malmaison”, download, restart Home Assistant
- Settings → Devices & Services → Add Integration → enter your address
Manual install also works: copy custom_components/collecte_dechets/ into your config/custom_components/ folder.
Limitations
The integration only covers Rueil-Malmaison (92500). That said, the Hauts-de-Seine open data schema is identical for every town in the department, so adapting it to another municipality mostly means swapping the dataset identifiers.
Feedback welcome
This is my first published integration. Comments are welcome!
Card Lovelace
type: entities
title: Collectes des déchets
entities:
- type: attribute
entity: sensor.rueil_malmaison_ordures_menageres
attribute: quand
name: Ordures ménagères
icon: mdi:trash-can
- type: attribute
entity: sensor.rueil_malmaison_emballages
attribute: quand
name: Emballages
icon: mdi:recycle
- type: attribute
entity: sensor.rueil_malmaison_verre
attribute: quand
name: Verre
icon: mdi:bottle-wine
- type: attribute
entity: sensor.rueil_malmaison_encombrants
attribute: quand
name: Encombrants
icon: mdi:sofa
- type: attribute
entity: sensor.rueil_malmaison_dechets_verts
attribute: quand
name: Déchets verts
icon: mdi:leaf
