close

Få de daglige nyheder fra Version2 og Ingeniøren. Læs mere om nyhedsbrevene her.

close
Ved at tilmelde dig accepterer du vores Brugerbetingelser, og at Mediehuset Ingeniøren og IDA-gruppen lejlighedsvis kan kontakte dig om arrangementer, analyser, nyheder, tilbud mm via telefon, SMS og email. I nyhedsbreve og mails fra Mediehuset Ingeniøren kan findes markedsføring fra samarbejdspartnere.
phloggen

Tal med din elmåler (Og Ingeniøren)

Allerførst vil jeg gerne lige opfordre alle der har rodet med energi på hjemmefronten til at melde sig ovre i Ingeniørens "ingterne" blog, hvor Julian leder efter folk der har lavet noget spændende.

Det er noget med et kommende tema om hvad der virker og hvad der ikke virker og generel Gør-Det-Selv beundring for smarte løsninger.

Og så til sagen:

Elmåleren i mit sommerhus måler strøm der render begge veje og selvom det føles rigtig 1973-agtigt at aflæse elmåleren manuelt vi jeg gerne have automatiseret det, ligesom min øvrige dataopsamling.

De fleste elmålere har en lysdiode der blinker et eller andet antal gange per kWh, men det kan jeg ikke bruge, for lysdioden kan ikke fortælle mig hvilken vej energien bevæger sig.

Men der er også en tovejs optisk datakommunikation på moderne elmålere: Cirklen med to prikker nederst til højre:

Illustration: Privatfoto

Jeg kiggede på det for nogle år siden, men løb sur i en labyrint af dokumenter, bygget af stærkstrømsfolk uden forstand på datakommunikation og en meget paraniod holdning til at dele informationer om hvordan ting virker med folk uden gummihandsker og røde bidetænger.

Idag fik jeg et spørgsmål om emnet der inspirerede mig til at Google lidt rundt, for at se om der er nogen der havde forklaret hvordan man brugte denne port i mellemtiden.

Det var der ikke.

Men der var dukket nogle forskellige spor op, bla. i nogle dokumenter der nok ikke skulle have været ud på de åbne webservere i forskellige firmaer.

Da jeg havde gravet noget i det, gik det op for mig at det er så simpelt at det er til at tude over.

Infrarødt lys, 300 bps, 7 databit, lige paritet og (næsten) ren ASCII, hvor svært kan det være ?

Jeg kunne ikke lige finde en IR-fotodiode i rodekasserne, men heldigvis er en lysdiode også en fotodiode og der lå en gammel fjernbetjening fra et eller andet stykke forlist forbrugerelektronik med tre IR-lysdioder.

Efter lidt experimenter havde jeg følgende dims:

Monteret i bedste International Space Station stil (dvs: Med DuckTape):

For at bede om en aflæsning skal man sende:

/ ? ! CR NL

Og efter et par sekunder har man modtaget:

/LGZ4\2ZMD120AMe.A04r\n \x02 F(00000000)\r\n 0.Z( 815413)\r\n 99.Z(74700132)\r\n 8.1(00183359kWh)\r\n A1(00090669kWh)\r\n A2(00042130kWh)\r\n A3(00050559kWh)\r\n 71(00000008)\r\n L1(00000008)\r\n L2(00000006)\r\n L3(00000007)\r\n 95(01-04-26 21:29)\r\n 96(01-04-26 21:10)\r\n 97(A04)\r\n 98(7EZ1120-0AA06)\r\n C.8.0(05198139)\r\n !\r\n \x03 J

Dataformatet:

Så vidt jeg kan gennemskue:

0.Z = Målernummer 8.1 = Totalforbrug A1/A2/A3 = Fase1/2/3 forbrug L1/L2/L3 = Afbrydelser 95/96 = Dato+Tid passer ca. med hvornår elmåleren blev sat op. 97 = Software version C.8.0 = Tidstæller i minutter

Disse feltnavne er standardiserede.

Rigtig mange gange endda.

Men tilsyneladende ikke på samme måde hver gang.

Gæt jer frem, det gjorde jeg.

Læg mærke til 0x02...0x03 rammen, XOR af alle bytes efter 0x02 til og med 0x03 er checksum der sendes efter 0x03, i dette tilfælde 'J'.

Forskellige noter:

Det kredsløb jeg lavede ser sådan ud:

Men det virker kun fordi jeg bruger en seriel-port direkte ind i en microcontroller.

