Hvordan aflæser jeg S0‑pulser fra elmåleren?

Ville du ønske, at du kunne se dit elforbrug skifte, mens du tænder for elkedlen? Eller måske drømmer du om at lade varmepumpen tale direkte sammen med dit smarthome, så den kun kører, når strømmen er billigst? De fleste moderne elmålere gemmer allerede nøglen til disse muligheder – S0-pulserne – men alt for få husejere ved, hvordan de aflæses.

I denne guide på Varme, Afløb & Teknik går vi fra den første gnist af nysgerrighed til den sidste linje kode. Vi viser dig, hvordan de små klik fra en åben-kollektor kan oversættes til konkrete kWh, prognoser for dit næste forbrugstop og automatiske beskeder i din Home Assistant-setup.

Uanset om du bare vil holde øje med familiens strømvaner, eller om du er klar til at koble hele huset op på et gør-det-selv-dashboard, får du her svar på:

  • Hvad S0-pulser egentlig er, og hvorfor de er standarden, som elselskaberne sværger til.
  • Hvor du finder de rette klemmer og konstanter på din elmåler – uden at rode med farlige spændinger.
  • Hvilket hardware og hvilke sikkerhedsregler der gælder, når du vil tælle pulser med alt fra færdige DIN-moduler til en Arduino i skuffen.
  • Hvordan du omregner pulser til løbende kWh-tal, opdager fejl – og sender dataene videre til grafer, apps og automations.

Spænd skruetrækkeren, tænd loddekolben (hvis du er til den slags) og lad os dykke ned i, hvordan du aflæser S0-pulser fra elmåleren – trin for trin.

Hvad er S0‑pulser, og hvad kan du bruge dem til?

Alle moderne elmålere har en S0-udgang, der følger standarden IEC 62053-31. Udgangen er i praksis en lille elektronisk kontakt (åben-kollektor eller optokoblet transistor), som kortvarigt “slutter” hver gang elmåleren har registreret en bestemt mængde energi. Denne kortslutning kaldes en puls.

Sådan fungerer pulsen elektrisk

  • Udgangstype: Åben kollektor / optokobler (galvanisk adskilt fra målerens elektronik).
  • Forsyning: Du skal selv levere en jævnspænding igennem udgangen. Typisk 5-27 V DC.
  • Strøm: Maks. 27 mA (ofte 2-10 mA anbefalet).
  • Pulsbredde: Normalt 30-100 ms (minimum 15 ms if. standarden).
  • Maks. frekvens: 2,5 kHz (svarende til 0,4 ms pause), dog begrænset af målerens puls-konstant.

Hvad betyder puls-konstanten (imp/kwh)?

På målerens front eller datablad finder du tal som 1000 imp/kWh eller 2000 imp/kWh. Det betyder:

  1. Elmåleren sender 1000 pulser for hver forbrugt 1 kWh, hvis konstanten er 1000 imp/kWh.
  2. Hver puls repræsenterer da 1 / 1000 = 0,001 kWh (=1 Wh) energi.

Fra pulser til energidata

  • Akkumuleret energi (kWh)
    Tæl pulser og del med puls-konstanten:
    kWh = antal_pulser / imp_per_kWh.
  • Øjeblikseffekt (kW)
    Mål tiden Δt mellem to på hinanden følgende pulser.
    kW = 3 600 / (imp_per_kWh × Δt_s)
    – hvor 3600 er sekunder pr. time. Jo kortere tid mellem pulserne, jo højere effekt.

Denne enkle pulsbaserede metode gør det muligt at logge og visualisere energiforbrug med billige mikrocontrollere eller færdige S0-pulstællere, uden at du behøver adgang til de mere komplekse, krypterede data i elmålerens M-Bus eller HAN-port.

Find S0‑udgangen og data på din elmåler

Inden du kan høste pulsdata fra elmåleren, skal du vide hvor udgangen sidder, og hvad den viser. Følg trin-for-trin-guiden herunder.

1. Lokaliser klemmerne

  1. Åbn målerens klemmeafdækning
    Skru afdækningen af (oftest plomberet – du må ikke bryde plomber uden netselskabets tilladelse). På de fleste målere er S0-terminalerne placeret i et separat lavspændingsafsnit øverst eller nederst.
  2. Find mærkningen
    Kig efter én af disse kombinationer på klemraden eller i det silketrykte layout:
    Mærkning Poler Bemærkning
    S0+, S0- + Standard betegnelse i IEC 62053-31
    A, B A = kollektor, B = emitter Bruges af bl.a. Landis+Gyr
    20, 21 20 = kollektor, 21 = emitter Udbredt på Kamstrup-målerne
    k, l k = kollektor, l = emitter Tysk DIN-mærkning

    Kollektor-siden (S0+, A, 20, k) er den, du forbinder til plus igennem din pull-up-modstand.

2. Led-indikator hjælper dig

