Forum: Haus & Smart Home Doku Kamstrup KMP Protokoll für Wasserzähler flowIQ 2200 benötigt


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Manfred D. (manfred_d352)


Angehängte Dateien:

Lesenswert?

Ich habe kürzlich von meiner Gemeinde einen Kamstrup Hauswasserzähler 
"flowIQ 2200" installiert bekommen. Da ich bereits den Verbrauch meiner 
Strom- (Infrarot Lesekopf) und Gaszähler (Pulszähler mit Reed-Relais) 
automatisiert auslese und auswerte, möchte ich gerne den Wasserzähler 
ebenfalls mit meiner selbst erstellten Haussteuerung vollautomatisiert 
auslesen.

Dazu verwende ich einen IR Lesekopf (mit USB an Raspberry Pi) mit dem 
KMP Protokoll. Ich habe die Dokumentation des KMP Protokolls eines 
anderen Modells, das aber leider nur bei wenigen Befehlen gleich zu 
meinem Wasserzähler ist. Der Wasserzähler legt sich nach jedem Readout 
Schlafen. Ich bin gerade dabei einen Mini-Linear-Servo, an dem ein 
Magnet angebracht ist, am Meter anzubringen, um ihn immer vor dem Lesen 
aufzuwecken.

Einfache Werte (aktuelles Gesamtvolumen V1) kann ich so bereits 
erfolgreich mit einem C-Programm auslesen.

Ich würde nun auch gerne mehrere Werte, z.B. stündliche Werte über den 
Verlauf eines Tages oder gar einer Woche, mit z.B. nur einem Aufruf je 
Tag/Woche, erhalten. Diese Protokoll-Details habe ich leider nicht.

Ich konnte diesen Mehrfach-Read (24 Werte von Vortag) auch erfolgreich 
mit der Kamstrup LogView HCW Software und meinem IR Head auslesen. Ich 
konnte sogar mittels USB Sniffer alle betroffenen Hex-Werte der Requests 
und Responds mitschneiden. Aber die Analyse der Kommunikation ist ohne 
Beschreibung elendig aufwändig bis ev. unmöglich. Siehe Anhang. Der 
Request 5375 liefert z.B. im Response 16x Floats mit den korrekten m3 
Werten. Request 6147 die restlichen 8x. Aber wie ich im Detail die 
Requests modelliere weiß ich leider (noch) nicht.

Daher meine Frage: Hat jemand eine ausführliche Dokumentation des KMP 
Protokolls speziell für den flowIQ 2200? D.h. die Beschreibung aller 
Hexadezimalwerte für Datenformate, der Einheiten und Register IDs und 
vor allem die detaillierte Struktur der Applikationsbefehle (Requests) 
und deren Antworten (Responses)?

von Musik og F. (musikog_f)


Lesenswert?

Welcher ist es denn genau?
KWM2231-02-K-und dann?
Wie geht denn der Messstellenbetreiber den Zäher an? NB-ioT, wireless 
M-Bus, LoRaWan, linkIQ...?
Da ist nicht zufällig auch ein Blauzahn mit drin?

Du bist schon sehr weit im reverse Engineering von Kamstrup 
Metertool/LogVIEW. Um ehrlich zu sein: Wir haben in der Firma eine 
Lizenz vom Original. Da funktioniert die komplette proprietäre Sauce 
natürlich. Und wenn du eine Sample Rate von 1/Tag erreichst bist du was 
Wasserverbrauch normal gut dabei.

Das dumme bei der IR Schnittstelle und Metertool ist, du bekommst den 
0-Verbrauchsalarm und den Burstalarm nicht. Dafür brauchst du 
kurzfristigere Differentiale. Bei meinen Zählern privat fängt der 
Messstellenbetreiber die Alarme und leitet sie weiter (auf SMS & email). 
Ich muss das nicht selber machen.

BTW: Wenn wir GLT machen bestellen beim Messstellenbetreiber Zähler mit 
seriellem Ausgang. Das ist dann die einfachere, sichere Lösung.

Folgendes ist bekannt?
https://koce1-kamstrup.ocecdn.oraclecloud.com/content/published/api/v1.1/assets/CONT3156B1DCD81842D5BF4D09286B1E9D45/native/55122097_D1_GB.pdf?channelToken=ed241bbb18f444908a8fc9ed97ca5d5b

: Bearbeitet durch User
von Manfred D. (manfred_d352)


Angehängte Dateien:

Lesenswert?

Der Typ ist 02-K-51-A-A-2D-8DE. Soweit ich es beurteilen kann, wird mit 
Drive-By über Wireless M-Bus ausgelesen. Kein Bluetooth.

Der Burst-Alarm ist mir egal, da so einer hier eh nur bei Auslesung 
(worst case 1x im Jahr) erkannt wird und ich einen aktiven Leckageschutz 
gleich nach dem Zähler habe.

Was meinst du mit "Lizenz vom Original"? Die Tools kann sich ja jeder 
runterladen. Habt ihr dann auch die KMP Protokoll-Doku?

Die METERTOOL HCW Beschreibung nützt mir leider nichts. Darin wird nicht 
das Protokoll beschrieben.

Was ich brauche ist die KMP Protokoll-Doku spezielle für den flowIQ 
2200. Z.B. die genaue Beschreibung des "B8" Befehls. Es ist sehr 
wahrscheinlich der "Lese Logger Daten" Code. Den "10" Befehl (lese 1 
Register) habe ich in der Doku des anderen Meters (Multical 601/801) 
beschrieben. Und der funktioniert.

Im Anhang übrigens der aktuelle Stand der Analyse eines Lesevorgangs mit 
LogView HCW. Links die beiden Requests. Erst der für 16 dann für 8 
Werte. Rechts die beiden Responses mit den verifizierten m3 Werten. Was 
ich noch nicht weiß ist die Bedeutung der Zellen Rot auf Hellrot.

: Bearbeitet durch User
von Manfred D. (manfred_d352)


Lesenswert?

Nur um das Thema hier abzuschließen:

Ich konnte nun die von der Kamstrup LogView HCW-Software an und von 
meinem flowIQ 2200 gesendeten Anfragen und Antworten, um mehr als nur 
einen Wert zu lesen, fast vollständig analysieren und aufschlüsseln. 
Nach allen Untersuchungen sieht es sogar einfach aus :-)

Der Zähler speichert die Stundenwerte (Datum, Uhrzeit, V1 m3-Wert) in 
einem Ringpuffer mit 2400 Werten (= 100 Tage mit je 24 Werten).

Um den richtigen Startindex für die 24-Stunden-Werte (00:00 ... 23:00) 
des Vortages (oder eines beliebigen Tages innerhalb der letzten 100 
Tage) herauszufinden, muss ich nur Index 0 lesen, um dieses Datum und 
Zeit zu erhalten und berechne dann den erforderlichen Offset, um den 
gewünschten Datums- und Zeitbereich zu erreichen

Dann lese ich in 2 Schritten (erst 16 dann 8 Werte; so macht LogView 
das) die 24 Werte.

Viele Grundlagen der KMP-Protokolldokumentation für Multical 601/801 
sind immer noch gültig. Z.B. die Berechnung von Datum, Uhrzeit, Integer 
und Floats. Auch die IDs der Register. Und am wichtigsten: die Syntax 
für den Ringpufferindex.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.