Aflæs Kamstrup elmålere med ESP8266 eller ESP32

Indholdsfortegnelse

Intro

Dette er et LANGT indlæg omkring udmåling af elforbruget fra Kamstrup elmålere. Jeg anbefaler at du læser det hele, selvom det godt kan være lidt langhåret.

For at opsummere lidt, her er en checkliste som bliver forklaret senere:

  1. Sørg for at HAN interfacet er slået til i din elmåler
  2. Sørg for at have de to dekrypteringsnøgler klar
  3. Sørg for at have en ESP8266/ESP32 samt en smule kendskab til disse

Jeg har de sidste par uger prøvet at få gang i live udmåling af mit elforbrug. Der findes et par måder at gøre det på, men den fedeste måde er 100% garanteret via HAN interfacet på Kamstrups OmniPower elmålere. HAN (Home Area Network) interfacet på de nyere OmniPower elmålere handler essentielt om, at man kan få en masse fed data ud med ~10 sekunders mellemrum. Her er en liste over hvad man får hvert ~10. sekund:

Du kan altså aflæse din målers spænding (volt), strøm (ampere) og forbrug (watt) hvert 10. sekund, i stedet for at skulle vente på et gennemsnit fra Eloverblik.dk, som kun kan vise dig 1-2 dage gammelt data. Det data fra HAN interfacet kan du så smide direkte videre ind i et program, der står for at logge det hele, så du kan generere fine grafer, lave beregninger og så videre. Kun fantasien sætter grænser.

At nå i mål har altså IKKE været nemt. Det har faktisk taget 5-6 uger, selvom jeg havde alt hardware til det. Jeg brugte cirka en dag på at researche andre folks løsninger, såsom dette fine indlæg fra Xenophane og lidt omkring HAN interfacet. Mit endelige mål var at få det ind i Home Assistant, så jeg kunne vise mit forbrug på mit dashboard. Ud fra HAN interfacets dokumentation, vidste jeg godt, at jeg enten selv skulle:

  • Lære at dekode de krypterede bytes fra elmåleren
  • Stjæle andre folks kode
  • Bruge en færdig løsning

At lære at dekode de krypterede bytes fra elmåleren ville ikke være så svært, da det er så veldokumenteret, men når jeg ved at andre folk har gjort det, giver den løsning ingen mening i mine øjne. Og så tager den løsning tid. Meget tid.

At stjæle andre folks kode er altid sjovt, men det kræver stadigvæk at jeg laver min egen løsning i sidste ende.. som igen kommer til at tage tid. Tid jeg hellere vil bruge på at bestille gadgets fra AliExpress.

At bruge en færdig løsning må derfor være det, jeg vælger at gå med. Og det har jeg. Der findes nogle kommercielle produkter såsom smart-me, som egentligt lover at gøre præcis hvad jeg gerne vil. Dog koster sådan en adapter 1000+ kroner sidst jeg tjekkede, og det vil jeg simpelthen ikke ofre for en ESP8266 eller ESP32 på et PCB med lidt kode. Sorry, men nej tak.

Den anden løsning er at bruge andre folks kode og smide det direkte på en ESP8266 eller ESP32. Her kommer AMS Reader ind i billedet. Det er et genialt stykke software, der er skræddersyet til præcis det jeg (og forhåbentligt dig) gerne vil frem til.

Aflæsning af data

Det aller aller aller første du skal gøre, er at tage kontakt til dit elværk. Du skal nemlig bruge to dekrypteringsnøgler: GPK60 og GPK61. GPK60 er krypteringsnøglen (Encryption key i AMS Reader) og GPK61 er autentificeringsnøglen (Authentication key).

For at få fat i nøglerne, skal du blot skrive til dit elværk, hvor du kan formulere en mail såsom denne:

Kære Elværk

Jeg har købt et HAN modul til min Kamstrup elmåler, som nu spørger efter et sæt krypteringsnøgler. Jeg skal bruge GPK60 og GPK61 for at kunne snakke med måleren. Derudover vil jeg også gerne have slået HAN interfacet til, så jeg kan snakke med mit HAN-NVE “push” modul.

Mit navn er XXX og jeg bor på YYY.

Jeg har vedhæftet et billede af min elmåler, hvor I kan se serienummeret.

Kan I sende de to nøgler til mig?

På forhånd tak
XXX

Husk at vedhæfte et billede af din elmåler, da der står et serienummer på. Vær opmærksom på, at denne proces sagtens kan tage 1-2 uger. Det afhænger lidt af dit elværk, samt hvor travlt de har.

De to nøgler du får er nogle hexadecimal tal på 32 tegn. De ligner lidt dette: 2C8D93E5F6E05DECA1A7E43B90B472C1

Mens du venter på nøglerne, kan du lige så godt bestille de nødvendige komponenter:

Jeg antager alle ved hvordan man flasher en ESP8266 eller ESP32, ellers kan man følge den fine guide herinde: https://github.com/UtilitechAS/amsreader-firmware/wiki/flashing

Når AMS Reader er flashed til din ESP8266/ESP32 er det blot et spørgsmål om at forbinde den med WiFi og opsætte den til at forbinde til dit eget WiFi. Derefter skal du tilslutte den til din elmåler med de to dupont female-to-female (reklamelink) kabler. Du skal forbinde pin 6 (GND) på elmåleren til GND på din ESP8266/ESP32 og pin 5 (DATA_OUT) til den pin du har valgt inde i AMS Readers configuration screen. Her er en fin oversigt over pins på en ESP8266 (GPIO4 er D2 eksempelvis).

Inde i AMS Reader skal du så indtaste dine to dekrypteringsnøgler. Hvis du ser de starter med 0x efterfulgt af din nøgle, skal du ikke være bekymret, for det er sådan AMS Reader selv konverterer dem.

Hvis du derefter gemmer og går til forsiden, burde du nu hvert ~10. sekund begynde at få data ind og alt kører! Kæmpe high-five!

Ingen data..??

Hvis du er 100% sikker på, at du har koblet AMS Reader ordentligt til, så er der to mulige scenarier (der begge kan være sande):

  1. Din elmåler er for gammel, så det firmware der kører på den ikke sender det korrekte ud ifht. hvad AMS Reader forventer (og så vidt jeg kan forstå, så skal man spørge om dataen på de “gamle” elmålere før de sender noget tilbage)
  2. HAN interfacet på din elmåler er slået fra