Ud over klemmerne indeholder næsten alle elmålere en rød eller grøn impuls-LED på fronten. Den blinker med samme puls-konstant som S0-udgangen – nyttigt til hurtig verifikation af, at måleren overhovedet afgiver pulser.

3. Aflæs puls-konstanten (imp/kwh)

Se efter teksten “800 imp/kWh”, “1000 imp/kWh” eller lignende, som typisk står tæt på LED’en eller displayet. Tallet fortæller, hvor mange pulser der svarer til 1 kWh:

  • 800 imp/kWh ⇒ 1 puls = 1,25 Wh
  • 1000 imp/kWh ⇒ 1 puls = 1 Wh

Notér værdien – den skal bruges i softwaren, når du omsætter pulser til energi og effekt.

4. Tjek for flere kanaler

Nogle elmålere (især dem til solcelleinstallationer) har separate S0-par for import og eksport af energi. Producenter markerer dem forskelligt:

  • IMP+ / EXP+” eller “A1/B1” og “A2/B2”
  • Farvede terminalskruer (fx sort for import, rød for eksport)

Vil du måle begge retninger, skal du føre to signalledninger ud og konfigurere to tællere i din software.

5. Find databladet og målerens konfiguration

  1. Notér typebetegnelsen på displayrammen eller etiket – f.eks. “Kamstrup 382L” eller “Iskra MT372-DT4”.
  2. Besøg producentens website og søg på modelnavnet + “datasheet” eller “technical manual”. PDF’en indeholder altid:
    • S0-elektriske parametre (spænding 5-27 Vdc, maks. 27 mA osv.)
    • Maksimal puls­frekvens (typisk 1 kHz eller 2,5 ms puls­længde)
    • Beskrivelse af import/eksport-kanaler og eventuelle DIP-switch-valg
  3. Spørg netselskabet hvis dokumentationen mangler. De kan oplyse firmware-opsætning (fx om S0 er aktiveret, pulsbredde, konstant osv.).

Når du har styr på klemmer, puls-konstant og kanalantal, er du klar til næste skridt: at tilslutte din pulstæller eller mikrocontroller på en sikker måde.

Sikker tilslutning og hardwarevalg

Der findes to hovedveje, hvis du vil opsamle S0-pulser:

  1. Færdige pulstællere / DIN-moduler
    • Monteres direkte i tavlen ved siden af elmåleren.
    • Har galvanisk adskillelse, intern strømforsyning og skrueterminaler.
    • Kan ofte aflevere data som Modbus RTU/TCP, M-Bus, MQTT eller tørre kontakter.
    • Fordel: plug-and-play, ingen lodning eller programmering, CE-mærkede.
    • Ulempe: Højere pris og mindre fleksibilitet ift. egen logik.
  2. DIY med mikrocontroller (Arduino, ESP32, Raspberry Pi + GPIO)
    • Billigt og fleksibelt – kan sende data til Home Assistant, InfluxDB, Grafana mv.
    • Kræver selvbygget inputkreds, 5-24 V forsyning og korrekt isolation.
    • Fordel: Fuldkontrol over kode, OTA-opdateringer, Wi-Fi/BLE indbygget (ESP32).
    • Ulempe: Skal designes og testes forsvarligt, ingen officiel typegodkendelse.

Korrekt tilslutning af s0-udgangen

Elmåler Din inputkreds Forklaring
S0 + (kollektor) Pull-up modstand til +5/12/24 V Åben kollektor trækkes lav, så pulsen registreres som 0 V
S0 – (emitter) 0 V / GND Fælles reference – må ikke kobles til netjord
Indsæt en optokobler eller et dedikeret S0-interface mellem elmåler og elektronik for galvanisk isolation (mindst 2,5 kV).
  • Typisk modstandsværdi for pull-up: 2,2-10 kΩ afhængigt af forsyningsspænding og den maksimale collector current (typisk < 30 mA).
  • Hold ledningslængden kort (<10 m) eller brug skærmet/tvistet parkabel (f.eks. LiYCY 2×0,25 mm²) for at dæmpe støj.
  • Undgå at føre S0-ledninger i samme rør som 230 V, medmindre kablet er skærmet og har dobbelt isolation.
Elmåler S0+ ---<---[2,2 kΩ]---<--- +12 V | |> Optokobler LEDElmåler S0- -------------- GNDOptokobler transistor --- GPIO (med intern interrupt) \  \-- 10 kΩ pull-up til 3,3 V

Fordelen er fuld galvanisk adskillelse mellem elmåleren (op til 27 V) og din low-voltage elektronik (3,3/5 V).

Emc-hensyn og kapsling

  • Anvend en plast- eller metal-kapsling med IP-klassificering, hvis enheden placeres i teknikskab.
  • Monter ferritperler på S0-ledninger ved indgangen for at dæmpe højeffekts-transienter.
  • Hold printbaner med S0-signal korte, og sørg for ground plane under optokobler for at reducere støj.

