Kamstrup flowIQ 2200 Wasserzähler - IR auslesen

Hier nochmal die Abnahme der Batterielaufzeit
mit 120s, ca. 12 Stunden am Tag

Dann bist du laut deiner Anzeige aber doch sicher. Die Batterie wäre, wenn es linear so verläuft, erst nach ca. 30 Jahren leer.

Bei mir läuft es durch… werde es jetzt so lassen…wobei mir reichen würde alle 60min eine Abfrage zu senden. - leider nicht möglich ( stand heute )

1 „Gefällt mir“

Bin noch am Überlegen. Aktuell habe ich AI on the Edge und das komplett fehlerfrei.

Never Change a Running System :smile:

Welche Entitäten werden denn über ESP Home zur Verfügung gestellt?

Läuft weiterhin stabil und ohne murren…

1 „Gefällt mir“

Hallo

Passt das alles ?

Es sind bei meinem IR Kopf nur 1 MB

Hallo Community

Habe mir auch den WattWächter besorgt aber kämpfe noch mit regelmäßigen Abbrüchen die ich nur durch neu Aufsetzen lösen kann.

Die Position scheint sehr wichtig zu sein. Leider ist die 3D Schablone dabei auch keine wirkliche Hilfe. Das längste bisher waren 14h aber es bricht auch manchmal schon nach 4-6 wieder ab.

Jemand ne Idee wie man wirklich genau positioniert? Habe gemerkt das beim Zähler kurz Linien blinken wenn man den IR aufsetzt.

VG

Hat jemand zufällig eine Registermap für den flowIQ 2000? Ich würde gerne unter anderem noch Funktionen wie die Leckage- und Rohrbruch Detektion auslesen aber finde keine Informationen oder Hinweise in den MULTICAL Protocol descriptions.

(Beitrag vom Verfasser gelöscht)

@smart.home du verwendest demnach nicht Tasmota?

(Beitrag vom Verfasser gelöscht)

Hi zusammen,

da ich mich 2 Tage rumgeplagt habe, veröffentliche ich hier die (KI)Zusammenfassung meines KI Chats- vielleicht hilft es ja jemandem.

Ich wollte meinen Kamstrup flowIQ 2200 Wasserzähler über die Infrarotschnittstelle mit einem WattWächter-Lesekopf (basiert auf einem ESP8266 / ESP01) auslesen. Da der Kamstrup-Zähler im KMP-Protokoll funkt und zwingend 2 Stopbits sowie ein spezielles Timing verlangt, hat der Versuch mit Tasmota (SML/D0-Skript) leider zu Timeouts und Bootloops geführt.

Der Wechsel auf ESPHome war die perfekte Lösung, da der native kamstrup_kmp-Treiber die Hardware-Register fehlerfrei ansteuert. Da das Gerät anfangs mit Tasmota lief, konnte das Umflashen komplett drahtlos (OTA) durchgeführt werden.

Hier ist die Schritt-für-Schritt-Anleitung, wie es am Ende erfolgreich geklappt hat:


Schritt 1: ESPHome-Firmware in Home Assistant vorbereiten

  1. In Home Assistant unter ESPHome ein neues Gerät anlegen (z. B. Name: flowiq-2200).

  2. Die automatisch generierte YAML-Konfiguration öffnen (Edit).

  3. Die standardmäßig generierten Keys (api: encryption: key: und ota: password:) kopieren und zwischenspeichern.

  4. Den Code komplett durch die folgende Konfiguration ersetzen (eigene WLAN-Daten und die kopierten Keys eintragen):

esphome:
  name: flowiq-2200
  friendly_name: flowIQ 2200

esp8266:
  board: esp01_1m

logger:
  baud_rate: 0  # Wichtig! Schaltet den Logger auf RX/TX ab, damit der Zähler nicht gestört wird

api:
  encryption:
    key: "DEIN_GENERIERTER_API_KEY"

ota:
  - platform: esphome
    password: "DEIN_GENERIERTER_OTA_PASSWORD"

wifi:
  ssid: "DEIN_WLAN_NAME"
  password: "DEIN_WLAN_PASSWORT"
  ap:
    ssid: "Flowiq-2200 Fallback Hotspot"
    password: "12345678"

uart:
  baud_rate: 1200
  stop_bits: 2       # Kamstrup benötigt zwingend 2 Stopbits!
  tx_pin: GPIO1      # Standard-Pins des WattWächters
  rx_pin: GPIO3
  rx_buffer_size: 512

sensor:
  - platform: kamstrup_kmp
    id: kamstrup_live
    update_interval: 120s  # Wichtig! Nicht zu niedrig wählen, um die Zähler-Batterie zu schonen
    custom:
      - name: Volume
        command: 0x0044    # Register für den Gesamtzählerstand
        unit_of_measurement: "m³"
        accuracy_decimals: 5
        state_class: "total_increasing"
        device_class: "water"

      - name: Battery days left
        id: battery_days
        command: 0x0246    # Register für die verbleibenden Batterietage
        unit_of_measurement: "days"
        accuracy_decimals: 1

  # Berechnet die Batterie-Restlaufzeit zusätzlich in Jahren und Prozent
  - platform: copy
    source_id: battery_days
    name: "Battery lifetime percent"
    unit_of_measurement: "%"
    accuracy_decimals: 1
    filters:
      - lambda: return (x / (16.0 * 365.0)) * 100.0;

  - platform: copy
    source_id: battery_days
    name: "Battery lifetime decimal years"
    unit_of_measurement: "a"
    accuracy_decimals: 2
    filters:
      - lambda: return x / 365.0;

