How mampfes/hacs_waste_collection_schedule works
Waste Collection Schedule is a Home Assistant integration that turns provider, ICS/iCal, and user-defined collection schedules into calendar and sensor entities. The main path is configuration, source construction, fetching and normalizing collection entries, then exposing them through Home Assistant. Provider adapters cover many municipal services; shared source and collection modules provide internal reuse. The tree and excerpts support the source-shell behavior and several adapters, but do not include the coordinator or every entity implementation, so uncertain internal wiring is omitted.
Main entry points: source Provider adapters · waste_collection_api.py Waste collection API · collection.py Collection entry · __init__.py Integration setup
Components 18
Setup and configuration
- Config flow
custom_components/waste_collection_schedule/config_flow.py - YAML setup
custom_components/waste_collection_schedule/init_yaml.py - UI setup
custom_components/waste_collection_schedule/init_ui.py - Integration setup
custom_components/waste_collection_schedule/__init__.py
Schedule sources
- Source shell
- Provider adapters
custom_components/waste_collection_schedule/waste_collection_schedule/source - ICS source
custom_components/waste_collection_schedule/waste_collection_schedule/source - Static and wrapper sources
custom_components/waste_collection_schedule/waste_collection_schedule/source - Shared provider helpers
custom_components/waste_collection_schedule/waste_collection_schedule/service
Collection domain
- Collection entry
custom_components/waste_collection_schedule/waste_collection_schedule/collection.py - Collection aggregator
custom_components/waste_collection_schedule/waste_collection_schedule/collection_aggregator.py - Waste collection API
custom_components/waste_collection_schedule/waste_collection_api.py
Home Assistant outputs
- Sensors
custom_components/waste_collection_schedule/sensor.py - Calendar
custom_components/waste_collection_schedule/calendar.py - Fetch service
custom_components/waste_collection_schedule/service.py
Other components
- Home Assistant user
- Home Assistant
- Collection providers
Connections 24
- Home Assistant user → Config flow: configures
- Home Assistant user → YAML setup: configures
- Config flow → UI setup: sets up
- YAML setup → Integration setup: sets up
- UI setup → Integration setup: sets up
- Integration setup → Source shell: constructs
- Source shell → Provider adapters: dispatches
- Source shell → ICS source: dispatches
- Source shell → Static and wrapper sources: dispatches
- Provider adapters → Shared provider helpers: uses helpers
- Provider adapters → Collection providers: fetches schedule
- ICS source → Collection providers: reads calendar
- Provider adapters → Collection entry: creates entries
- ICS source → Collection entry: creates entries
- Static and wrapper sources → Collection entry: creates entries
- Source shell → Collection entry: customizes entries
- Source shell → Collection aggregator: provides entries
- Collection aggregator → Waste collection API: aggregates
- Waste collection API → Sensors: provides schedules
- Waste collection API → Calendar: provides schedules
- Sensors → Home Assistant: publishes entities
- Calendar → Home Assistant: publishes events
- Home Assistant user → Fetch service: requests refresh
- Fetch service → Waste collection API: triggers fetch