FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: viegener am 17 April 2017, 19:03:38

Titel: Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 17 April 2017, 19:03:38
Nachdem ich lange mit verschiedenen fertigen Lösungen experimentiert habe, habe ich doch ein eigenes Modul (und Arduino firmware) zum Auslesen eines Kamstrup 382Lx3 (und ähnlicher ?) Zähler geschrieben. Da dieser Zähler wohl ein proprietäres Protokoll über sein IR-Schnittstelle spricht war etwas reverse engineering angesagt. Dabei habe ich davon profitiert, das es dann doch ein wenig Doku zum Protokoll für die Multical-Zähler gibt und auch etwas Vorarbeit von jemandem in Dänemark: ( https://wiki.hal9k.dk/projects/kamstrup (https://wiki.hal9k.dk/projects/kamstrup) )

Benötigt wird ein Infrarot-Schreiblesekopf (zum Beispiel aus dem volkszählerprojekt mit TTL-Ausgang), den ich über einen Arduino mit ESP8266 per WLAN mit FHEM verbunden habe. Der Arduino wickelt das eigentlich Protokoll über den IR-Lesekopf ab.
(Wenn jemand ernsthaft nachbauen will, dann kann ich dazu auch mehr Infos dazu geben)

Das Modul fragt dann regelmässig Daten zu bestimmten Registern vom Zähler ab, Intervall und Register sowie die daraus entstehenden Readings sind konfigurierbar.

Modul und der Arduino-Code finden sich immer aktuell in meinem github-Repository:

https://github.com/viegener/Telegram-fhem (https://github.com/viegener/Telegram-fhem)

Im Kamstrup-Verzeichnis das Modul 54_Kamstrup.pm (mit Doku)
Im Kamstrup.Arduino-Verzeichnis der Sketch für den Arduino

Zumindest für andere Kamstrupzähler sollte sich das Modul auch verwenden lassen (z.B. Multical-Zähler von Kamstrup)
Eine Anpassung an beliebige Zähler ist nicht angedacht, dafür gibt es bereits generische Zählermodule.


Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: MrJackBlack am 14 Dezember 2017, 11:26:01
Schade das ich dieses Thema erst jetzt finde, nachdem ich mir den ES-IEC Sensor und HM-ES-TX-WM bei ELV bestellt habe. Vielleicht probiere ich es trotzdem noch mal - ich habe ebenfalls den Kamstrup 382. Was passte denn an deiner ersten Installation mit ES-IEC nicht?

Ich würde deine Lösung sehr gerne nachbauen wollen. Ein Arduino Uno habe ich noch rumliegen :)

Kann ich nicht theoretisch den Lesekopf des ES-IEC am Arduino nutzen?
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 14 Dezember 2017, 15:50:14
@MrJackBlack: Ich bin mit dem ES-IEC leider gar nicht erfolgreich gewesen (keinerlei Daten) und ich kenne andere Kamstruk 382-Benutzer, die den HM-ES-TX-WM mit dem normalen, alten IR-Sensor funktionieren, aber nur die LED-Pulse auslesen können (meines Wissens 1000 per kWh).

Ich kenne den genauen Schaltplan des IEC-Sensors nicht, deshalb habe ich den einfachen IR-Sensor, wie er auch im Volkszähler-Protokoll verwendet wird genutzt.

Den Schaltplan meines Selbstbau-Arduino-Teils kann ich gerne bereitstellen - im wesentlichen ein Arduino, ein ESP8266 und der IR-Sensor.
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: MrJackBlack am 15 Dezember 2017, 08:21:13
Hallo viegener,

heute oder Montag kommen die Homematic Geräte. Ich werde diese ausprobieren und zur Not zurück schicken. Ich denke mal Anfang Januar werde ich das Ganze angehen, sollte es mit dem ES-IEC Sensor nicht klappen. Vielleicht ist bei deinen Kamstrup die Schnittstelle lahmgelegt? Ach nein, geht ja nicht. Habe gerade in den Code auf deinem Github geschaut und so wie ich es verstehe ist dort eine "echte" Kommunikation eingebaut, also muss etwas vom Zähler zurück kommen.