Hvis man kigger på Kamstrups datablad for deres optiske læsehoved (koster ca. en tusse) er der et diagram uden komponentværdier på bagsiden, der tilsyneladende viser hvordan man gør det imod en RS232 port. (Hvis nogen får noget i den stil til at virke lægger jeg gerne blog til beskrivelsen.)

Elmåleren har en jernring under cirklen, så hvis man kan finde den rette ringformede magnet slipper man for Ducktape.

Jeg har skrevet et stykke Python kode der henter data i et nogenlunde brugbart format, det kan findes i mit githup project pyDLMS

Nu glæder jeg mig til at se hvad elmåleren i sommerhuset rapporterer.

God arbejdslyst...

phk

Poul-HenningKamp
er selvstændig open source-softwareudvikler. Han skriver blandt andet om politik, hysteri, spin, monopoler, frihedskampe gør-det-selv-teknologi og humor.

Via et lignende projekt fandt jeg flg:

"Kamstrup anvender IEC 61107 (tidligere IEC 1107) protokollen til dataoverførsel. Det er en måler standard, der er bredt udbredt blandt europæiske producenter af forskellige målere. Protokollen anvendes også af Landis+Gyr (tidligere Siemens)."

http://www.kamstrup.dk/media/2105/IEC61107...

  • 0
  • 0

Jeg er meget interesseret i den her teknik. Nok har jeg ikke mine solceller endnu, men jeg har fået en super smart måler ... en brugt dampdrevet ultra simpel måler faktisk, som bare kan køre begge veje. Jeg kan derfor ikke se netto produktion eller forbrug, men kun forskellen mellem forbrug og produktion.

Min inverter (Danfoss) har vist en måler indbygget som kan sige hvor meget den har brugt, men hvis ikke ... så ville det være fint med noget som ovenstående.

  • 0
  • 0

@PHK, hvis:

8.1(00183359*kWh)\r\n

  • er det totalforbrug måleren har registreret siden:

95(01-04-26 21:29)\r\n

= altså 18.035 kWh pr år - så lyder det godt nok som et kollossalt elforbrug for et sommerhus - med eller uden solceller og/eller elradiatorer.

Jeg troede også du fik ny elmåler da du satte solcellerne op.

Hvad er det jeg læser forkert?

  • 0
  • 0

= altså 18.035 kWh pr år - så lyder det godt nok som et kollossalt elforbrug for et sommerhus

Det her er elmåleren i helårshuset hvor mit firma også bor.

Poul-Henning

  • 0
  • 0

[quote]
= altså 18.035 kWh pr år - så lyder det godt nok som et kollossalt elforbrug for et sommerhus

Det her er elmåleren i helårshuset hvor mit firma også bor.

Poul-Henning[/quote]
OK - takker.

(Teksten er i så fald lidt misvisende, så måske du lige skulle præcisere dette)

Hvor ofte opdaterer den? Kan du aflæse dit forbrug som en kurve, høj opløsning?

  • 0
  • 0

Jeg vil gætte på at L1, L2 og L3-felterne nok nærmere er effektforbruget på hver af faserne målt i ampere end antallet af afbrydelser. Dog virker det lidt mystisk at der ikke er større opløselighed end 1 ampere i udlæsningen. Man kan håbe at den interne nøjagtighed er lidt bedre :)

  • 0
  • 0

Jeg vil gætte på at L1, L2 og L3-felterne nok nærmere er effektforbruget på hver af faserne målt i ampere end antallet af afbrydelser.

Nej, det er ikke ampere, for så havde det været et "*A" i strengen.

Jeg har fundet referencen til antallet af afbrydelser i et antal dokumenter og det handler formodentlig om at detektere folk der piller ved deres elmåler.

Poul-Henning

  • 0
  • 0

Er det din gamle eldims i paenere indpakning, man kan se?

Er det sorte kabel en af dem med en FTDI brudt ud i de enkelte leder?

  • 0
  • 0

Er det din gamle eldims i paenere indpakning, man kan se?

Det er en dims DONG har foranledliget lavet, jeg ved ikke helt hvor meget jeg må sige om den endnu.

Er det sorte kabel en af dem med en FTDI brudt ud i de enkelte leder?

Jep, det er en TTL232-5V

Poul-Henning

  • 0
  • 0

