Jump to content
  • 0

Kamstrup elmålere


Question

Er der nogle som har erfaring med aflæsning af de nye fjern-aflæste el målere?.

Jeg kommet så langt som at der sidder en HAN stik i målerne, som Radius skal give adgang til på foresprøgelse.
Det har jeg kontaktet dem omkring, og de har sendt mig en krypterings nøgle.

Jeg har så forsøgt at tilslutte en ESP til pin 5 og 6 på porten, som seriel, og havde så håbet på at modtage noget krypteret data, som jeg så ville forsøge at afkode.

Men jeg modtager ikke noget data...

Nogle som er kommet længere?.

Claus

Link to post
Share on other sites

Recommended Posts

  • 0

Jeg roder selv med at få data fra vores nye 684 Radius-målere fra Kamstrup ind (i mit tilfælde Home Assistant). Jeg er ikke kommet så langt som rent faktisk at sætte noget til dog.

Det er min forståelse af CCC/HAN-stikkets Tx og Rx er de samme som det infrarøde øje, men har ikke kunne få det bekræftet. I så fald ser dette lovende ud, men der nævnes ikke noget om kryptering/nøgle:
https://github.com/MTrab/Kamstrup/blob/master/Kamstrup.ino

Kamstrup benytter sin egen protokol (KMP - Kamstrup Meter Protocol) som vist er en overbygning på IEC1107 - og her skal man spørge om data før man får det. Om man kan få de IEC1107-specificerede informatiorne ud uden brug af nøgle, eller nøglen skal benyttes ved læsning af alle data er jeg usikker på.

Bemærk desuden at en ESP trækker op til 170 mA ved 3.3V + evt. USB-to-TTL, voltage regulator, m.m., mens CCC/HAN stikket kun kan levere 75mA ved 4.15V jf. http://www.solcelledebat.dk/attachment.php?aid=2203

Poul Henning Kamp har også lavet dette som kunne være interresant, selvom det er til 682-måleren:
https://github.com/bsdphk/PyKamstrup

Link to post
Share on other sites
  • 0
23 timer siden, cis2131 skrev:

Er der nogle som har erfaring med aflæsning af de nye fjern-aflæste el målere?.

Jeg kommet så langt som at der sidder en HAN stik i målerne, som Radius skal give adgang til på foresprøgelse.
Det har jeg kontaktet dem omkring, og de har sendt mig en krypterings nøgle.

Jeg har så forsøgt at tilslutte en ESP til pin 5 og 6 på porten, som seriel, og havde så håbet på at modtage noget krypteret data, som jeg så ville forsøge at afkode.

Men jeg modtager ikke noget data...

Nogle som er kommet længere?.

Claus

Hvilken kamstrup måler er det?
Jeg har en Kamstrup Multical 21.
https://www.kamstrup.com/da-dk/produkter-loesninger/vandmaalere/husholdningsvandmaalere

Den havde jeg håbet jeg kunne få forbindelse til via Wireless Mbus. Men min Wmbus dongle driller.. Hvor sidder det stik?

Ahh, crapp.. Så ikke du skrev el-måler :-) Bare glem ovenstående. 

Link to post
Share on other sites
  • 0

Blot en lille opfølgning, hvis nogen er interreseret.