text_sensor:
  - platform: template
    name: "Battery lifetime Y/M/D"
    update_interval: 60s
    lambda: |-
      if (isnan(id(battery_days).state) || id(battery_days).state < 0) return {"unknown"};
      int total_days = (int) roundf(id(battery_days).state);
      int years = total_days / 365;
      int rem_days = total_days % 365;
      int months = rem_days / 30;
      int days = rem_days % 30;
      char buffer[32];
      sprintf(buffer, "%dJ %dM %dT", years, months, days);
      return {buffer};

  1. Oben rechts auf die drei Punkte klicken → InstallManual Download wählen.

  2. Nach dem Kompilieren die fertige .bin-Datei auf den PC herunterladen.


Schritt 2: WattWächter drahtlos umflashen (Tasmota → ESPHome)

Weil eine vollwertige ESPHome-Firmware zu groß für ein direktes Upgrade über ein Standard-Tasmota ist, muss der Zwischenschritt über das Tasmota-Minimal-Image gegangen werden:

  1. Die Tasmota-Weboberfläche des WattWächters im Browser öffnen.

  2. Auf Firmware Upgrade gehen.

  3. Im Feld Upgrade by web server folgende URL eintragen und starten:
    http://tasmota.com
    (das hat bei mir nicht funktioniert. Ich habe die Datei manuell heruntergeladen und als File installiert)

  4. Nach dem automatischen Neustart (die Oberfläche sieht nun sehr simpel aus) erneut auf Firmware Upgrade gehen.

  5. Unten bei Upgrade by file upload die zuvor heruntergeladene ESPHome-.bin-Datei auswählen und hochladen.

  6. Der WattWächter startet neu, bucht sich ins Heim-WLAN ein und ist ab sofort nativ in Home Assistant als ESPHome-Gerät integriert.


Schritt 3: Der zwingende Hardware-Trick (Die 12-Stunden-Sperre lösen)- Wenn es wie bei mir nicht gleich funktioniert

Kamstrup-Wasserzähler besitzen einen Batterieschutz: Wird die Infrarotschnittstelle zu oft mit fehlerhaften Befehlen oder falschem Timing (wie zuvor unter Tasmota) konfrontiert, verriegelt sich die IR-Schnittstelle des Zählers automatisch für 12 Stunden und ignoriert jede Anfrage.

Damit sofort Daten fließen, muss der Zähler manuell aufgewecken werden:

  1. Den WattWächter-Lesekopf physisch vom Wasserzähler abnehmen.

  2. Mit einer starken Taschenlampe (z. B. Smartphone-Licht) für ca. 15 bis 20 Sekunden direkt auf das Infrarot-Auge des Wasserzählers leuchten. Das setzt die Sperre zurück.

  3. Den WattWächter-Lesekopf sofort wieder passgenau aufsetzen. Wichtig: Das Kabel muss dabei nach oben (in Richtung des Zähler-Displays) wegführen!

Sobald das Licht den Zähler aufgeweckt hat, verschwinden im ESPHome-Live-Log (Logs) die Request timed out-Meldungen. Der Zähler liefert sofort den exakten m³-Stand sowie die Batterie-Restzeit (z. B. 13J 2M 10T).

Da der Sensor im Skript perfekt deklariert ist, lässt er sich danach ohne Umwege direkt in das Home Assistant Energie-Dashboard unter Wasserverbrauch einbinden.

Vielleicht hilft diese Anleitung dem nächsten, der vor derselben Herausforderung steht!

Grüße
Jens

Danke für die wertvollen Hinweise.

verstehe ich das nun richtig, dass die Daten dauerhaft und ohne Abbrüche kommen?

Was war der Grund für die Sperre und wie umgehst du sie dauerhaft. Das kann ich gerade nicht ganz nachvollziehen.

Wie lange ich Daten bekomme, muss ich erst sehen. Bei mir kamen gar keine Daten an.

Der Grund für die Sperre war scheinbar das viele rumprobieren, der Magnet hat die Abfrage aktiviert (zu erkennen am Blinkenden Rahmen und den Zählerstand), aber der Zähler hat nicht kommuniziert, wahrscheinlich wegen falscher GPIO Settings. Irgendwann verriegelt der Wasserzähler, um Strom zu sparen. Ich werde sehen, wie lange es klappt.

Wenn bei Dir AI on the edge läuft, warum willst du überhaupt umsteigen? Das ist doch, wenn es mal läuft, die stabilste Lösung, oder?

Bei mir ging das nicht, weil darüber ein Abwasserrohr verläuft, da wäre nicht genügend Platz gewesen.