Sikkerhed (selv) – Det her må du ikke gøre

  • Tilslut aldrig S0-udgangen direkte til 230 V net eller en GPIO uden isolering.
  • Undlad at dele 0 V/GND fra S0 med husets beskyttelsesleder (PE).
  • Anvend kun CE-godkendte SELV-strømforsyninger (5-24 V) til din elektronik.
  • Lad en autoriseret installatør stå for fast installation i tavlen, hvis du ikke er uddannet.

Med korrekt isolation, forsyning og EMC-design får du en stabil og sikker aflæsning af elmålerens S0-pulser – klar til næste skridt: software og datalogning.

Aflæsning, beregning og fejlfinding i praksis

Uanset om du bruger en Arduino, ESP32, Raspberry Pi eller et færdigt DIN-modul, er første skridt at registrere hver S0-puls som et digitalt interrupt:

// Eksempel: ESPHome / Arduino-stilvolatile uint32_t pulseCount = 0;void IRAM_ATTR onS0Pulse() { pulseCount++; // tæller op for hver puls}void setup() { pinMode(GPIO_NUM_27, INPUT_PULLUP); // S0-signal på pin 27 attachInterrupt(GPIO_NUM_27, onS0Pulse, FALLING); // reager på faldende flanke}
  • Debounce/filtrering: Selvom S0-udgangen er optokoblet, kan mekaniske relæer eller lange kabler give små “dobbelt­puls”-glitcher. Indfør derfor en minimum pulsafstand (fx > 5 ms) eller tjek, at pcbAftand >= pulsBredde, før du tæller pulsen.
  • Max. frekvens: PWM’er må ikke køres over det, din mikrocontroller kan håndtere. Med 1000 imp/kWh svarer 11 kW til ca. 3 pulser/s – langt under grænsen for de fleste board.

2. Fra pulser til energi (kwh)

Elmålerens puls­konstant (imp/kWh) står typisk på fronten – fx 1000 imp/kWh. Energien beregnes løbende:

Formel Forklaring
E [kWh] = pulsTæller / impPrKWh Akku­muleret energi siden start

3. Øjeblikseffekt (kw) via pulsinterval

I stedet for at vente på mange pulser kan du måle tiden (Δt) mellem to på hinanden følgende pulser:

P [kW] = (3600 / impPrKWh) / Δt [s]

Eksempel: 1000 imp/kWh og en pulsafstand på 0,5 s → P = (3,6) / 0,5 = 7,2 kW.

4. Kalibrering og nulstilling

  1. Læs målerens visning ved installation (startOffset).
  2. Gem offset’en i non-volatile hukommelse (EEPROM/flash).
  3. Korriger beregninger: E_total = startOffset + pulsTæller / impPrKWh.
  4. Tester du med en fysisk belastning? Brug en lille el-vandvarmer/kogeplade og kontroller, at energien passer ±2 %.

5. Integration i dine dataplatforme

Når du har pulstælleren i software, er det let at publicere data videre:

  • ESPHome + Home Assistant
    sensor: - platform: pulse_counter pin: GPIO27 name: "Elmåler S0 Puls" update_interval: 5s filters: - multiply: 0.001 # hvis 1000 imp/kWh unit_of_measurement: "kWh"
  • Node-RED
    Brug rpi-gpio in node → triggerfunction til at udregne kW og kWh → InfluxDB/MQTT.
  • InfluxDB + Grafana
    Log både kumulativ energi og effekt. I Grafana kan du lave et derivative() af energien for at tjekke, at beregnet effekt stemmer.

6. Fejlfinding – De mest almindelige problemer

Symptom Mulig årsag Løsning
Ingen pulser tælles Forkert polaritet
Ingen forsyning til pull-up
Elmåler i standby (nul forbrug)
Byt S0+ og S0-
Tjek 5-27 V forsyning og jord
Brug testbelastning (pære, el-kedel)
Halvt antal pulser Tæller både stigende og faldende flanke Skift interrupt til FALLING eller RISING kun
Støjede pulser / dobbelt­tælling EMC fra lange kabler
Mekanisk relæ i ældre elmålere
Skærmet kabel, tvistet par
Firmware-debounce > 5 ms
Urealistisk høj effekt Imp/kWh-faktor forkert
Overflow i Δt
Kontroller tryk på måleren: 500 / 1000 / 2000 imp/kWh?
Sørg for 32-bit/64-bit timer
Microcontroller genstarter Indkoblingsstrøm fra ekstern strømforsyning Brug separat PSU til logik
Indfør RC-filter på 5 V-linjen

Med korrekt tælling, kalibrering og integration kan du nu følge husets elforbrug i realtid – helt ned på sekundniveau – og opdage både standby-slugere og spidsbelastninger, før elregningen lander.