Jeg kan sådan set sagtens snakke med min Radius el-måler via CCC/HAN-stikket, men spørger jeg de registre der nævnes her (https://github.com/MTrab/Kamstrup/blob/master/Kamstrup.ino) får jeg kun tomme svar. (0x40 3F 10 07 9A 0D) Jeg tænker det hænger sammen med den kryptering Kamstrup har indbygget i deres KMP. Jeg har fået krypteringsnøgle af Radius, men eftersom KMP er "hemmlig" for de uindviede så er det svært at finde ud af hvordan krypteringsnøglen skal bruges.

Jeg tænker måske sammen med en anden kommando end "GetRegister" (0x10), men hvilken ved jeg ikke og ej heller hvordan beskeden formateres. Vha brute-force har jeg kortlagt, at meteres trods alt svarer på følgende register-adresser:

vector<unsigned short> addrs{
  0x0032, 0x0033, 0x0034, 0x0035, 0x03E9, 0x03F2, 0x0406,
  0x0417, 0x043B, 0x0466, 0x04C5, 0x04DB, 0x0620, 0x062B,
  0x1789, 0x178A, 0x178E, 0x178F, 0x180D, 0x1824, 0x1845,
  0x1867, 0x186C, 0x1874, 0x1875, 0x1876, 0x1880, 0x1885,
  0x1886, 0x1887, 0x1888, 0x1889, 0x188A, 0x188B, 0x188C, 
  0x188D, 0x188E, 0x188F, 0x1890, 0x1893, 0x1894, 0x18A0, 
  0x18AD, 0x18AE, 0x18AF, 0x18B0, 0x18B1, 0x18B2, 0x18B3, 
  0x18B4, 0x18C8
};

Men svaret er det samme med flere timers (og dermed el-forbrugs) mellemrum for alle på nær 0x0417, så det indeholder næppe forbrugsdata der jo burde ændre sig løbende.

Link to post
Share on other sites
  • 0

Jeg har fået hul igennem til Radius Kamstrup målerne efter den sidste firmware opdatering hvor push af data hver 10. sek er aktiveret. 
Se vedhæftet fil.

Jeg har et Proof of concept Python script baseret på det udleverede fra Radius. Læser fra måleren med et UART til USB modul. Dekrypterer, parser og sender til MQTT.

Planen er at lave et printkort baseret på et ESP8266 modul til at være MQTT klient.

Jeg har så småt startet et projekt:

https://github.com/Asbjoern/Kamstrup-Radius-Interface/tree/Develop

Status indtil videre:
Dekryptering og parsing virker på ESP8266.
Resten mangler.

Mvh
Asbjørn

DLMS-COSEM.pdf

Link to post
Share on other sites
  • 0

Jeg er meget interesseret i dette, kunne godt tænke mig at bygge det ind i IHC bridge.

Den gemmer i forvejen priser fra ørsted time for time, så det vil være muligt at lave nogle regler hvis prisen er høj, og man bruger meget strøm.

Kan du hjælpe lidt med hvad der skal til for at jeg kan indlæse det direkte på en pi via et USB kabel?.

Claus

 

Link to post
Share on other sites
  • 0
7 hours ago, Asbjørn said:

@cis2131

Køb dig et 3.3v uart til USB kabel/modul og forbind rx og gnd til målerens gnd og data out.

FTDI.jpg

Så kan du bruge min python kode prototype fra github som eksempel. Den er skrevet som et hack for at se om det kunne lade sig gøre at få brugbar data ud. Så den er ikke langtidsstabil, men den virker er en godt udgangspunkt.

Mange tak,

Jeg har sådan en her liggende: 

https://www.joy-it.net/en/products/RB-TTL

Den kan kobles til 3,3v ved at flytte en ledning inde i adaptoren.

Ved du om den kan bruges? og hvilke pin's på måleren ledningerne skal monteres på?.

Hvid er RX og Sort er GND.

Claus

Link to post
Share on other sites
  • 0
4 hours ago, Asbjørn said:

Tak for info.

Har lige prøvet at tilslutte den til måleren, og sat den i en USB port.

For bare lige at se om der er hul igennem har jeg prøvet at sætte porten til 2400 baud og sat den til at dumpe alt på porten. (od -x < /dev/ttyUSB0)

Men der kommer ikke noget data. Er der noget jeg skal gøre for at få måleren til at sende data?.

Jeg har for et lille år siden fået dekrypterings nøglen, men har ikke gjort noget siden.

Claus

 

Link to post
Share on other sites
  • 0
2 hours ago, Asbjørn said:

Start med at læse dokumentet vedhæftet min første post.
Der er alt hvad du skal bruge

Den krypteringsnøgle du har fået kan du kun bruge til smartme systemet

Sorry, troede måske bare at når jeg havde bedt om nøgle før, så var den opdateret.

Jeg har skrevet til dem nu.

Claus

Link to post
Share on other sites
  • 0

Kan se at den krypteringsnøgle jeg har fået udleveret er GPK11 (ikke radius kunde), og den authentication & encryptionkey der henvises til i dokumentationen er GPK60 & GPK61. Er GPK60/GPK61 universelle på tværs af målere (måske kun hos Radius) til udlæsning af de data der udstilles hvert 10. sekund ?

Link to post
Share on other sites
  • 0

Den krypteringsnøgle man fik udleveret før den nye firmware kunne kun bruges til smart-me modulet.

Her efter firmware updaten til Radius' kunder sender måleren krypteret data hvert 10. sek, hvor du skal bruge de to nøgler for at dekryptere dem. 

Nøglerne får du udleveret af Radius efter proceduren i mit tidligere linket dokument fra Radius.

Link to post
Share on other sites
  • 0
1 minut siden, Asbjørn skrev:

Den krypteringsnøgle man fik udleveret før den nye firmware kunne kun bruges til smart-me modulet.

Her efter firmware updaten til Radius' kunder sender måleren krypteret data hvert 10. sek, hvor du skal bruge de to nøgler for at dekryptere dem. 

Nøglerne får du udleveret af Radius efter proceduren i mit tidligere linket dokument fra Radius.

Mange tak for info! Er dog ikke Radius kunde, så tror desværre ikke der er så meget at gøre pt.

De henviser til, at Kamstrup siger at den udleverede GPK11 nøgle, som kan bruges til smart-me modulet, er hvad de skal udlevere....

Link to post
Share on other sites
  • 0
På 23.1.2019 at 14:35 , niklascp skrev:

Jeg roder selv med at få data fra vores nye 684 Radius-målere fra Kamstrup ind (i mit tilfælde Home Assistant). Jeg er ikke kommet så langt som rent faktisk at sætte noget til dog.

Det er min forståelse af CCC/HAN-stikkets Tx og Rx er de samme som det infrarøde øje, men har ikke kunne få det bekræftet. I så fald ser dette lovende ud, men der nævnes ikke noget om kryptering/nøgle:
https://github.com/MTrab/Kamstrup/blob/master/Kamstrup.ino

Kamstrup benytter sin egen protokol (KMP - Kamstrup Meter Protocol) som vist er en overbygning på IEC1107 - og her skal man spørge om data før man får det. Om man kan få de IEC1107-specificerede informatiorne ud uden brug af nøgle, eller nøglen skal benyttes ved læsning af alle data er jeg usikker på.

Bemærk desuden at en ESP trækker op til 170 mA ved 3.3V + evt. USB-to-TTL, voltage regulator, m.m., mens CCC/HAN stikket kun kan levere 75mA ved 4.15V jf. http://www.solcelledebat.dk/attachment.php?aid=2203

Poul Henning Kamp har også lavet dette som kunne være interresant, selvom det er til 682-måleren:
https://github.com/bsdphk/PyKamstrup

Nogle der har underøgtt om den kan tilføje trådløst?

Link to post
Share on other sites
  • 0

Det endte med, at jeg købte et Smart-Me modul til min Kamstrup elmåler på dette link: https://www.elmodul.dk/ Ørsted sendte mig krypteringsnøglen til Smart-Me modulet, og det blev nemt sat op med app'en. Smart-Me er et selvstændigt firma i Schweiz (se https://web.smart-me.com/) , som laver overbygninger til bl.a. elmålere. Alle producenter af elmålere inkl. Kamstrup er - såvidt jeg ved - blevet pålagt at lave et interface, så måleoplysninger kan udlæses. App'en fra Smart-me er fin med visning i realtid og grafer m.m.

Dernæst vil jeg gerne integrere oplysningerne i mit smart home setup. Der er mulighed for cloud baseret rest api og lokal modbus adgang, og jeg har implementere begge, og de virker fint. Jeg viser mit setup herunder, fordi det kan måske hjælpe andre, som vil have samme setup.

rest api implementeret via Home Assistant:

Indholdet af configuration.yaml er:

sensor:
    - platformrest
      nameSmartMeter
      scan_interval10
      usernameMinMailAdresse
      passwordMinHemmeligeKode
      authenticationbasic
      value_template'{{ (value_json.ElectricityPower | float * 1000) | round(0) }}'
      unit_of_measurement'Watt' 

Hvor id på din device skal indsættes - det er ikke serienummeret, men en lang streng, som kan udlæses via GET /api/Devices - se linkhttps://smart-me.com/swagger/ui/index Jeg har sat den til refresh hver 10. sekund, men det kan ændres.

 

Modbus implementeret via openHAB:

Den var lidt sværere at få knækket, men det lykkes til sidst. Smart-me modulet har en indbygget modbus til tcp enhed, så man behøver ikke ekstra hardware. Link til dokumentation er her: http://wiki.smart-me.com/index.php/Modbus_TCP

Things file:

// Smart-me Kamstrupe elmåler
Bridge modbus:tcp:slave03 "Modbus bridge elmåler" [host="192.168.1.238",port=502,id=1,reconnectAfterMillis=2147483647]  {   
     Bridge poller smartmeter "Modbus poller elmåler" [start=8195, length=6, refresh=3000, type="holding"] {
        Thing data ThAktuelNettoElForbrugSign           "AktuelNettoElForbrugSign"                          @ "Smart-Me" [readStart="8195", readValueType="uint16", readTransform="default"]
        Thing data ThAktuelNettoElForbrug               "AktuelNettoElForbrug"                              @ "Smart-Me" [readStart="8196", readValueType="uint16", readTransform="default"]
    }
}

Items file:

// SmartMeter
Number  AktuelNettoElForbrugSign      "AktuelNettoElForbrugSign [%.0f ]"   { channel="modbus:data:slave03:smartmeter:ThAktuelNettoElForbrugSign:number" }
Number  AktuelNettoElForbrug              "AktuelNettoElForbrug [%.0f ]"   { channel="modbus:data:slave03:smartmeter:ThAktuelNettoElForbrug:number" }
Number  AktuelElForbrug       "Aktuel el forbrug [%.0f Watt]"   <energy>

Rules file:

// Kamstrup elmåler Smart-Me
rule "Kamstrup elmåler Smart-Me"
when  
    Item AktuelNettoElForbrugSign changed or
    Item AktuelNettoElForbrug changed 
then
    if (AktuelNettoElForbrugSign.state==65535AktuelElForbrug.sendCommand((AktuelNettoElForbrug.state as Number) - 65536else AktuelElForbrug.sendCommand(AktuelNettoElForbrug.state)
end

Den måler nettoforbrug, hvilket er aktuelt for mig, da jeg har solceller. Det betyder også, at forbrugstallet i visse tilfælde er negativ. 

Hvis man ønsker det, kan både Home Assistant og openHAB løbende sende de aktuelle værdier til IHC, så de kan indgå i en funktionblok med logik.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Privacy Policy og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

.

Ok