Umsteigen kommt nur in Frage, wenn es über IR tatsächlich dauerhaft läuft.

Warum ich es in Betracht ziehe: AI ist so feinjustiert, dass man, wenn man mal im Keller hantiert, nicht an die Gerätschaft kommen darf. Der kleinste „Wackler“ macht die Einstellung zu Nichte. Bei der IR Lösung wäre das dann nicht mehr unbedingt das Problem.

Ich bevorzuge generell eher die Datenübermittlung per IR als per Kamera dauerhaft Fotos zu schießen (was durchaus genial ist) :slight_smile:

Vielleicht wäre es einen Versuch wert, den individuellen Wireless-M-Bus-Verschlüsselungsschlüssel offiziell über „My Kamstrup“ anzufragen.

Kamstrup beschreibt in einer Anleitung von August 2024 folgenden Weg:

  1. ein Konto bei mykamstrup.com anlegen,

  2. per E-Mail an mykamstrup@kamstrup.com den Zugriff auf den eigenen Zähler beantragen,

  3. Seriennummer und zweistelligen Gerätecode registrieren,

  4. prüfen, ob der Schlüssel im Bereich „ENCRYPTION KEYS“ zum Download bereitsteht.

Ich habe diesen Weg selbst nicht getestet und kann nicht sagen, ob er bei jedem Zählermodell oder in jedem Besitzverhältnis funktioniert. Als mögliche Lösung des Problems wäre es aber sicher sinnvoll, diesen offiziellen Weg einmal auszuprobieren.

1 „Gefällt mir“

Danke für den Hinweis. Nach dem Login gibt es links einen Menübutton „Encryption Keys“, dort scheint man mit Seriennumer einen Abruf machen zu können.

Bin gerade auf Arbeit und habe diese nicht zur Hand. Kann es jemand von Euch testen, ob man direkt abrufen kann? Oder erst Email schrieben wie im Post? Email habe ich eben geschrieben. Mal sehen was passiert.

Update Email:

Der direkte Käufer der Kamstrup Zähler (z. B. Händler, Installateur, usw.) ist alleiniger Besitzer der Verschlüsselungsschlüssel. Die Weitergabe kann und darf auschließlich durch diesen erfolgen, auch um den Datenschutz zu gewährleisten.

Kontaktieren Sie bitte die Stadtwerke

Die Stadt rückt die Keys wie bei anderen nicht raus…

Danke für die Rückmeldung.

Da Kamstrup den Schlüssel nicht direkt herausgibt und die Stadtwerke ihn offenbar ebenfalls verweigern, könnte man noch prüfen, ob es dafür einen rechtlichen Weg gibt.

Ich lebe nicht in Deutschland und kenne euer Recht nicht. Das ist daher keine rechtliche Einschätzung, sondern nur ein möglicher Ansatz.

Vielleicht lohnt es sich, bei einer Verbraucherzentrale oder der zuständigen Stelle nachzufragen, ob der EU Data Act zumindest einen maschinenlesbaren Zugang zu den eigenen Zählerdaten verlangt und ob daraus eventuell auch ein Anspruch auf den benötigten AES-Schlüssel abgeleitet werden kann.

Ob das tatsächlich greift, weiß ich nicht. Ich würde diese Möglichkeit aber zumindest prüfen.
Verordnung (EU) 2023/2854 – EU Data Act

Jepp, ich habe exakt die selbe Antwort erhalten :winking_face_with_tongue:.

Ich warte jetzt mal, ob die IR Abfrage dauerhaft funktioniert. Dann sehe ich eigentlich keinen Grund, auf M-Bus umzustellen. Ich müsste erneut Hardware kaufen.

Ansonsten würde ich den rechtlichen Weg ggf nochmal prüfen.

Finde schon spannend, den Verlauf des Wasserverbrauchs zu sehen.

Heute Nacht zwischen 3:00 und 4:00 habe ich 27l verbraucht. Erst dachte ich an einen Fehler, aber das war die Entkalkungsanlage, die regeneriert hat…

Da ich aus Polen komme, kenne ich eure rechtlichen und vertraglichen Regelungen in Deutschland nicht genau.

Bei uns wird das Problem teilweise recht pragmatisch gelöst: Wenn bereits ein individueller Wasserzähler vorhanden ist, aber die Hausverwaltung den AES-Schlüssel nicht herausgibt, verwendet man – sofern der Zähler dafür geeignet ist – einen nichtinvasiven Funk- oder Impulsaufsatz, zum Beispiel ein kompatibles Modul von Apator oder einem anderen Hersteller.

Wenn kein individueller Wasserzähler vorhanden ist oder man eine vollständig unabhängige Messung haben möchte, kann man zusätzlich hinter dem Abrechnungszähler einen eigenen Wasserzähler mit Funkmodul installieren.

Ihr habt hier bereits eine andere nichtinvasive Lösung über die IR-Schnittstelle umgesetzt.

Ob solche Lösungen in Deutschland ohne Zustimmung zulässig sind, kann ich nicht beurteilen.