{"id":1290,"date":"2026-07-19T18:11:33","date_gmt":"2026-07-19T16:11:33","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=1290"},"modified":"2026-07-19T18:11:33","modified_gmt":"2026-07-19T16:11:33","slug":"counter-helper-fuer-waermepumpen-diagnostik","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/counter-helper-fuer-waermepumpen-diagnostik\/","title":{"rendered":"Counter-Helper f\u00fcr W\u00e4rmepumpen-Diagnostik"},"content":{"rendered":"<p>Wer eine W\u00e4rmepumpe in Home Assistant integriert hat \u2013 bei mir eine CTA mit Modbus-Anbindung \u2013 kennt das Problem: Es gibt unz\u00e4hlige Sensoren f\u00fcr Vorlauftemperatur, Quellentemperatur, Verdichterlast und COP, aber die f\u00fcr die Lebensdauer entscheidende Kennzahl bleibt oft unsichtbar: Wie oft startet der Verdichter pro Tag? Eine Anlage, die 20-mal pro Tag startet, taktet zu stark; eine, die 4- bis 6-mal startet, l\u00e4uft gesund. Genau hier sind die unscheinbaren Counter-Helper in HA Gold wert. Sie z\u00e4hlen verl\u00e4sslich, persistieren \u00fcber Neustarts hinweg und lassen sich mit zwei Zeilen Automation t\u00e4glich zur\u00fccksetzen. Hier eine kompakte Schritt-f\u00fcr-Schritt-Anleitung.<\/p>\n<h2>Idee: Verdichter-Starts und Warmwasserladungen pro Tag<\/h2>\n<p>Zwei Counter-Helper bilden das R\u00fcckgrat: <code>counter.cta_verdichter_starts_heute<\/code> z\u00e4hlt jeden \u00dcbergang von \u00abaus\u00bb auf \u00abein\u00bb des Verdichters, <code>counter.cta_warmwasser_ladungen_heute<\/code> macht dasselbe f\u00fcr den Warmwasser-Lade-Zyklus. Diese beiden Zahlen verraten mehr \u00fcber Anlagengesundheit als jede beliebige Momentaufnahme \u2013 und sie sind die Voraussetzung f\u00fcr eine sinnvolle Wochenstatistik.<\/p>\n<h2>Schritt 1: Counter-Helper anlegen<\/h2>\n<p>\u00dcber Einstellungen \u2192 Ger\u00e4te &#038; Dienste \u2192 Helfer \u2192 \u00abHelfer erstellen\u00bb \u2192 Counter zwei Entit\u00e4ten anlegen:<\/p>\n<pre><code>\ncounter:\n  cta_verdichter_starts_heute:\n    name: CTA Verdichter Starts heute\n    initial: 0\n    step: 1\n    minimum: 0\n    restore: true\n    icon: mdi:counter\n  cta_warmwasser_ladungen_heute:\n    name: CTA Warmwasser Ladungen heute\n    initial: 0\n    step: 1\n    minimum: 0\n    restore: true\n    icon: mdi:water-boiler\n<\/code><\/pre>\n<p>Wichtig ist <code>restore: true<\/code> \u2013 sonst werden die Werte bei jedem HA-Neustart auf null gesetzt, und die Tageszahl ist \u00fcber den ganzen Tag betrachtet wertlos.<\/p>\n<h2>Schritt 2: Automation f\u00fcr die Z\u00e4hlung<\/h2>\n<p>Die Z\u00e4hlung selbst ist denkbar einfach. Ich nutze die bin\u00e4ren Sensoren, die mein Modbus-Setup ohnehin liefert: <code>binary_sensor.cta_verdichter_aktiv<\/code> und <code>binary_sensor.cta_warmwasser_ladung_aktiv<\/code>. Beide gehen von \u00aboff\u00bb auf \u00abon\u00bb, wenn der jeweilige Zyklus startet.<\/p>\n<pre><code>\nautomation:\n  - alias: CTA Verdichter Start zaehlen\n    trigger:\n      - platform: state\n        entity_id: binary_sensor.cta_verdichter_aktiv\n        from: \"off\"\n        to: \"on\"\n    action:\n      - service: counter.increment\n        target:\n          entity_id: counter.cta_verdichter_starts_heute\n\n  - alias: CTA Warmwasser Ladung zaehlen\n    trigger:\n      - platform: state\n        entity_id: binary_sensor.cta_warmwasser_ladung_aktiv\n        from: \"off\"\n        to: \"on\"\n    action:\n      - service: counter.increment\n        target:\n          entity_id: counter.cta_warmwasser_ladungen_heute\n<\/code><\/pre>\n<p>Ein h\u00e4ufiger Fehler: Wer als Trigger nur \u00abto: on\u00bb definiert, riskiert Doppelz\u00e4hlungen, weil HA bei jedem Reconnect des Modbus-Slave einen State-Change ausl\u00f6sen kann. Mit explizitem <code>from: \"off\"<\/code> ist man auf der sicheren Seite.<\/p>\n<h2>Schritt 3: T\u00e4glicher Reset<\/h2>\n<p>Damit aus dem Z\u00e4hler keine Lebenszeit-Statistik wird, braucht es einen Reset um Mitternacht \u2013 aber erst, nachdem die Tageszahl in der HA-History persistiert wurde, sonst geht die ganze Historie verloren. Drei Minuten Puffer reichen.<\/p>\n<pre><code>\nautomation:\n  - alias: CTA Verdichter Startzaehler reset\n    trigger:\n      - platform: time\n        at: \"00:03:00\"\n    action:\n      - service: counter.reset\n        target:\n          entity_id:\n            - counter.cta_verdichter_starts_heute\n            - counter.cta_warmwasser_ladungen_heute\n<\/code><\/pre>\n<h2>Schritt 4: Warnschwelle und Push-Benachrichtigung<\/h2>\n<p>Der eigentliche Mehrwert kommt mit einer Schwellenwert-Warnung. Wer den Wert \u00abmehr als 15 Verdichter-Starts pro Tag bei Aussentemperaturen \u00fcber 5 \u00b0C\u00bb kennt, wird sofort hellh\u00f6rig: Das deutet auf falsche Heizkurve, zu kleine Pufferspeicher oder defekte Umw\u00e4lzpumpe hin.<\/p>\n<pre><code>\nautomation:\n  - alias: CTA Verdichter taktet stark warnen\n    trigger:\n      - platform: numeric_state\n        entity_id: counter.cta_verdichter_starts_heute\n        above: 15\n    condition:\n      - condition: numeric_state\n        entity_id: sensor.weather_station_outdoor_aussentemperatur\n        above: 5\n    action:\n      - service: notify.mobile_app_iphone_17_pro\n        data:\n          title: \"CTA taktet\"\n          message: >\n            Verdichter heute schon {{ states('counter.cta_verdichter_starts_heute') }}\u00d7 gestartet\n            bei {{ states('sensor.weather_station_outdoor_aussentemperatur') }} \u00b0C draussen.\n          data:\n            push:\n              interruption-level: time-sensitive\n<\/code><\/pre>\n<h2>Visualisierung im Dashboard<\/h2>\n<p>Eine sch\u00f6ne Lovelace-Karte zeigt beide Counter mit Tendenz-Pfeil:<\/p>\n<pre><code>\ntype: glance\nentities:\n  - entity: counter.cta_verdichter_starts_heute\n    name: Verdichter\n  - entity: counter.cta_warmwasser_ladungen_heute\n    name: Warmwasser\nstate_color: true\n<\/code><\/pre>\n<p>Wer es eleganter mag, kombiniert die Counter mit der <code>statistics<\/code>-Plattform und schreibt einen 7-Tage-Mittelwert in einen Template-Sensor \u2013 ideal f\u00fcr die w\u00f6chentliche Auswertung. F\u00fcr die Anbindung der CTA selbst lohnt der Blick in den bestehenden Artikel zu <a href=\"https:\/\/www.coremind.ch\/wordpress\/\">Heizkurve Hold via input_number<\/a>.<\/p>\n<h2>Fazit<\/h2>\n<p>Counter-Helper sind eines der unscheinbarsten und zugleich n\u00fctzlichsten Werkzeuge in HA. F\u00fcr eine W\u00e4rmepumpe bedeuten sie den Unterschied zwischen \u00abirgendwas l\u00e4uft hier komisch\u00bb und \u00abgestern 21 Starts bei 8 \u00b0C \u2013 Heizkurve runter\u00bb. Die ganze Implementierung steht in zwei Counter-Definitionen, zwei Z\u00e4hl-Automationen und einer Reset-Automation. Wer einmal eine Woche lang die Tageswerte trackt, hat eine Datenbasis, mit der sich Heizkurve, Pufferspeicher-Strategie und Brauchwasser-Zeiten objektiv optimieren lassen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer eine W\u00e4rmepumpe in Home Assistant integriert hat \u2013 bei mir eine CTA mit Modbus-Anbindung \u2013 kennt das Problem: Es gibt unz\u00e4hlige Sensoren f\u00fcr Vorlauftemperatur, Quellentemperatur, Verdichterlast und COP, aber die f\u00fcr die Lebensdauer entscheidende Kennzahl bleibt oft unsichtbar: Wie oft startet der Verdichter pro Tag? Eine Anlage, die 20-mal pro Tag startet, taktet zu &#8230; <a title=\"Counter-Helper f\u00fcr W\u00e4rmepumpen-Diagnostik\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/counter-helper-fuer-waermepumpen-diagnostik\/\" aria-label=\"Mehr Informationen \u00fcber Counter-Helper f\u00fcr W\u00e4rmepumpen-Diagnostik\">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-1290","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1290","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=1290"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1290\/revisions"}],"predecessor-version":[{"id":1415,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1290\/revisions\/1415"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=1290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=1290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=1290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}