A Home Assistant dashboard card to view and edit the weekly time programs of a Vaillant controller
(sensoCOMFORT VRC 720, ebusd circuit ctlv2) locally over ebusd and MQTT.
- Heating zones 1–3, hot water and circulation, each on its own tab
- Edit several days at once: quick selection for Mo–Fr, Sa–Su or all days
- Up to 3 slots per day on the controller's 10-minute grid, with a temperature per slot
- Checks before writing: overlaps, end before start, temperatures out of range
- Verified writes: every day is read back from the controller; retry, continue or restore if one doesn't match
- Read-only preview mode for a compact week overview, with a marker for the current time
- 14 languages, following the Home Assistant user's language (machine-translated, corrections welcome)
- Two looks: the card's own dark design, or your Home Assistant theme
| Editing on a phone | Preview mode |
|---|---|
![]() |
![]() |
The card needs a working ebusd setup first. Hardware and configuration all come from john30's projects:
- an eBUS adapter, e.g. the eBUS adapter C6 (firmware: john30/ebusd-esp32), connected to the eBUS of your heating system
- ebusd running and connected to the adapter, see the ebusd wiki for installation (also available as Home Assistant add-on)
- the message definitions from john30/ebusd-configuration as a local copy with additions: upstream reads only the first time slot of each day and hot water without temperature. The card needs all three slots, see ebusd configuration
- MQTT in ebusd with Home Assistant discovery (
mqtt-hassio.cfg), see the MQTT integration wiki - Home Assistant with the MQTT integration configured
Once the time program sensors (e.g. sensor.ebusd_ctlv2_z1timer_monday0_htm) show up in Home Assistant, the card
works without further setup. Details: ebusd & entities.
- Vaillant aroTHERM plus 55/6 heat pump
- Vaillant VR 71 wiring centre
- Vaillant sensoCOMFORT VRC 720 controller (ebusd circuit
ctlv2)
Programs used on this system: zone 1, hot water and circulation. Zones 2 and 3 use the same messages but haven't been tried on a real system yet. Running it on other hardware? Please open an issue and tell us whether it works.
The card is in the default catalog, no repository needs to be added.
- Open the Marketplace (Home Assistant 2026.11+, Settings → Marketplace) or HACS (before 2026.11) and search for eBUSd Time Program Card, or use the button above to open it directly
- Download the card and reload the browser
- Download
ebusd-time-program-card.jsfrom the releases page and copy it to/config/www/ - Settings → Dashboards → ⋮ → Resources → Add resource:
/local/ebusd-time-program-card.js, type JavaScript module - Reload the browser
Edit a dashboard, Add card and search for ebusd, or in YAML:
type: custom:ebusd-time-program-cardThat is enough for a standard ebusd setup with zone 1, hot water and circulation.
| Option | Default | Description |
|---|---|---|
title |
"Weekly schedule" | Card title, translated when not set |
programs |
[z1, hwc, cc] |
Programs to show, in this order, see below |
mode |
edit |
edit, or preview for a read-only week chart |
stacked |
false |
Preview mode: all programs below each other instead of tabs |
temp_labels |
auto |
Preview mode: temperatures inside the bars, auto / always / never |
preview_days |
week |
Preview mode: week, today or today_tomorrow |
preview_label |
true |
Preview mode: the day's slots written out below the chart |
default_days |
weekdays |
Days selected on open: weekdays, weekend, all, today |
show_preview |
true |
Week preview below the editor |
layout |
auto |
Two columns from 720 px card width; wide / narrow force one |
theme |
brand |
brand: the card's dark design; default: your Home Assistant theme |
accent |
CSS colour for the accent, e.g. "#e07a1f" |
|
language |
HA user's | e.g. de, en-GB |
mqtt_prefix |
ebusd |
ebusd's MQTT topic prefix |
circuit |
ctlv2 |
ebusd circuit of the controller |
More options (entity and topic templates, verify timeout, set-back temperature) are on the options page.
| Id | Program | Temperature per slot |
|---|---|---|
z1, z2, z3 |
Heating zones 1–3 | 5–30 °C |
hwc |
Hot water | 35–70 °C |
cc |
Circulation | – |
An entry can also be an object with its own name:
programs:
- id: z1
name: Ground floor
- id: z2
name: First floor
- hwcA compact read-only overview of all programs:
type: custom:ebusd-time-program-card
mode: preview
stacked: trueHome Assistant theme, German, today selected:
type: custom:ebusd-time-program-card
theme: default
language: de
default_days: todayMore in the examples.
The card follows the Home Assistant user's language: English, English (UK), German, French, Spanish, Italian,
Dutch, Polish, Hungarian, Romanian, Ukrainian, Swedish, Danish and Greek. Set language to fix one per card.
The translations were made with machine translation and haven't been reviewed by native speakers yet. If a text sounds wrong in your language, please open an issue or a pull request, see translations.
See CONTRIBUTING.md and the development guide. Corrections to the translations are very welcome.
If the card is useful to you, you can support its development through GitHub Sponsors.