Glædede mig meget da jeg så dette indlæg, men glæden blev kort. Min nye fine kamstrup/tre-for elmåler med fjernaflæsning via GPRS, har naturligvis ikke den infrarøde kommunikationsport... SUK.

  • 0
  • 0

Mit indlæg er måske lidt sent ude, men det kan være der stadig hænger nogle interesserede på linien.

Jeg arbejder i mit professionelle virke en del med målere, og jeg er helt enig med PHK i at de DLMS-relaterede standarderne i høj grad lapper ind over hinanden og i mange tilfælde er modsigende eller tve-tydige. En forklaring er måske at der sidder et milliontal af målere derude fra forskellige fabrikanter der hver har deres specialiteter.... og det er langt fra alle der kan remote opdateres (hvilket måske er meget godt).

Og så til kommunikationen:

De første tre karakterer i første linie efter den indledende "/" afhænger af målerens producent. Man kan finde en komplet liste her: http://www.dlms.com/organization/flagmanuf.... Resten af den første linie identificerer måler modellen som det også fremgår af billedet af PHK's måler.

Nogle målere er udstyret med en rs232/rs485 port der ofte giver adgang til samme serielle kanal som den optiske port. Desværre sidder den ofte bag et plomberet plastik skjold :-(

I det viste tilfælde returnerer L+G måleren en række værdier efter identifikationslinien. Hvilke værdier der er indeholdt i denne standard-udlæsning afhænger, på de målere jeg har kigget nærmere på, af hvordan måleren er konfigureret. Der er naturligvis mange andre informationer at komme efter, men det kræver i hvert fald i nogle tilfælde et password. Desuden er det ikke alle målere der returnerer standard-udlæsningen efter identifikationslinien som med denne måler. På nogle målere kræver det en efterfølgende [i]Ack/option select[/i] kommando:

[b]
// [ ACK V Z Y \r \n ]
// V: Protocol control character
// Z: Baud rate...5 = 9600
// Y: normal readout
const char* ackOptSelMsg = "\006050\r\n";
[/b]

En liste af almindelige OBIS koder. Bemærk at formatet af disse (fra en Iskraemeco måler) er anderledes end L+G:
[b]
0.0.0 Måler serienummer eller andet referencenummer. Ikke nødvendigvis et nummer der står uden på måleren. Serienumre uden på målerne er ofte forsyningsselskabets måler-nummer.
1.8.0 Active energi import
2.8.0 Active energi export
3.8.0 Reactive energi import
31.7.0 Current phase 1
51.7.0 Current phase 2
71.7.0 Current phase 3
32.7.0 Voltage phase 1
52.7.0 Voltage phase 2
72.7.0 Voltage phase 3
81.7.40 Phase angle phase 1
81.7.51 Phase angle phase 2
81.7.62 Phase angle phase 3
[/b]

Man kan også fornøje sig med at udlæse event-loggen (hvis måleren supporterer det). Følgende sendes efter modtagelse af måler identifikations-strengen:
[b]
// <SOH>R5<STX>P.98(;)<ETX>#
const char* reqMsg = "\001R5\002P.98(;)\003#";
[/b]
Log bog format. Event ID'erne er ikke standardiserede :-):
[b]
/* log book format (repeating) in ASCII: (0090122124551)(8103)<cr><ld>
meaning: (yyymmddhhmmss)(type)<cr><ld>
Latest entry last! */
[/b]

  • 0
  • 0

Det er ikke ænder, man klistrer, men (rør-)kanaler, man klistrer sammen...
Ducttape
På dansk gaffatape.

  • 0
  • 0

På billedet sidder der en hvid plastic dims med en ledning. Er den til at aflæse lysdiode glimt? Hvis det er, har du så en beskrivelse af dette setup.

Jeg er interesseret i en løsning baseret på lysdioden, da de 3 målere på vores ferielejligheder i Frankrig kun har denne mulighed tilgængeligt.

  • 0
  • 0

På billedet sidder der en hvid plastic dims med en ledning. Er den til at aflæse lysdiode glimt? Hvis det er, har du så en beskrivelse af dette setup.

Jeg er interesseret i en løsning baseret på lysdioden, da de 3 målere på vores ferielejligheder i Frankrig kun har denne mulighed tilgængeligt.

Hej Karsten,

Det er samme "aflæsningshoved" som findes i NorthQ power reader:

http://www.northq.com/products/zwave/nq920...

Mvh.
Nicolai Petri

  • 0
  • 0