Hvis din elmåler er for gammel, så skal du have dit elværk til at skifte den til en nyere. Du kan prøve at tigge om at få en gratis opgradering, men eftersom elmåleren højest sandsynligt virker som den skal, kan det sagtens være de nægter at gøre det. Det andet du kan gøre, er at punge op for at få den skiftet. Prisen varierer alt afhængig af, hvor gammel din måler er og hvor lang tid installatøren skal bruge på at skifte den.

Er HAN interfacet slået fra, skal du “blot” oplyse dit elværk om dette. Husk at nævne dit modul bruger “push”. De kan via OmniSoft VisionAir slå HAN interfacet til og fra. Hvis de ikke har mulighed for det, så tager de kontakt til Kamstrup, som enten kan be- eller afkræfte om det er slået til, og derefter gøre det i deres ende. Virker det stadigvæk ikke, kan de med fordel slå HAN fra, vente noget tid og derefter slå det til igen. Det trigger højest sandsynligt en opdatering til din måler.

Integration i Home Assistant med MQTT

Home Assistant og med en tændt opvaskemaskine

AMS Reader sender nyt dekrypteret data ud via MQTT, så du skal have en MQTT broker installeret ét eller andet sted. Bruger du Home Assistant med Supervisor, kan du vist installere en MQTT broker direkte i Home Assistant. På min server der kører unRAID, har jeg installeret en Docker container med et image fra spants/mqtt. Gå ind i AMS Reader, vælg Configuration og derefter MQTT. Indtast nu dine MQTT brokers oplysninger.

Sæt Client ID til eksempelvis Kamstrup og sæt Publish topic til ét eller andet. Jeg har valgt at smide den ind i homeassistant/sensor/kamstrup-meter/config, bare for at holde nogenlunde samme struktur som nogle andre sensorer jeg har.

Derefter skal du have MQTT integrationen i Home Assistant til at snakke med din broker. Det er vist nemmere bare at linke til denne side, end at jeg prøver at forklare det: https://www.home-assistant.io/integrations/mqtt/ (bare tryk på Add Integration og følg hvad der står på skærmen)

Nu skal du så tilføje en sensor, der hiver dataen ud af MQTT og laver en entity til dig. Dette skal gøres i configuration.yaml filen, hvor jeg har et eksempel her:

sensor:
  - platform: mqtt
    name: "Kamstrup Power"
    unit_of_measurement: "watts"
    state_topic: "homeassistant/sensor/kamstrup-meter/config"
    value_template: "{{ value_json.data.P }}"
    device_class: 'power'
    state_class: 'measurement'

Efter Home Assistant er blevet genstartet, får du så en ny entity:

Derefter er det blot et spørgsmål om, at gøre noget med dataen. For at lave en “bar chart” ligesom jeg havde i toppen af denne sektion, kan du bruge mit eksempel her, ved brug af mini-graph-card:

type: custom:mini-graph-card
name: Forbrug 3 minutter
entities:
  - sensor.kamstrup_power
line_color: lightblue
hours_to_show: 0.05
points_per_hour: 360
aggregate_func: max
show:
  icon: false
  graph: bar
  labels: true

Energy siden i Home Assistant

Hvis du gerne vil have energy siden i Home Assistant til at vise data, skal du sørge for at du har oprettet din MQTT sensor og du får dataen vist først. Derefter skal du oprette en ny sensor af typen Riemann Sum Integral:

sensor:
  - platform: integration
    source: sensor.kamstrup_power
    name: energy_spent
    unit_prefix: k
    round: 2

Derefter skal vi have tilføjet et par attributter til den sensor, før energy tabben giver en lov til at vælge den. Jeg har både tilføjet den til Kamstrup Power sensoren, men også den nye Riemann Sum Integral sensor:

homeassistant:
  customize_glob:
    sensor.kamstrup_power:
      last_reset: '1970-01-01T00:00:00+00:00'
      device_class: energy
      state_class: measurement
    sensor.energy_spent:
      last_reset: '1970-01-01T00:00:00+00:00'
      device_class: energy
      state_class: total_increasing
      unit_of_measurement: kWh

OPDATERING:

Hvis du kører Home Assistant FØR februar 2022, så skal du ændre state_class: total_increasing til state_class: measurement:

homeassistant:
  customize_glob:
    sensor.kamstrup_power:
      last_reset: '1970-01-01T00:00:00+00:00'
      device_class: energy
      state_class: measurement
    sensor.energy_spent:
      last_reset: '1970-01-01T00:00:00+00:00'
      device_class: energy
      state_class: measurement
      unit_of_measurement: kWh

Det stump kode skal blot sættes i toppen eller bunden af din configuration.yaml fil. Husk at “homeassistant:” kun må være i configuration.yaml én gang.

Derefter går du ind på din /config/energy side, tilføjer en ny Grid consumption og vælger sensor.energy_spent:

Vær opmærksom på, at det godt kan tage et par timer, før energy siden viser noget data, men når den gør, så ser det meget godt ud:

Hvad er min oplevelse med alt det her?

Jeg har som sagt været i gang i 5-6 uger, og er heldigvis endeligt kommet i mål. Men det har ikke været nemt.

  1. Jeg fik bekræftet af Kamstrup og mit elværk, at HAN interfacet på min 2014 OmniPower elmåler var slået til, men jeg fik stadigvæk ingen data ud
  2. Firmwaret på min 2014 elmåler var for gammel, og jeg kunne ikke få en ny version installeret
  3. Jeg fik skiftet min elmåler til en nyere, som efter lidt tid fik den nyeste firmwareversion installeret automatisk (ifølge mit elværk)
  4. Efter installeringen skulle HAN interfacet igen aktiveres
  5. Efter installeringen skulle jeg anmode om 2 nye GPK60 og GPK61 nøgler (da de passer til måleren og ikke huset)
  6. Efter modtagelsen af de nye nøgler, virkede det stadigvæk ikke, og jeg brugte sammenlagt ~1.5 time i telefonen med Kamstrup
  7. Kamstrup endte med at få det til at virke umiddelbart ved at “slå det til og fra igen”. Sådan lød det i hvert fald på nordmanden

