caldates2mqtt¶
CalDAV calendar dates to MQTT bridge
caldates2mqtt connects to one or more CalDAV calendars (such as Nextcloud), fetches upcoming all-day events within a configurable lookahead window, and publishes them as JSON payloads to MQTT. Each configured calendar becomes an independent device with periodic polling and on-demand re-read via MQTT command.
Features¶
- Multi-calendar support --- configure any number of CalDAV calendars, each published as its own MQTT device
- All-day event filtering --- extracts only all-day events (birthdays, garbage collection, holidays), ignoring timed appointments
- On-demand re-read --- send a JSON command to any calendar's
/settopic to trigger an immediate re-read with optional parameter overrides - Configurable lookahead --- per-calendar
daysandentriessettings control the event window and result count - Health reporting --- automatic heartbeats, per-device availability, and LWT via cosalette
- Simple
.envconfiguration --- all settings via environment variables or a.envfile - Docker-ready --- single
docker compose updeployment, no special hardware required
Quick Links¶
-
Getting Started
Install caldates2mqtt, configure your CalDAV calendars, and see your first MQTT messages.
-
Configuration
All settings --- environment variables,
.envfiles, and CLI flags. -
MQTT Topics
Topic reference with payload schemas, directions, and retain flags.
-
ADRs
Architecture decision records documenting design choices.