A Home Assistant dashboard for Stiebel Eltron heat pumps, connected via the
custom integration stiebel_eltron_isg_component
(ISG / Modbus).
The dashboard uses the modern sections layout and the HACS card ApexCharts for the history graphs. The YAML can be pasted directly into a dashboard's code editor (Dashboard → ⋮ → Raw configuration editor).
Updated 07/2026 – completely reworked compared to the original masonry version. House-specific parts (Shelly 3EM power metering, radiator / room thermostats) are intentionally not included so the dashboard stays generic for any ISG heat pump.
The dashboard (dashboard.yaml) has three views:
| View | Icon | Content |
|---|---|---|
| Status | mdi:heat-pump-outline |
Overview (errors, compressor, heating/cooling, NHZ booster heater, summer mode), pumps, flow/return (incl. 24 h means), heating-circuit 1, buffer and DHW temperatures, COP (today / 30 d / JAZ), seasonal COP (calendar year / Oct–Apr), compressor cycling, high/low pressure, flow rate & hot gas |
| Energy | mdi:lightning-bolt |
Power consumption & heat production (5 days + daily trend, cumulative), COP vs. outdoor temperature and an efficiency curve (30 days) |
| Settings | mdi:cog-outline |
Heating circuit 1 (thermostat, heating curve, comfort/eco/dual-mode), DHW, SG Ready |
stiebel_eltron_isg_component(via HACS)
- apexcharts-card – for all history graphs. Without it the Apex charts will not render.
No other custom cards are required by this dashboard.
Some cards reference sensors that are not provided by the integration. They are added to Home Assistant via directory includes:
# configuration.yaml
template: !include_dir_merge_list templates/
sensor: !include_dir_merge_list sensors/
utility_meter: !include_dir_merge_named utility_meter/
automation manual: !include_dir_merge_list automation/ # only for the season SPF (B)The season SPF (B) also needs a few helpers — merge helpers.yaml
(input_number: / input_text:) into your configuration.yaml or a package.
All entities below are in the sensor. domain (prefix omitted for brevity).
templates/heatpump.yaml – template sensors:
| Entity | Description |
|---|---|
heatpump_cop_today |
COP today = produced heat / consumed electricity (heating + DHW) |
heatpump_jaz_total |
JAZ (seasonal performance factor) over the total counters |
heatpump_cop_30d |
COP over the last 30 days — fed by the 30-day utility meters |
heatpump_flow_temperature_at_compressor |
Flow temperature, only while the compressor is running |
heatpump_spf_heating_season |
(A) Calendar-year SPF, space heating only — fed by the yearly utility meters |
heatpump_spf_heating_period |
(B) True heating-season SPF (Oct–Apr) — see Seasonal performance |
sensors/heatpump.yaml – history-stats & statistics:
| Entity | Type | Description |
|---|---|---|
compressor_on_today |
History-Stats | Compressor starts today (cycling) |
compressor_on_yesterday |
History-Stats | Compressor starts yesterday |
heatpump_flow_temperature_24h_mean |
Statistics | Flow temperature, rolling 24 h mean |
heatpump_flow_temperature_at_compressor_24h_mean |
Statistics | 24 h mean of the flow temperature, only while the compressor runs |
utility_meter/heatpump.yaml – 30-day (monthly cycle) counters that feed heatpump_cop_30d:
| Entity | Description |
|---|---|
wp_consumed_heating_30d |
Consumed electricity for heating, monthly cycle |
wp_consumed_water_heating_30d |
Consumed electricity for DHW, monthly cycle |
wp_produced_heating_30d |
Produced heat for heating, monthly cycle |
wp_produced_water_heating_30d |
Produced heat for DHW, monthly cycle |
wp_consumed_heating_year |
(A) Consumed electricity for heating, yearly cycle |
wp_produced_heating_year |
(A) Produced heat for heating, yearly cycle |
Note: The
heatpump_cop_30dtemplate needs the four monthly meters. They reset on a monthly cycle, so the value represents the current month rather than a strict rolling 30 days.
The heat-pump industry number closest to a "seasonal COP" is the SPF (Seasonal Performance Factor) — Σ produced heat / Σ consumed electricity over a period. A true normative SCOP (EN 14825) is a rating value measured against a standardised reference climate and cannot be derived from field sensors. What you can build is a field SPF, and — because SCOP conventionally covers space heating only — the variants here use the heating counters (no DHW):
| Variant | Entity | Window | Notes |
|---|---|---|---|
| A | sensor.heatpump_spf_heating_season |
Calendar year (resets 1 Jan) | Simple; splits a heating season at New Year |
| B | sensor.heatpump_spf_heating_period |
Heating season Oct–Apr | One clean number per winter; live during the season, frozen afterwards |
Variant A needs only the two yearly utility meters. Variant B additionally
needs the helpers in helpers.yaml and the two automations in
automation/heatpump.yaml, which snapshot the total
counters at the season start (1 Oct) and keep the SPF updated through the season.
Both values only become meaningful during the heating season — in summer the pump barely does space heating, so they stay empty.
utility_metercannot back-fill, so counting starts from the moment you deploy them.
- Install the integration and
apexcharts-cardvia HACS. - Copy
templates/heatpump.yaml,sensors/heatpump.yamlandutility_meter/heatpump.yamlinto your own HA configuration and include the directories (see above). For the season SPF (B) also addhelpers.yamlandautomation/heatpump.yaml. Newutility_meterentities require a restart; templates/automations/helpers can be reloaded. - Create a new dashboard → ⋮ → Raw configuration editor → paste the contents
of
dashboard.yaml.
| Status | Energy | Settings |
|---|---|---|
![]() |
![]() |
![]() |
Note: the screenshots are intentionally kept in German (the author's Home Assistant UI language). The
dashboard.yamlin this repository uses English labels, so your own dashboard will render in English.
Note: the energy screenshot additionally shows the (house-specific) "Power & Energy" section with the Shelly 3EM readings. That section is not part of the published
dashboard.yaml, but it illustrates how the dashboard can be extended with your own power metering.