Det er lang tid siden, jeg har været så fustreret over noget. Jeg har absolut ingen kontrol over min elmåler samt hvilke features der er aktiveret eller deaktiveret. Det hele ender i bund og grund hos dit elværk eller Kamstrup, som stadigvæk kan være uvidende (som de var i mit tilfælde), hvorfor dette har taget så lang tid.

Jeg har ikke fortrudt dette projekt overhovedet, for slutresultatet er utrolig fedt. At kunne aflæse sin elmåler helt ned til hver fase, og så hvert ~10. sekund, er jo utrolig fedt. Jeg kan se præcis hvilke enheder i vores hjem bruger meget strøm, ved at tænde for dem, opsnappe data i lidt tid, og så slukke for enheden igen.

Jeg ville dog ønske, at det gik lidt mere “smooth”, men der kan man desværre pege fingre af mange.

Debugging

Denne sektion er mest for at hjælpe folk, hvis det slet, slet ikke virker for dem.

  1. I AMS Reader har du mulighed for at debugge hvad der kommer ind på din enhed. Hvis du har telnet slået til, så skal du bare forbinde til den og vente på at der kommer noget data ind i din terminal
  2. Et oscilloskop eller en logic analyzer kan hjælpe gevaldigt med at få bekræftet, at du faktisk får noget data ud af pin 5 (DATA_OUT) på din elmåler
  3. Hvis du forbinder din ESP8266/ESP32 til din computer mens den sidder ude i elskabet, kan du se den serielle kommunikation i Arduinos IDE (eller hvad end du bruger). Dataen sendes vist ved 115200 baud rate, selvom den aflæser Kamstrup måleren ved 2400 baud rate. Den data der bliver vist, er den samme som ved at bruge telnet

Tak

Til slut vil jeg gerne sige tak til alle der har hjulpet. Jeg var helt grøn på området, men fik hurtigt dannet mig en teknisk forståelse for HAN. Så denne sektion er en tak til alle, der har hjulpet mig med debugging og deres egne oplevelser.

  1. Claus fra xipher.dk og Home Assistant Facebook gruppen
  2. Morten fra Home Assistant Facebook gruppen
  3. Gunnar Skjold der har udviklet AMS Reader
  4. ArnieO der har udviklet POW-K (færdigt produkt der kører AMS Reader)
  5. Tor Berg fra Kamstrup der formåede at få elmåleren til at virke i sidste ende
  6. Jørn fra Energi Ikast i vores 30+ lange mailkorrespondance

