{"id":681,"date":"2026-05-26T11:34:54","date_gmt":"2026-05-26T09:34:54","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=681"},"modified":"2026-05-26T11:34:54","modified_gmt":"2026-05-26T09:34:54","slug":"waermepumpen-health-check-in-ha-cta-warnungen-und-taktzaehler","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/waermepumpen-health-check-in-ha-cta-warnungen-und-taktzaehler\/","title":{"rendered":"W\u00e4rmepumpen-Health-Check in HA: CTA-Warnungen und Taktz\u00e4hler"},"content":{"rendered":"<p>Eine W\u00e4rmepumpe l\u00e4uft im Idealfall jahrzehntelang unauff\u00e4llig. Auff\u00e4llig wird sie meist erst, wenn sie nicht mehr l\u00e4uft \u2013 oder wenn die Stromrechnung im Februar drei Hauben h\u00f6her ausf\u00e4llt als im Vorjahr. In Home Assistant l\u00e4sst sich ein eigener <strong>Health-Check<\/strong> f\u00fcr die W\u00e4rmepumpe bauen, der typische Symptome fr\u00fch erkennt: zu kurze Verdichter-Takte, zu schmale Spreizung im Heizkreis, COP-Warnungen oder ein Durchfluss-Problem. Bei einer CTA (CTC EcoZenith \/ CTA-AG-Anlage) h\u00e4ngen die n\u00f6tigen Signale bereits \u00fcber Modbus in HA. Wer eine andere Marke f\u00e4hrt \u2013 Nibe, Stiebel, Lambda, Buderus \u2013 findet dort vergleichbare Sensoren \u00fcber die jeweilige Integration.<\/p>\n<h2>Welche Signale ein Health-Check braucht<\/h2>\n<p>Ein sinnvoller W\u00e4rmepumpen-Monitor besteht aus drei Schichten: <strong>Roh-Sensoren<\/strong> (Temperaturen, Verdichterzustand, Volumenstrom), <strong>abgeleitete Indikatoren<\/strong> (COP, Spreizung, Taktverhalten) und <strong>Warnungen<\/strong>, die nur auf Eingriffe oder Service-Anrufe zeigen.<\/p>\n<p>Bei einer CTA \u00fcber Modbus stehen unter anderem zur Verf\u00fcgung: <code>binary_sensor.cta_heizbetrieb_aktiv<\/code>, <code>binary_sensor.cta_verdichter_aktiv<\/code>, <code>binary_sensor.cta_solepumpe_aktiv<\/code>, <code>binary_sensor.cta_heizkreispumpe_aktiv<\/code>, <code>binary_sensor.cta_warmwasser_ladung_aktiv<\/code> plus die fertigen Warnungen <code>binary_sensor.cta_cop_warnung<\/code>, <code>binary_sensor.cta_durchfluss_hk_warnung<\/code>, <code>binary_sensor.cta_spreizung_hk_warnung<\/code>, <code>binary_sensor.cta_spreizung_quelle_warnung<\/code>, <code>binary_sensor.cta_verdichterlast_warnung<\/code> und <code>binary_sensor.cta_verdichter_taktet_stark<\/code>. Letztere ist der schnellste Krankheitsindikator \u2013 h\u00e4ufiges Takten heisst meistens: Heizkurve zu hoch oder Pufferspeicher zu klein.<\/p>\n<h2>Taktz\u00e4hler t\u00e4glich aufsetzen<\/h2>\n<p>Verdichter-Starts pro Tag sind der wichtigste Single-Wert. Eine gut dimensionierte W\u00e4rmepumpe macht typischerweise 2\u20136 Starts pro Tag im Winter, kaum welche im Fr\u00fchling\/Herbst, eventuell 1\u20132 Starts f\u00fcr Warmwasser. Mehr als 10 Starts\/Tag in der \u00dcbergangszeit deuten auf eine Fehlanpassung hin \u2013 meist Heizkurve oder hydraulische Weiche.<\/p>\n<p>In HA reicht ein einfacher Counter mit Reset:<\/p>\n<pre><code>\u2029counter:\u2029  cta_verdichter_starts_heute:\u2029    name: CTA Verdichter Starts heute\u2029    initial: 0\u2029    step: 1\u2029  cta_warmwasser_ladungen_heute:\u2029    name: CTA Warmwasser Ladungen heute\u2029    initial: 0\u2029    step: 1\u2029\u2029automation:\u2029  - id: cta_verdichter_start_zaehlen\u2029    alias: CTA Verdichter Start z\u00e4hlen\u2029    trigger:\u2029      - platform: state\u2029        entity_id: binary_sensor.cta_verdichter_aktiv\u2029        from: \"off\"\u2029        to: \"on\"\u2029    action:\u2029      - service: counter.increment\u2029        target:\u2029          entity_id: counter.cta_verdichter_starts_heute\u2029\u2029  - id: cta_verdichter_zaehler_reset\u2029    alias: CTA Verdichter Startz\u00e4hler reset\u2029    trigger:\u2029      - platform: time\u2029        at: \"00:00:00\"\u2029    action:\u2029      - service: counter.reset\u2029        target:\u2029          entity_id:\u2029            - counter.cta_verdichter_starts_heute\u2029            - counter.cta_warmwasser_ladungen_heute\u2029<\/code><\/pre>\n<p>So sieht man morgens auf dem Dashboard, wieviele Verdichter-Starts in der Nacht passiert sind. Wer die Werte in HA-Statistics als <code>state_class: total_increasing<\/code> speichert (\u00fcber Customize), bekommt ein Langzeitdiagramm gratis dazu und sieht, wie das Taktverhalten \u00fcber Monate driftet.<\/p>\n<h2>Warnungen sammeln und priorisieren<\/h2>\n<p>Sinnvoll ist ein zusammengefasster Warnungs-Sensor, der alle relevanten Einzelwarnungen b\u00fcndelt:<\/p>\n<pre><code>\u2029template:\u2029  - binary_sensor:\u2029      - name: \"CTA Health Warnung\"\u2029        unique_id: cta_health_warnung\u2029        device_class: problem\u2029        state: &gt;\u2029          {{ is_state('binary_sensor.cta_cop_warnung','on')\u2029             or is_state('binary_sensor.cta_durchfluss_hk_warnung','on')\u2029             or is_state('binary_sensor.cta_spreizung_hk_warnung','on')\u2029             or is_state('binary_sensor.cta_spreizung_quelle_warnung','on')\u2029             or is_state('binary_sensor.cta_verdichterlast_warnung','on')\u2029             or is_state('binary_sensor.cta_verdichter_taktet_stark','on') }}\u2029        attributes:\u2029          aktiv: &gt;\u2029            {%- set entities = [\u2029              'binary_sensor.cta_cop_warnung',\u2029              'binary_sensor.cta_durchfluss_hk_warnung',\u2029              'binary_sensor.cta_spreizung_hk_warnung',\u2029              'binary_sensor.cta_spreizung_quelle_warnung',\u2029              'binary_sensor.cta_verdichterlast_warnung',\u2029              'binary_sensor.cta_verdichter_taktet_stark'] -%}\u2029            {{ entities | select('is_state','on') | list }}\u2029<\/code><\/pre>\n<p>Auf dem Dashboard wird der Sensor rot, sobald irgendeine Einzelwarnung aktiv ist. Im Attribut <code>aktiv<\/code> steht die konkrete Liste \u2013 n\u00fctzlich f\u00fcr Push-Benachrichtigungen, die nicht nur \u00abWarnung\u00bb schreien, sondern auch direkt die Ursache mitliefern.<\/p>\n<h2>Push und Auto-Eskalation<\/h2>\n<p>Eine einfache Push-Automation an das eigene Smartphone bringt das System zu Ende:<\/p>\n<pre><code>\u2029automation:\u2029  - id: cta_warnung_push\u2029    alias: CTA Warnung Push\u2029    trigger:\u2029      - platform: state\u2029        entity_id: binary_sensor.cta_health_warnung\u2029        to: \"on\"\u2029        for:\u2029          minutes: 10\u2029    action:\u2029      - service: notify.mikes_iphone_17_pro\u2029        data:\u2029          title: \"W\u00e4rmepumpe \u2013 Warnung aktiv\"\u2029          message: \"Aktive Warnungen: {{ state_attr('binary_sensor.cta_health_warnung','aktiv') | join(', ') }}\"\u2029          data:\u2029            tag: cta-health\u2029            url: \"\/lovelace\/heizung\"\u2029<\/code><\/pre>\n<p>Das <code>for: 10 minutes<\/code> f\u00e4ngt kurze, harmlose Spitzen ab (z.B. ein einzelner Verdichter-Start l\u00f6st manchmal kurz die Spreizungs-Warnung aus). Die Push verlinkt direkt auf das passende Dashboard-View, damit man im Bett nicht erst durch HA klicken muss.<\/p>\n<h2>Was sich daraus \u00fcber Wochen ablesen l\u00e4sst<\/h2>\n<p>Wer die Health-Daten drei Monate sammelt, sieht typische Muster: An Tagen mit sehr starker Sonneneinstrahlung sinkt die Anzahl der Verdichter-Starts, weil das Haus passiv aufgeheizt wird. An sehr kalten Tagen steigt sie deutlich \u2013 ein guter Indikator f\u00fcr die Auslegungsgrenze der Anlage. Wenn das Taktverhalten pl\u00f6tzlich vom Muster abweicht, ohne dass das Wetter eine Erkl\u00e4rung liefert, ist das ein klares Signal f\u00fcr Service. Wer den Vorlauf der Heizkurve dynamisch h\u00e4lt (zum Beispiel \u00fcber <code>input_number.cta_vorlauf_heizkurve_hold<\/code>), kann den Effekt der eigenen Hold-Logik mit den Taktz\u00e4hlern direkt validieren \u2013 mehr dazu im Beitrag <a href=\"https:\/\/www.coremind.ch\/wordpress\/shelly-plus-1-pm-in-ha-verbrauch-schutzlogik\/\">Shelly Plus 1 PM in HA \u2013 Verbrauch und Schutzlogik<\/a>, wo das gleiche Prinzip f\u00fcr einzelne Stromkreise gezeigt wird.<\/p>\n<h2>Fazit<\/h2>\n<p>Mit drei Bausteinen \u2013 Counter, Template-Warnung, Push-Automation \u2013 wird aus den ohnehin vorhandenen Modbus-Sensoren ein vollwertiger W\u00e4rmepumpen-Health-Check in HA. Aufwand: zwei Stunden f\u00fcr die Einrichtung. Nutzen: man sieht Fehlanpassungen, bevor sie auf der Stromrechnung sichtbar werden \u2013 und hat im Servicefall eine saubere Datenbasis, statt nur einem leeren Tank.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine W\u00e4rmepumpe l\u00e4uft im Idealfall jahrzehntelang unauff\u00e4llig. Auff\u00e4llig wird sie meist erst, wenn sie nicht mehr l\u00e4uft \u2013 oder wenn die Stromrechnung im Februar drei Hauben h\u00f6her ausf\u00e4llt als im Vorjahr. In Home Assistant l\u00e4sst sich ein eigener Health-Check f\u00fcr die W\u00e4rmepumpe bauen, der typische Symptome fr\u00fch erkennt: zu kurze Verdichter-Takte, zu schmale Spreizung im &#8230; <a title=\"W\u00e4rmepumpen-Health-Check in HA: CTA-Warnungen und Taktz\u00e4hler\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/waermepumpen-health-check-in-ha-cta-warnungen-und-taktzaehler\/\" aria-label=\"Mehr Informationen \u00fcber W\u00e4rmepumpen-Health-Check in HA: CTA-Warnungen und Taktz\u00e4hler\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-681","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=681"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/681\/revisions"}],"predecessor-version":[{"id":686,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/681\/revisions\/686"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}