Also, ich werde in den nächsten Tagen meine ersten Gehversuche mit dem ES-IEC Sensor hier berichten und je nachdem wie es ausgeht wäre ich sehr an deiner Lösung interessiert :)
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 15 Dezember 2017, 15:58:19
@MrJackBlack: Ja die Schnittstelle funktioniert, nach meinem Verständnis ist allerdings die Schnittstelle im Kamstrup nicht konform zu ES-IEC und deshalb bin ich nicht erfolgreich gewesen. Ich habe deshalb auf das reverse engineering von jemandem zurückgegriffen und zusammen mit den Infos von Kamstrup meine Arduino-Software gebaut. Es gibt zwar Dokumente, die bei Kamstrup von einem IEC-konformen Interface reden, allerdings habe ich das in Zusammenhang mit der Infrarot-Schnittstelle nicht hinbekommen (und in den Dokumenten ist immer von einer Schnittstelle über Pins die Rede.

Wäre sicher interessant, wenn Du IEC zum laufen bekommst, meine Lösung ist allerdings ziemlich stabil und hat mir auch noch Spass bei der Entwicklung gemacht....
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: MrJackBlack am 18 Dezember 2017, 17:58:20
Guten Abend,

heute kam der HM-ES-TX-WM mit ES-IEC Sensor. Update habe ich direkt gemacht auf v1.2 des HM-ES-TX-WM. Wie allerdings erwartet scheint etwas nicht zu stimmen. Es werden zwar zwei IEC-Kanäle gefunden (nennt man das so?), aber da kommt nur Grüze, siehe Anhang.

Ob man was mit den Readings anfangen kann?

edit: hier mal die RawDef des HM-ES-TX-WM. Baudrate ist ja scheinbar unterschiedlich in Sende- und Empfangsrichtung (300/1200Bd). Ich habe es jetzt mal so eingestellt, geht aber auch nicht.


setstate Energiezaehler 2017-12-18 22:12:45 .R-baudrate Bd300
setstate Energiezaehler 2017-12-18 18:59:05 .R-powerMode mainPower
setstate Energiezaehler 2017-12-18 21:42:05 .R-protocolMode modeA
setstate Energiezaehler 2017-12-18 21:54:21 .R-samplPerCycl 2
setstate Energiezaehler 2017-12-18 22:01:45 .R-serialFormat s8D0PN1S
setstate Energiezaehler 2017-12-18 18:59:05 .R-transmDevTryMax 6


Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 20 Dezember 2017, 22:37:27
Nun ja - die Kanäle sind das was der HM-ES-TX-WM anlegt und die 1.2 ist ja bereits erforderlich, damit der IEC erkannt wird. Im Prinzip kommen auch bei Dir keiner Daten aus dem Kamstrup.

Achso und wenn möglich besser ein list des devices machen (list Energiezaehler) statt Screenshots.
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: MrJackBlack am 21 Dezember 2017, 07:24:41
Hallo viegener,

jo, das nächste poste ich die Def des Devices, allerdings waren dann bei mir nicht alle Readings zu sehen  ???

Jetzt stehe ich vor der Entscheidung:
Kaufe ich den ES-LED und lese so den aktuellen Stromverbrauch aus, oder bastel ich mir was nach deinen Vorgaben, bzw. den Vorgaben von Hal9k (https://wiki.hal9k.dk/projects/kamstrup)...

Welche Readings kommen bei deiner Wifi-Anbindung an? Sind deine Readings ähnlich wie bei PyKamstrup?
Energy in                 6753.0 kWh
Energy out                0.0 kWh
Energy in hi-res          6753.3242 kWh
Energy out hi-res         0.0 kWh
Voltage p1                229.0 V
Voltage p2                227.0 V
Voltage p3                229.0 V
Current p1                5.41 A
Current p2                2.12 A
Current p3                3.07 A
Power p1                  0.976 kW
Power p2                  0.475 kW
Power p3                  0.595 kW


Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 21 Dezember 2017, 10:45:27
Welche Readings ist bei mir einstellbar - mit getrennten Intervallen. Momentan sind es:


R_CurrentL1
R_CurrentL2
R_CurrentL3
R_Date4ad
R_EnergyCounter
R_EnergyDaily
R_MaxPower
R_Power
R_used_4ed
R_used_4ee
R_used_4ef


Die Spannungen pro Phase lese ich bei mir nicht aus und verschiedene andere Register versuche ich immer noch zu interpretieren.

Für mich relevant ist aktueller Verbrauch - täglicher Verbrauch und Maximalverbrauch und Gesamtverbrauch

Wie gesagt man kann einfach das Register angeben und das Intervall, dann wird dafür ein Reading angelegt und regelmässig ausgelesen.

Achso: mit list ist wirklich der FHEM-Befehl list gemeint, da sind definitvi alle Readings enthalten


Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: MrJackBlack am 11 Januar 2018, 18:39:40
So, der IR-Lesekopf ist zusammengebaut, der Arduino geflasht und... ich bekomme nur CRC Fehler :D

Ich nutze zum testen er Original Code von Hal9k. Hattest du damit Probleme?
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 12 Januar 2018, 14:45:33
Zitat von: MrJackBlack am 11 Januar 2018, 18:39:40
So, der IR-Lesekopf ist zusammengebaut, der Arduino geflasht und... ich bekomme nur CRC Fehler :D

Ich nutze zum testen er Original Code von Hal9k. Hattest du damit Probleme?

Gute Frage, das weiss ich gar nicht mehr. Hast Du mal versucht meinen Arduino-Sketch zu flashen?
Der sollte eigentlich auch funktionieren, wenn man ohne FHEM direkt am PC per USB-Serial anschliesst, da kann ich auch leichter unterstützen
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: MrJackBlack am 15 Januar 2018, 07:29:59
Zitat von: viegener am 12 Januar 2018, 14:45:33
Der sollte eigentlich auch funktionieren, wenn man ohne FHEM direkt am PC per USB-Serial anschliesst, da kann ich auch leichter unterstützen

Aha, gut zu wissen. Werde ich die nächsten Tage mal probieren.

Ist die Verbindung sehr gefährdet durch Streulicht? Eventuell liegt es an der Halterung/Befestigung.
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 15 Januar 2018, 22:51:37
Zitat von: MrJackBlack am 15 Januar 2018, 07:29:59
Ist die Verbindung sehr gefährdet durch Streulicht? Eventuell liegt es an der Halterung/Befestigung.

Dazu kann ich nicht viel sagen - bei mir gibt es ja eigentlich kein Streulicht. Ich habe mit einem Rundmagneten die beiden IR-Dioden direkt auf dem Kamstrup montiert, dadurch gibt es bei mir kein Streulicht, da der Kamstrup ja auch eine runde magnet/Metall-Scheibe enthält.

Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: zwehn am 20 Mai 2018, 11:43:43
Hi, bei uns im Ort (Hohenbrunn) wurde der Multical 23 Wasserzaehler von Kamstrup flaechendeckend installiert.
Mit esp easy und dem optional erhaeltlichem Pulsadapter fuer 119€ (ja ist teuer) lassen sich die Pulse einfach erkennen. Der Pulsadapter startet die kommunikation mit dem Wasserzaehler durch einmaligen buttendruck.
Nachteil der Ifrarotloesung: Der wasserzahler hat einen eingebauten Akku, der fuer 5-10 Jahre halten soll. Da die wichtigste kommunikation ueber wm bus stattfindet, ist die ir pulse loesung quasi ein add on mit prio 2 und sendet daher auch nur mit einer Aufloesung von 10 l pro puls um energie zu sparen. Per wmbus ist ein ablesen von 3 stellen hinterm komma also auf 1 l ebene moeglich und wird vom versorger bequem zum auslesen per durchfahrt in der strasse genutzt.
Problem der wmbus Loesung ist:
1: aes verschluesselung
- kamstrup setzt allerdings positiver weise nicht auf einen common key fuer den wasserversorger sondern auf einen key pro wasserzaehler. Dh je nachdem wie gut euer draht zum wasseversorger ist, koennt ihr den erfragen.
2: fhem wmbus protokoll unterstuetzt nur s und t mode. Muss ich noch weiter evaluieren.
Bin auf der suche nach mitsreitern. Has jemand das auslesen per wmbus fuer kamstrup schon hinbekommen?
Achja die techniker von kamstrup sind sehr hilfsbereit ebenso wie die wasserwerker bei uns vor ort. Der pulsadapter wurde mir per fahrrad vom sachbearbeiter direkt an drr haustuer uebergeben. Super buergerservice.
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: gramels am 20 August 2020, 19:45:26
Hallo,
ich versuche meinen heute installierten Kamstrup Omnipower an FHEM zu bekommen. Kann ich das Modul auch verwenden, wenn der IR Leser (Volkszähler) direkt am FHEM (Rapsi) via USB hängt?

Grüsse

Lothar
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: viegener am 20 August 2020, 21:22:10
Ich habe gerade mal kurz reingeschaut, eigentlich sollte es mit einem direkten Anschluss auch funktionieren. Es wird auch bei der Definition nicht auf Netzwerk überprüft.

Ich habe aber inzwischen in meiner aktuellen Wohnung einen Zähler der ein standardisiertes Protokoll spricht...

Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: jogi19 am 02 Dezember 2020, 15:45:32
Hallo Zusammen,

ich bin hier über das Forum gestolpert. Ich habe mir einen IR-Lesekopf besorgt und versuche gerade irgendwas von meinem Kamstrup 382L auszulesen.
Von GitHub habe ich mir das Skript PyKamstrup gecloned und entsprechend meinem USB-Device angepasst:
/dev/ttyUSB0
    desc: CP2102 USB to UART Bridge Controller
    hwid: USB VID:PID=10C4:EA60 SER=0009 LOCATION=1-1.5.1

Leider bekomme ich, wenn ich das Python-Script starte keine Werte angezeigt:

Zitat
pi@raspberrypi:~/PyKamstrup $ python kamstrup.py
Power In                  None None
Energy in                 None None
Energy out                None None
Energy in hi-res          None None
Energy out hi-res         None None
Voltage p1                None None
Voltage p2                None None
Voltage p3                None None
Current p1                None None
Current p2                None None
Current p3                None None
Power p1 In               None None
Power p2 In               None None
Power p3 In               None None
Power p1 Out              None None
Power p2 Out              None None
Power p3 Out              None None
Current flow in flow      None None
Current flow in return flow None None
Current flow temperature  None None
Current return flow temperature None None
Current temperature T3    None None
Current temperature difference None None
Pressure in flow          None None
Pressure in return flow   None None
Current temperature T4    None None
Power In                  None None

Wie kann ich denn die generelle Funktionsweise testen ? Muss ich da einen Init-Sequenz schicken, damit der Zähler überhaupt was sendet ?
Welche Bautrate muss ich verwenden ? Müsste doch eigentlich auch möglich sein irgendwas mit minicom zum Device zu schicken und sehen, ob irgendwas zurück kommt.
Es gibt zwar einiges im Internet zu veschiedenen Zählern, aber hier der Tread ist der einzige, wo jemand den 382L ausgelesen hat. Vielen Dank für jeden Hinweis (auch Links zu Spezifikationen etc.)
Titel: Antw:Modul für Kamstrup smartmeter (speziell 38lLx3)
Beitrag von: jogi19 am 02 Dezember 2020, 19:14:12
Bin jetzt schonmal ein gutes Stück weitergekommen. :)
Mit dem Hilfe desScripts von https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/landisgyr_zmd120ap?redirect=1#auslesen_per_shell-skript
Kann ich schon fast alles Wichtige auslesen.
Zitat0.0.0(177xxxxxx)
1.8.0(0017710*kWh)
1.8.1(0017710*kWh)
1.8.2(0000000*kWh)
1.8.3(0000000*kWh)
1.8.4(0000000*kWh)
96.8.0(0066056*h)
0.128.1(0000000)
1.6.0(2.330*kW)!
COUNTER:  4
Was ich aber immer noch nicht hinbekommen habe, ist dass die Energieeinspeisung (2.8.0) angezeigt wird.
Bin gerade ziemlich ratlos, wie ich das hinbekommen könnte.