70 svar til “Aflæs Kamstrup elmålere med ESP8266 eller ESP32”

  1. Helmut Avatar
    Helmut

    Hej – jeg ville bare sige at det her virkede perfekt – mange tak for meget fin instruktion. Har sat op med ESP32 til Home Assistant og til en Kamstrup elmåler.

    1. Andreas Jensen Avatar
      Andreas Jensen

      Lyder godt at du fik det til at virke. -Kaster mig over det i januar 2022.

      Er der noget jeg har overset: Hvor får du leveret strøm til dit ESP-board? -er det nok med det der leveres igennem pin 5?

      1. Morten Avatar

        Hej Andreas. Jeg leverer strøm til min ESP ved et langt USB kabel. Eftersom jeg har strøm lige ved siden af mit elskab, gav det god mening bare at trække et USB kabel. Jeg har hørt flere har haft succes med at bruge et par små komponenter såsom dioder og supercapacitors, men det har jeg desværre ikke selv prøvet.

  2. Mikkel Avatar
    Mikkel

    Super guide. Det spiller næsten. Jeg får fejlen “Unknown data format” men har oprettet et github issue, så nu må vi se.

    Mht. power supply, kan man så ikke finde en løsning hvor målerens VCC pin benyttes? Den er på maks. 75mA, men det kan lade sige gøre med en smart-me, så vi burde vel også kunne en ESP8266?

    1. Morten Avatar

      Hej Mikkel. Tusind tak! Øv med fejlen – er du sikker på, det er opsat korrekt? Fejlen stammer herfra umiddelbart: https://github.com/gskjold/AmsToMqttBridge/blob/78dd856a978f8d6b54a9fe0ad01bddf353ce28c7/src/AmsToMqttBridge.ino#L805

      I forhold til VCC på måleren, så er det bekræftet af flere, at man desværre ikke bare kan smide en ESP8266 direkte efter den. Måske en D1 Mini hvis du er heldig. Problemet er at den godt kan smide mere end 75 mA afsted (eksempelvis når den skal køre noget kode og sende det til MQTT), så det man gør i stedet for, er at man tilføjer en super-capacitor (og eventuelt nogle dioder for at lave det retningsbestemt), og så burde det være nok til de små peaks. Men det har jeg desværre ikke selv prøvet, da jeg giver den strøm fra et skab lige ved siden af måleren.

      1. Mikkel Avatar
        Mikkel

        Nej, måske jeg har sat noget op forkert, men har ingen indikerer af hvad det skulle være.

        Jeg har en D1 Mini men den kommer aldrig i luften når den forsynes fra måleren.

  3. Henrik Schulz Avatar
    Henrik Schulz

    Hej
    Tak for en rigtig god gennemgang som jeg har støttet mig meget til i mit projekt. Jeg har fået alt til at virke lige undtaget og modtaget data fra HAN. Jeg har kontaktet kampstrup, men de siger at det ser rigt ud!

    Hvad kan jeg gøre for at teste at der er liv i pin 5 på HAN interfacet?
    På forhånd mange tak

    Henrik

    1. Morten Avatar

      Hej Henrik. Det var lidt i samme stil jeg var ude for, hvor både Kamstrup og mit elværk bekræftede, at alt så godt ud. Jeg havde Kamstrup i røret da jeg fik mit til at virke, og det kom til at virke efter ham nordmanden fra Kamstrup (Tor Berg) fik “slået det fra og til”. Alt så ud til at virke, men han sagde han prøvede ét eller andet, og så virkede det pludseligt. Som han forklarede det til mig, lød det som om han lavede en “slå fra – gem – slå til – gem”. Men hvad han reelt set har gjort ved jeg desværre ikke.

      Har du en logic analyzer (de koster et par kroner fra Kina), kan du måle om der kommer et pulse hvert 10. sekund. Gør der ikke det, så kan man godt antage, at HAN interfacet ikke er slået til.

      1. Henrik Schulz Avatar
        Henrik Schulz

        Hej Morten
        Tak for din kommentar, – jeg må sige jeg endte det samme sted, jeg ringede og spurgte om alt så godt ud, – svaret var at det gjorde det. Men han har gjort noget fordi nu kommer der data, og jeg har vitterligt intet gjort. Det virker som om at der bliver aktiveret noget via deres configuration når de kontakter vores el-målere.

        1. Morten Avatar

          Perfekt! Ja, det kan vist godt tage lidt tid, før det slår igennem ud til elmåleren. Mit kom med det samme, så det kan være vi har været heldige, at det kom med ud i en opdatering (som måske sker hver x antal timer). Aner ikke hvordan de snakker med elmåleren, men det er vist noget trådløst mesh halløj.. men aner det ikke. Men godt at det virker og godt jeg kunne hjælpe! 🙂

  4. Jan Avatar
    Jan

    Tak for en rigtig fin guide! Er også selv ved at bevæge mig ud i dette projekt.

    Håber du kan hjælpe med et par afklarende spørgsmål?

    Er der nogen steder/muligheder for at se hvilken version elmåler man har? Eller er det blot at kontakte, netselskab eller kamstrup for at få dette oplyst?

    Hvad bruger du til at encase selve elektronikken (ES8266)? Som kan være i HAN modul slot på elmåleren eller lader du den blot hænge frit?

    1. Morten Avatar

      Mig bekendt er det ikke muligt at vide noget om elmåleren, med mindre man kontakter sit elværk.

  5. Martin Brandt Avatar
    Martin Brandt

    Hej
    Tak for en super guide. Jeg får data fra måleren og har fået det ind i HA, jeg har dog lidt problemer med at få data ind i Energy siden i HA, jeg har fulgt din guide fuldstændig, har du nogle gode råd? 🙂 Jeg får fint watt forbrug ind i min kamstrup entity.

  6. Jesper Larsen-Ledet Avatar
    Jesper Larsen-Ledet

    Efter opgradering til Home Assistant 2022.2.0 er det nødvendigt at ændre state_class for sensor.energy_spent til total_increasing

    sensor.energy_spent:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: kWh

  7. Kåre Rasmussen Avatar
    Kåre Rasmussen

    Hej
    Super fedt projekt. Jeg er kunde hos Radius. Her får vi kun udleveret en nøgle. Hvad skal jeg gøre for at projektet kan virke på disse målere?

    1. Peter Avatar
      Peter

      Hej Kåre bedre sent end aldrig Xenoblog skriver på sin side: With Radius you have to ask for the “DIY” keys (DLMS/COSEM). This means you get 2 keys instead of 1, which is used for the HAN module. så hvis du ikke allerede har gjort det så skriv til dem. igen

      1. Torger Avatar
        Torger

        Svar til arkivet:

        Radius har (nu) en meget nem selvbetjeningsløsning hvor man kan bestille de rigtige nøgler.

        https://radiuselnet.dk/elnetkunder/krypteringsnoegle-til-elmaaler/

  8. Kåre Rasmussen Avatar
    Kåre Rasmussen

    Et andet spørgsmål. Jeg kan simpelthen ikke finde ud af i koden, hvor man sætter op hvilken pin ESP skal kommunikere med mod måleren?

  9. Ronnie Avatar
    Ronnie

    Ifølge netselskabet N1, understøtter deres kamstrup elmålere ikke HAN-NVE modul. Men den understøtter derimod SmartMe modulet.

  10. Theis Mønsted Avatar
    Theis Mønsted

    Hey Morten
    Tak for et fedt indspark der fik mig igang med at lege med live måling af forbrug mm!
    Jeg har et par forslag som man evt kan vælge at bruge

    (Jeg kører eclipse-mosquitto i en Docker container, har ikke meget erfaring med MQTT, så måske derfor jeg oplever lidt noget andet end dig)
    I AmsToMqttBridge har jeg sat payload til “Home-Assistant”, da jeg ellers bliver spammet i home-assistant.log med fejl.
    Jeg har så lavet config på den her måde, så jeg både får forbrug (import) og det mine solceller har sendt ud (export) med i Home Assistant:
    sensor:
    – platform: mqtt
    name: “Kamstrup Power Import”
    unit_of_measurement: “watts”
    state_topic: “homeassistant/sensor/kamstrup-meter/config/power”
    value_template: “{{ value_json.P }}”
    device_class: ‘power’
    state_class: ‘measurement’

    – platform: integration
    source: sensor.kamstrup_power_import
    name: energy_imported
    unit_prefix: k
    round: 2

    – platform: mqtt
    name: “Kamstrup Power Export”
    unit_of_measurement: “watts”
    state_topic: “homeassistant/sensor/kamstrup-meter/config/power”
    value_template: “{{ value_json.PO }}”
    device_class: ‘power’
    state_class: ‘measurement’

    – platform: integration
    source: sensor.kamstrup_power_export
    name: energy_exported
    unit_prefix: k
    round: 2

    homeassistant:
    customize_glob:
    sensor.kamstrup_power_import:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: energy
    state_class: measurement
    sensor.energy_imported:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: energy
    state_class: measurement
    unit_of_measurement: kWh

    sensor.kamstrup_power_export:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: energy
    state_class: measurement
    sensor.energy_exported:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: energy
    state_class: measurement
    unit_of_measurement: kWh

    1. Theis Mønsted Avatar
      Theis Mønsted

      Og kan så ikke lave code formatteret kommentar 🙂 – essensen er blot at jeg bruger en import og export sensor hvor state topic for begge er “homeassistant/sensor/kamstrup-meter/config/power” og value_template er “value_json.P” for importeret strøm og “value_json.P0” for exporteret

  11. Henrik Schulz Avatar
    Henrik Schulz

    Hej
    Jeg ville ikke vide hvad jeg skulle have gjort uden denne side til at starte med.

    Hvis man opgradere til den nye version i mit tilfælde til Home Assistant 2022.4.3, så er der lavet om på state_class, dvs. ovenstående skal være:

    homeassistant:
    customize_glob:
    sensor.kamstrup_power:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: power
    state_class: measurement
    #state_class: total_increasing
    sensor.energy_spent:
    last_reset: ‘1970-01-01T00:00:00+00:00’
    device_class: energy
    #state_class: measurement
    state_class: total_increasing
    unit_of_measurement: kWh

  12. Bjarke Mortensen Avatar
    Bjarke Mortensen

    Spændende projekt, som jeg har tænkt mig at prøve at eftergøre 🙂

    Ved du om HAN interfacet giver mere data end det optiske interface, som man vel kan aflæse uden nøgler, f.eks. med https://frient.com/products/electricity-meter-interface/?

    1. Morten Avatar

      Hej Bjarke. Ja, HAN interfacet giver mere data end det optiske øje. Her er et dump fra AmsToMqttBridge:

      {
      “id”: “XXXXXX”,
      “name”: “XXXXXXX”,
      “up”: 8322875,
      “t”: 1655905860,
      “vcc”: 3.322,
      “rssi”: -54,
      “temp”: -127,
      “data”: {
      “lv”: “Kamstrup_V0001”,
      “id”: “XXXXXXXX”,
      “type”: “XXXXXXXX”,
      “P”: 670,
      “Q”: 0,
      “PO”: 0,
      “QO”: 444,
      “I1”: 0.88,
      “I2”: 1.07,
      “I3”: 2.03,
      “U1”: 235,
      “U2”: 234,
      “U3”: 232
      }
      }

      Den viser strøm, spænding og forbrug på hver fase. Hvis formålet er at se det totale forbrug, så kan en frient sagtens gøre det også. Dog skal man være opmærksom på, at med HAN interfacet får du opdateringer hvert 10. sekund, og man kan derved (tror jeg) få lidt mere præcision. Øjet sender jo noget i stil med 100 blink pr. kWh eller sådan noget (kan ikke helt huske hvor meget), og der er jo en lille chance for, at det ikke bliver opfanget.

  13. Bjarke Mortensen Avatar
    Bjarke Mortensen

    Det giver mening, så jeg går med HAN interfacet. Det er jo også sjovere at bygge noget selv 🙂
    Tak!

  14. Mikkel Flindt Heisterberg Avatar
    Mikkel Flindt Heisterberg

    Nogen der har forsøgt at lege med dette samtidig med de har en løsning fra eksmpelvis smart-me? Jeg har et smart-me KAM modul i min måler jeg fik af en bekendt, men der kan jeg kun få data hvert minut via deres (gratis) API hvis det generer mit lidt jeg skal afhænge af deres API. Jeg har fået krypteringsnøglen fra mit el-selskab for at få gang i det, men det er kun den ene af de to nøgler der omtales her. Erfaringer modtages gerne.

    1. Morten Avatar

      Jeg kan se, du er med i den danske Home Assistant gruppe på Facebook. Prøv at spørge der, om nogen har fået Smart-Me og AmsToMqttBridge til at virke. Jeg ved desværre ikke, om man kan flashe den med AmsToMqttBridge, men det gør andre helt sikkert.

      1. Mikkel Flindt Heisterberg Avatar
        Mikkel Flindt Heisterberg

        Mente egentlig mere om man kunne gå frem og tilbage mellem smart-me HAN modulet og AmsToMqttBridge. Men tak. Sprøger der.

  15. Kasper Nielsen Avatar
    Kasper Nielsen

    hej
    jeg kan ikke finde et program til at flashe min esp8266 med AmsToMqttBridge,
    er på windows,
    har tidligere brugt Arduino ide til cayenne my devices

  16. Lennart Jørgensen Avatar
    Lennart Jørgensen

    Dette lyder bestemt som et spændende projekt.
    Jeg vil starte med krypteringsnøgler og et smart-me kamstrup Modul til Omnipower.
    Er der nogen som ved hvor dette kan købes i DK?
    Mvh
    Lennart

  17. Jens F Avatar
    Jens F

    Tusind tak for guiden – uden den var jeg jo ikke en gang kommet til der hvor jeg nu er gået i stå 🙁
    Jeg har en Kamstrup måler og fået nøglerne fra Radius. Jeg har haft et scope på og kan se at der kommer data hver 10. sekund.
    Men ligegyldig hvad så vil AMS reader 2.1.7 ikke dekode data … Telnet fortæller “Unknown data format”.
    Lige når jeg booter min ESP8266 (https://www.aliexpress.com/item/32635160765.html?spm=a2g0o.order_list.0.0.3ed81802WU0E6m) går indikatoren i GUL men nogle sekunder efter går den i RØD igen.
    Er der nogen der har et bud på næste trin i fejlsøgningen?
    Og hvorfor kan jeg ikke vælge en målertype i konfigurationen .. der er bare et gråt felt uden dropdown menu – det er måske her fejlen ligger?

    1. Mads W Avatar
      Mads W

      Hej Jens, det virker fint for mig med 2.1.7 på en ESP32 WROOM. Jeg skulle ikke vælge målertype – det skete automatisk. Da jeg havde indtastet krypteringsnøglerne gik der et par minutter før det virkede (først troede jeg ikke at der var hul igennem, men ventede heldigvis lidt og så virkede det.). Jeg har tidligere kørt med 1.5.7 også uden problemer.
      ESP32’en står i øvrigt med rød LED og blinker lidt en gang i mellem – måske når der kommer data.

  18. Jens F Avatar
    Jens F

    … har fået det til at virke med version 1.5.7 hvor jeg kunne manuelt vælge Kamstrup encrypted. Nu mangler MQTT …

    1. Michael Christensen Avatar
      Michael Christensen

      Hej Jens, Jeg er præcis der hvor du var d. 9 sep. Altså med AMS reader 2.1.7 og en HAN der går i rød. Den læser een værdi når jeg booter og så går den i stå. Jeg anvender også en D1 Wemos ESP8266 som dig. Du skriver du har fået det til at virke med version 1.5.7? Har du nogen ide hvorfor? Jeg prøver også med 1.5.7 nu….

  19. Michael Christensen Avatar
    Michael Christensen

    Hej, super gennemgang 🙂 Jeg har fulgt den og er nu i mål 🙂 MEN det var ikke uden bump på vejen som jeg tænkte jeg ville dele med andre. Jeg havde problemer med stabiliteten med en flashet esp8266 Wemos D1 Mini med AMS reader v2.1.7. “HAN” indikatoren startede grøn efter hver boot men blev hurtig gul og så rød. Aflænsningsmæssigt betød det at jeg i realiteten kun fik læst en værdi (lidt samme symtom som Jens F). Jeg prøvede lidt af hvert, men det der virkede for mig var at anvende et esp32 d1 mini istedet. Efter det med præcis samme opsætning så virkede alt som det skulle. Endnu engang tak for din kogebog, det er folk som dig der holder gang i DIY hjulene 🙂

  20. Mads Lykke Avatar
    Mads Lykke

    Fedt projet – billigere og bedre kan det ikke gøres. Jeg fik koderne fra Radius/Kamstrup efter to dage og koblede det op med en ESP8266 i eftermiddag – det spiller bare 🙂

    På JSON output kan jeg se Q, QO, tQI og tQO – hvad er det for data? P og PO er watt ind/ud, men Q?

    1. Morten Avatar

      Tak! Hvis man kigger på https://radiuselnet.dk/wp-content/uploads/5512-2584_GB_B1_OMNIPOWER-HAN-interface-specification.pdf kan man se lidt sjove ting på side 11 til 14. Det giver en lidt bedre indikation. Dog vil jeg sige, du i stedet for skal prøve at henvende dig til Gunnar’s AmsToMqttBridge projekt: https://github.com/gskjold/AmsToMqttBridge

      Måske kan du finde det i kildekoden, hvis du kan læse C kode, ellers skal du søge/spørge 🙂

  21. Anders Avatar
    Anders

    Hej. Har brugt denne side meget, til at få energi-overblik i HA. Det virker fantastisk. Det eneste jeg kæmper med er at få min ESP8266 til at køre uden micro-usb. Det virker som om d 4.8v HAN interfacet leverer ikke er nok til at køre den via VIN pin’en. Jeg har prøvet med både en nodemcu v2 og v3, og de blinker blot en enkelt gang og kommer så ikke vifdere. Burde jeg ikke kunne det? Hvad er det jeg overser?

    1. Morten Avatar

      Hej Anders. HAN interfacet smider desværre ikke nok strøm ud, til at holde en NodeMCU kørende. Det kan måske lade sig gøre, hvis du laver noget deep sleep og så vågner op lige når den sender igen (hvert 10. sekund), og så får strømmen fra nogle kondensatorer der bliver ladt op. Dog har jeg kun hørt folk gøre det, med ESPer der ikke er NodeMCUer, da du mister en del pga. spændingsregulatoren, LEDer osv. på den.

  22. Flemming Nielsen Avatar
    Flemming Nielsen

    Fantastisk guide 🙂
    Jeg havde dog 2 udfordringer:
    De keys jeg fik hed ikke GPK60 og GPK61, men GPK10 og GPK11.
    Jeg prøvede at smide dem ind alligevel, men uden held.
    Jeg rodede så rundt inde på https://github.com/gskjold/AmsToMqttBridge/wiki/
    Og så at pariteten p åmåleren skulle til 8N1, men pr default stod den til 8E1.

    Da jeg ændrede det spillede alt 🙂

  23. Troels Olsen Avatar
    Troels Olsen

    Er der nogen der har NordEnergiNet som har fået det til at spille? Har en Wemos D1 kørt på med AMS reader 2.1.14, har fået og indtastet GPK60 og 61, sikret hastighed står til 2400 baud og paritet til 8N1, men får stadig ikke data. NordEnergiNet bedyrer at HAN bestemt er aktiveret. Ved genstart af Wemos’en starter HAN ud i gul og bliver rød efter 30 sekunder, så det tyder på at der er total radiotavshed.

    1. Troels Olsen Avatar
      Troels Olsen

      Hov vent – har lige genstartet AMS reader, og den starter ud med grøn HAN, går så over i gul og derefter i rød. Ser ingen data. Skal jeg forsøge at lave telnet-udlæsning, eller overser jeg noget helt åbenlyst? 🙂

      1. Kim Næser Avatar
        Kim Næser

        Jeg oplever præcis det samme som dig. Har du fundet fejlen?
        Jeg sidder nemlig fast på 3. time nu.. 🙂

        1. Morten Avatar

          Hej Kim. Jeg har samme problem, desværre. Lige pludseligt stoppede min løsning med at virke, som jo startede hele denne guide, og jeg har ikke fået det til at virke.

          Jeg kører i dag HA Glow i stedet for (da jeg var ret afhængig af dataen, da jeg bruger det til at beregne min elpris). Ikast El Net vil ikke hjælpe yderligere og Kamstrup siger at alt er som det skal være. Jeg kan for 2210 kroner få tjekket min måler for fejl, som jeg kun skal betale, hvis der IKKE er noget galt med måleren. Rigtig øv 🙁

          1. Kim Næser Avatar
            Kim Næser

            OK.. Tak for din besked. Jeg har bedt N1 om at deaktivere og aktiver HAN porten igen, så må jeg se om det virker.

            Jeg kører selv GLOW i HA nu, det virker jo sådanset fint nok.

            1. Troels Olsen Avatar
              Troels Olsen

              Det er ret let at finde ud af om der kommer data – mål på GND og DATA på din elmåler (brug gerne nogle connectors i stedet for at forsøge at probe direkte på benene, det giver sådan en træls risiko for at kortslutte dem), de skal gerne være konstant 3.3 volt og droppe ca. hvert 10. sekund, i ½-1 sekund, for at komme op på 3.3 volt.

              Hvis de gør det, kommer der datapakker – i så fald skal du kigge nærmere på f.eks. paritet, eller om dit board måske lider af samme problem som mit (som efter sigende beror på at Wi-Fi delen bruger for meget strøm, som betyder at det bliver knebent med energi til at processere data mens Wi-Fi delen kommunikerer).

        2. Troels Olsen Avatar
          Troels Olsen

          Ja, jeg fik det faktisk løst – det er lidt skidt jeg aldrig fik skrevet hvordan. Havde ikke held med et eneste EX8266 board. Jeg købte et board med ESP32 i stedet, og har ikke haft problemer siden overhovedet.

  24. Troels Olsen Avatar
    Troels Olsen

    Ja, jeg fik det faktisk løst – det er lidt skidt jeg aldrig fik skrevet hvordan. Havde ikke held med et eneste EX8266 board. Jeg købte et board med ESP32 i stedet, og har ikke haft problemer siden overhovedet.

    1. Kim Næser Avatar
      Kim Næser

      Min virker også nu. Jeg fik N1 til at slukke og tænde HAN porten.. så alt godt nu.

  25. Christian Leicht Avatar
    Christian Leicht

    Hej,
    Jeg har med held fået opsat dette, uden problemer.
    Alt lyser grønt, og jeg får phase voltage, phase current og reactive værdier ind i dashboardet.
    Dog får jeg ingen real time consumption.
    Kan det have noget med elmåleren at gøre? Den er fra ~2010.

  26. Imad El Youssef Avatar
    Imad El Youssef

    Hej,

    Måske et dumt spørgsmål, er det eneste hardware man skal bruge en ESP8266? Sidder der et HAN modul i elmåleren allerede eller hvordan skal det forstås?

    1. Morten Avatar

      Ingen dumme spørgsmål her 👍 Ja, det er helt korrekt at en ESP8266 eller ESP32 er det eneste, du skal bruge. Den kobler du på de to pins der sidder på måleren, og så sørger ESPen for at dekryptere dataen som måleren sender via AmsToMqttBridge.

  27. Jensen Avatar
    Jensen

    Fantastisk deling af viden her. Meget værdsat.
    Nu er Watts Live kommet på markedet til udvalgte el-målere – og så vidt jeg kan se er der ikke nogen åben API man kan tilgå. Den findes, da den kommunikerer med Watts-appen. Nogen der ved mere herom eller har en workaround?

    1. Morten Avatar

      Det findes og jeg har fået lidt ekslusivt adgang. Du har dog ikke mulighed for at hente data live, men nærmere hver time. Jeg er i dialog med dem om, at få direkte adgang til deres socket forbindelse, og det er de vist ved at undersøge. Så time will tell om det bliver aktuelt 🙂

      1. Kresten Avatar
        Kresten

        Det er super interessant hvis Watts åbner for deres socket eller MQTT eller hvad de nu bruger. Så vil deres kort være en billig og hurtig løsning for rigtig mange.

  28. Peter Avatar
    Peter

    Der er noget jeg ikke helt kan greje….
    Opdagede i går (tilfældigt) at den værdi som elmåleren viser i export Hour ikke stemmer overens med det som energy side i HA viser og beregner efter.
    F.eks havde jeg produceret .3 kwh (dvs. overskud) mellem kl. 08-09 her i dag, jvf. min elmåler har den ikke lavet strøm.
    Så spg. er hvor/hvorfra kommer den værdi fra… :(, i går blev det til en forskel på omkring 1 kwh, jeg helt med på der er en forsinkelse i det energy siden viser, men f.eks i går var den havde den genenm hele dag en højere kwh export værdi en det AMS havde samlet op.

    En anden ting så har jeg i går skrevet til udvikleren at den kunne være rigtigt smart hvis vi kunne taste beløb ind for transport og andre tillæg til kwh prisen både ved import og export, det håber jeg kommer…

    1. Morten Avatar

      Er det AMSToMqttBridge der har en værdi også? For den ville jeg stole mere på end den du ser i Home Assistant, hvis de to værdier er forskellige. Mest fordi “hvad nu hvis” forbindelsen til MQTT blev cuttet, WiFi var ustabilt, Home Assistant ikke modtog beskeden fordi den blev genstartet eller lignende. Den værdi på ESPen er jo “lokal”, så den tæller op uanset om der er WiFi eller ej.

  29. Peter Avatar
    Peter

    Det er altså super mærkeligt
    Sidder lige og vil bekræftiges i at der er noget galt med energy/AWS reader værdierne for KWH export….
    Jeg sværger, at der kort for vi startede på en ny time stod en højere KWH værdi i min KWH export, den værdi har energy så lige snuppet over i sin grafik, men værdi af KWH export faldt med 0.3-0.4 kwh….

  30. David Torsten Svarrer Avatar
    David Torsten Svarrer

    Halløjsan.

    Hvis nu man gerne vil kende til prissætningen. Sker den OGSÅ i måleren, eller hvordan finder elselskabet ud af, hvad man har forbrugt på forskellige tidspunkter?

    Og tidssætningen – jeg har set på min måler, at dens tid er forskellig fra den “rigtige” tid, som man kan finde på tids-servere. Den kan være forkert med adskillige minutter. Derfor er jeg noget bekymret for hvad regningen bliver på forskellige tidspunkter, hvor jeg f.eks. tror at prisen er faldet, så går der måske 5 minutter inden tiden på måleren rent faktisk bilder sig ind at klokken er 1:00 om natten hvor prisen er faldet.

    Har du check på disse ting, eller ved du hvor man kan finde den slags detaljer?

    1. Morten Avatar

      Prissætning sker ikke i måleren. Måleren ved intet om priser, men blot hvad forbruget, belastningen osv. er. Elselskabet får tallene at vide ved at bruge eloverblik.dk som et eksempel. De har dog “fuldmagt” til at aflæse din målers forbrug time for time.

      Forbrug og tid på måler har intet med hinanden at gøre, for så ville man jo egentligt også kunne snyde, ved at bruge en masse strøm når det er dyrt, men skrue tiden tilbage til når det er billigt 🙂

      1. David Svarrer, Kenya Tree Planting Group Avatar
        David Svarrer, Kenya Tree Planting Group

        Hvis måleren ikke kender tid eller priser hvordan kan man så sikre sig at man er synkroniseret korrekt med skiftet i priser hver time?

        Der er mange som har lavet eksperimenter og har fundet at måleren måler meget korrekt den forbrugte effekt men ikke på det rigtige tidspunkt.

        Eksempelvis har de tændt på sekundet for en elpatron på 5 kiloWatt og slukket på sekundet mens tidsangivelsen på regningen overlappede ind i næste og forrige timer med mange minutter.

        Har du en ide om hvorfor de ikke kan finde ud af det?

        Hvis målerne blev vedligeholdt så de kendte tiden akkurat og sendte et ti-sekunders signal med tid og forbrug i de 10 sekunder så kunne man jo ret beset lave fine styringer der ville komme alle til gode.

        Hvad er dine tanker om det?

        Jeg er i øvrigt en rimeligt habil udvikler i ESP8266 og alt det der småkravl af processorer og er imponeret af at du har fået en sådan kryptering til at køre på den bette dems’.

        Tak for dit svar.. det værdsætter jeg meget.

        1. Morten Avatar

          Jeg er ikke udvikler af noget af det her – al credit går til AmsToMqttBridge udviklerne 🙂 Men mig bekendt så er elmåleren ligegyldig i forhold til tidspunktet. Hvis det du siger er sandt, så kan man jo bare koble det trådløse modul fra, og så sender din måler aldrig målinger afsted, og så har du gratis strøm. Sådan virker det jo ikke 🙂

          Men, lad os bare for sjovt lege med at det er sandt, og at uret er 5 minutter foran, og du er ved at oplade en elbil. Du oplader med 13 kW og prisen klokken 00:59 er 50 øre, men klokken 01:00 er prisen 300 øre. Det vil sige du lader i 5 minutter til en pris á 300 øre pr. kWh i stedet for 50 øre. 13 kW * 1 time * 300 øre = 39 kroner. 39 kroner / (60 minutter / 5 minutter) = 3.25 kroner. Hvis vi så lige siger 3.25 – (3.25 kroner / (300 / 50))) = 2.70. Det har derfor kostet dig 2.7 kroner at uret var sat forkert, og det er absolut worst case. Realistisk snakker vi måske 50 øre. Har du ikke elbil eller noget der bruger meget strøm, så er det endnu mere ligegyldigt. Øre per måned. Så nej, jeg ville slet ikke være bekymret 🙂

  31. Christian Avatar
    Christian

    Tusind tak for en fantastisk guide!
    Jeg har desværre ikke let adgang til strøm i mit elskab, hvilket skaber mange interessante udfordringer.
    Pt forsøger jeg mig med strømforsyning via 4×1,v genopladelige batterier som omdannes til 3,3v, men desværre oplever jeg at der ikke lades tilstrækkeligt på batterierne og derfor fungerer systemet ikke efter nogle dage.
    Jeg tænker at det kunne hjælpe at få ESP’en til at gå mere i dvale og sende data mere sjældent, men jeg er i tvivl om hvordan det gøres.
    Et fif, link eller lignende vil være meget værdsat.

    1. Morten Avatar

      Jeg ved at der har været snak om det mange gange inde på den danske Home Assistant Facebook gruppe, men det virker mig bekendt ikke med AmsToMqttBridge, for den er vågen hele tiden. Det man kan gøre i stedet er at bruge en af de andre løsninger, men så sætte ESPen til at gå i deep sleep, indtil den skal vågne igen og modtage ny data (og så sende det). Det kræver bare en super kondensator der kan lades op med de 4.15 volt som Kamstrup elmåleren giver, men den konstante strøm er så lav, at den lige nøjagtigt kan holde den i live. Meld dig eventuelt ind og spørg, så skal en person ved navn Morten Vinding nok svare, hvis han ser opslaget 🙂

  32. Simon Avatar
    Simon

    Jeg ville igang med denne spændende guide, men min spritnye elmåler har ikke de pins – men i stedet et RJ45-lignende stik. Hvordan kobler man sin ESP32 på det min? Manden fra elværket fortalte den har HAN-modulet og han har aktiveret det. Men jeg har bare ikke pins – men som sagt et RJ45-stik. Nogen ide til hvordan jeg kobler mig på det?

    1. Simon Avatar
      Simon

      Rettelse: det er et RJ12 stik 🙂

  33. Jesper N Avatar
    Jesper N

    Spædende projekt. Det må prøves….

    Er der nogen her som har kendskab til nogen som har tegnet en plastik dims man kan 3D printe og så kan klikke i slottet i måleren?? Lige som Watts live modul.
    Tænker vi er mange som gerne vil ha dette installeret, så det ville være cool hvis der var 3D model, som passede til et af de standard EPS8266 boards man købe. Og gerne så et lille kabel med stik til måler siden kan klemmes/klikkes fast.
    Vi burde kune lave os et lille kit. Køb xxx board og yyy ledning/stik, print den her dims og klik det hele sammen.

    1. Michael Jørgensen Avatar
      Michael Jørgensen

      Hej Jesper

      Er det housing til ESP’en du eftersøger ?

      https://www.thingiverse.com/thing:1305796

      Eller er den et formstøbt stik til Kamstrup måleren ? (har jeg ikke kunnet finde, men så må jeg jo tegne det selv)

      /Michael

  34. Michael J Avatar
    Michael J

    Hej Jesper

    Er det housing til ESP’en du eftersøger ?

    https://www.thingiverse.com/thing:1305796

    Eller er den et formstøbt stik til Kamstrup måleren ? (har jeg ikke kunnet finde, men så må jeg jo tegne det selv)

    /Michael

  35. Michael J Avatar
    Michael J

    Hej Morten

    Jeg har brugt din løsning i snart et år, og det virker jo bare derudaf’ ! 🙂 så mange tak og Kudos for det.
    Det kunne være episk at have et display ved siden af måleren med en lille skærm, som f.eks, denne :

    WT32-SC01-Plus (der er dog billigere modeller uden touch).

    Jeg kan desværre ikke vedhæfte et screen shot fra min Home assistant hér, men jeg samler også statistik på månesvis og års-vis over forbrug på specifikke enheder, som f.ek.s vaskemaskine og varmepumpe, og det ville da være sejt at kunne se ude på strømmåleren (for dem der er for dovne til at gå ind i et hvilket som helst rum og se på tabletten… LOL).
    Lad os være ærlige – meget af dét vi laver med vores hjemme automatisering, er jo WAOW-faktorer !
    – fordi vi kan.

    /Michael J

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *