Gå til innhold
  • Bli medlem
roarfred

Lesing av AMS data (AMS/HAN -> IoT)

Anbefalte innlegg

Har nettopp fått en ny AMS måler, og tenkte litt på å lage en dings til å putte i HAN porten for å nyttegjøre dataene herfra...

 

Ser for meg en ESP8266 koblet til lokalt WiFi nett, men en mini m-bus krets for å lese ut data. (Har gjort noe lignende mot en Kamstrup/Zenner måler på varmepumpen)

Rapportering ut til MQTT. WiFi/MQTT parametre bør være konfigurerbare

Vil bruke Arduino for programkode på ESP. Fyrer opp et prosjekt på github når jeg evt. er i gang...

 

Noen som vet om dette allerede finnes, om det burde vært gjort på et helt annet vis, el.l. så mottas alle innspill med takk :) 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Z-uno?

 

Har en krets på hobbyrommet mitt som jeg prøvde mot kamstrupmåleren min, men på det tidspunktet var det ingenting der.. skal teste ikveld igjen..

 

Jeg har kort vei til server, så jeg tenkte ftdi rett inn på pc, evt via en Z-uno..

 

Kan poste skjema av kretsen min.. min måler leverer ikke ut noen spennibg på noen av pinnene, så jeg strømforsyner med ekstern psu

Del dette innlegget


Lenke til innlegg
Del på andre sider
6 minutes ago, Andreas said:

Z-uno?

 

Har en krets på hobbyrommet mitt som jeg prøvde mot kamstrupmåleren min, men på det tidspunktet var det ingenting der.. skal teste ikveld igjen..

 

Jeg har kort vei til server, så jeg tenkte ftdi rett inn på pc, evt via en Z-uno..

 

Kan poste skjema av kretsen min.. min måler leverer ikke ut noen spennibg på noen av pinnene, så jeg strømforsyner med ekstern psu

Har du fått bekreftet åpning fra nett-leverandøren din? Det står flere steder at denne porten er (skal være) deaktivert som standard, men den skal kunne åpnes på forespørsel fra forbruker. (Jeg sendte en mail på søndag og fikk svar dagen etter at porten var blitt åpnet)

 

Edit: kan jo svare på resten også :)

Z-uno kunne vært interessant, men vil gjerne lage denne saken med minimal kompleksitet, og mest mulig universell. Jeg tror Z-wave fort vil være en begrensende faktor. WiFi skulle være tilgjengelig de fleste steder, men spørsmålet er kanskje om MQTT er universelt nok?

Endret av roarfred

Del dette innlegget


Lenke til innlegg
Del på andre sider

Hvis noen har Aidon eller Kamstrup måler, så er jeg svært interessert i å få ut test-data fra disse. Kan gjerne assistere med måling, elektronikk etc...

Del dette innlegget


Lenke til innlegg
Del på andre sider

Jeg har Kamstrup. Men nettleverandør virker ikke å forstå hva jeg spør etter når jeg på mail prøver å få dem til å aktivere interfacet!

Om det ikke skjer noe får jeg ta på meg utestemmen og ringe til uka.

Del dette innlegget


Lenke til innlegg
Del på andre sider
4 hours ago, Einar said:

Jeg har Kamstrup. Men nettleverandør virker ikke å forstå hva jeg spør etter når jeg på mail prøver å få dem til å aktivere interfacet!

Om det ikke skjer noe får jeg ta på meg utestemmen og ringe til uka.

Det kan jo mulig hjelpe å legge ved (eller referere) til dette brevet: https://github.com/roarfred/AmsToMqttBridge/blob/master/Documentation/NVE_Info_kunder_HANgrensesnitt.pdf

(Min eneste erfaring er min egen leverandør som ikke stilte et eneste spørsmål, men hadde åpnet porten neste dag)

Del dette innlegget


Lenke til innlegg
Del på andre sider

Jeg har en Kamstrup som angivelig skal være åpnet. Skal se om jeg har alt jeg trenger av elektronikk på Søndag (skal bort i helgen).

 

Jeg har ikke en FTDI, men har Arduino og ESP8266.

Litt usikker på om jeg har BC337 eller lignende.

Del dette innlegget


Lenke til innlegg
Del på andre sider
19 minutes ago, xibriz said:

Jeg har en Kamstrup som angivelig skal være åpnet. Skal se om jeg har alt jeg trenger av elektronikk på Søndag (skal bort i helgen).

 

Jeg har ikke en FTDI, men har Arduino og ESP8266.

Litt usikker på om jeg har BC337 eller lignende.

Jeg kan evt. sende over om du ikke finner... Transistor kan gjerne være et alternativ, eks. BC547. Gi meg en lyd om du trenger noe!

Denne FDTI er det jeg bruker: http://www.ebay.com/itm/5V-3-3V-FTDI-FT232RL-USB-to-TTL-Serial-Converter-Adapter-Module-For-Arduino-TL/372049356941?_trkparms=aid%3D555018%26algo%3DPL.SIM%26ao%3D2%26asc%3D41376%26meid%3D8576059d5b204f3e8cf181a866cfbb03%26pid%3D100005%26rk%3D4%26rkt%3D6%26sd%3D230820610037&_trksid=p2047675.c100005.m1851

 

Begynn med å måle spenning på pin 1-2 på RJ45 kontakten med et multimeter

Hos meg lå denne med en likespenning der pinne 1 gav positiv ca +27V. (Pin 2 er oppgitt som jord, men var ikke hos meg jordet mot nettets jord eller mot andre pinner på RJ kontakten)

Under måling med multimeter kunne jeg ca. annenhvert sekund se at spenningen falt noen volt. Dette skyldes at pulstoget som kommer ligger ca. 12 under +27 (altså med negativ verdi på ca. +15V og positiv på +27V). Gjennomsnittverdien vil dermed ligge noe lavere mens det sendes data. Merk at ulike multimetre har ulik responstid på slikt, så det er ikke sikkert at dette er synlig overalt. Jeg tror mitt måleapparat er en Fluke12.

 

Uansett, måler du mellom 20 og 30V på de to pinnene og ser en liten dipp hvert annet sekund, så er det sterk antydning på at porten er aktivert og at det kommer data.

(Noen har nevnt at noen målere ikke har egen spenning ut, men må tilføres spenning. Synes det høres rart ut, og lurer da på om ikke målerne er kompatible, men er ikke 100% sikker)

Del dette innlegget


Lenke til innlegg
Del på andre sider

Da har jeg vært å målt @roarfred

 

Målte 24.1v mellom de to pinnene. Helt stabilt, den rikket seg ikke. Må kanskje fyre av en epost til kraftleverandøren for å få bekreftet at den er aktiv?

Del dette innlegget


Lenke til innlegg
Del på andre sider

Vil tippe at den ikke er aktivert da... Men som sagt, så er ulike multimetre litt ulike på målingene. Skader ikke å ta en AC måling, om den viser noe annet enn 0V er det tegn på at den er aktiv.

Del dette innlegget


Lenke til innlegg
Del på andre sider
22 minutter siden, roarfred skrev:

Vil tippe at den ikke er aktivert da... Men som sagt, så er ulike multimetre litt ulike på målingene. Skader ikke å ta en AC måling, om den viser noe annet enn 0V er det tegn på at den er aktiv.

 

Målte 0V med AC.

 

Men nå har jeg nesten funnet alle komponentene jeg trenger. Litt usikker på den kondensatoren. Har bare 0.1uF og 1uF (50V) liggende.

 

Også mangler jeg den FDTI saken, men jeg får vel ut noe i serial-konsollen på en Arduino?

 

Er alltid litt på tynn is når det gjelder det fysiske siden jeg jobber mest med software :)

 

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 minute ago, xibriz said:

 

Målte 0V med AC.

 

Men nå har jeg nesten funnet alle komponentene jeg trenger. Litt usikker på den kondensatoren. Har bare 0.1uF og 1uF (50V) liggende.

 

Også mangler jeg den FDTI saken, men jeg får vel ut noe i serial-konsollen på en Arduino?

 

Er alltid litt på tynn is når det gjelder det fysiske siden jeg jobber mest med software :)

 

Vil tippe det går helt fint med 1uF. Skal fungere å få noe ut på arduino, men vær obs på at de komponentene som jeg har brukt gir ca. 3.3V nivå. Det passer greit på ESP, men jeg tror den vanlige Arduino vil ha 5V. Dette kan justeres med den zener-dioden på 3,9V. (Bytt den til 5,6V). Egentlig skulle denne kretsen vært bygget med en op-amp, men har ikke helt kommet til det ennå. Den jeg bruker nå er den som jeg har skisse til på github: https://github.com/roarfred/AmsToMqttBridge/blob/master/Electrical/Simple HAN to FTDI Circuit.jpg

(100K motstand på toppen er byttet med 1K, i et lite håp om å kunne drifte ESP'en direkte. Det gav jeg fort opp :)

Del dette innlegget


Lenke til innlegg
Del på andre sider

Jeg ser at komponentskuffen min er tom på diodefronten. Det eneste jeg har for å ta ned spenningen er LM317

Endret av xibriz

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 minutes ago, xibriz said:

Jeg ser at komponentskuffen min er tom på diodefronten. Det eneste jeg har for å ta ned spenningen er LM317

Usikker på om den egner seg til dette... Har du en op-amp av noe slag, eks. TL072, LM324, xx741 el.l?

Del dette innlegget


Lenke til innlegg
Del på andre sider
5 minutter siden, roarfred skrev:

Usikker på om den egner seg til dette... Har du en op-amp av noe slag, eks. TL072, LM324, xx741 el.l?

Nei, har ingen operasjonsforsterkere

Del dette innlegget


Lenke til innlegg
Del på andre sider

Har du motstander så lager du bare en spenningsdeler.

Og om det er mer enn 3-4m fra måleren til PC/Arduino/PI eller hva du bruker, så ville jeg brukt RS485 mellom dem. Det er mange kretser som fikser dette. Søk etter RS485 transceiver.

 

At det er rundt 25V ut fra HAN interfacet er ingen indikasjon på at det er aktivt. Hos meg ligger den stabilt på 25V uten pulser. Målt med oscilloskop. Men jeg har ikke prøvd å belaste interfacet. Kanskje den ønsker noen mA belastning som indikasjon på at det er en slave der?

Del dette innlegget


Lenke til innlegg
Del på andre sider
9 timer siden, Einar skrev:

Har du motstander så lager du bare en spenningsdeler.

Og om det er mer enn 3-4m fra måleren til PC/Arduino/PI eller hva du bruker, så ville jeg brukt RS485 mellom dem. Det er mange kretser som fikser dette. Søk etter RS485 transceiver.

 

At det er rundt 25V ut fra HAN interfacet er ingen indikasjon på at det er aktivt. Hos meg ligger den stabilt på 25V uten pulser. Målt med oscilloskop. Men jeg har ikke prøvd å belaste interfacet. Kanskje den ønsker noen mA belastning som indikasjon på at det er en slave der?

 

Jeg har masse motstander liggende, men ikke kunnskap til å "finne opp" noe som funker. Hvis en av dere har mulighet til å lage ett koblingsskjema med motstander isdetedet for dioder så slipper jeg å vente 3-6 uker på ebay :)

Del dette innlegget


Lenke til innlegg
Del på andre sider

Troms Kraft er ikke klare med HAN, de har fått oppgradert sitt Backend-system, slik at de kan aktivere HAN ved behov, men selve målerene har ikke fått nødvendig firmware ennå.

 

Skulle få beskjed når dette var klart.

(Fikk denne infoen 15/9 på mail)

  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider

En bekjent fikk en kjemperegning i en periode huset stod tomt da han var bortreist. Større enn de normalt har når de er hjemme.

Der har vi kanskje forklaringen? De har montert målere som egentlig er i betatest fasen?

 

Del dette innlegget


Lenke til innlegg
Del på andre sider
På ‎15‎.‎09‎.‎2017 den 10.09, Einar skrev:

Jeg har Kamstrup. Men nettleverandør virker ikke å forstå hva jeg spør etter når jeg på mail prøver å få dem til å aktivere interfacet!

Om det ikke skjer noe får jeg ta på meg utestemmen og ringe til uka.

Da har jeg akkurat snakket med voksne folk hos kraftleverandør. Og det var ikke nødvendig med utestemme. Vedkommende virket ganske oppdatert på hva vi snakket om. Og jeg fikk intrykk av at det bare er en formalitet å få det aktivert. Jeg må be om det. Og det har nok med regler rundt personvern å gjøre som de er pålagt å følge.

 

Så nå venter jeg bare på at det skal sprute databits ut av interfacet. Og jeg får finne en bøtte å sette under for å samle dem opp. Tror jeg har en gammel bit bucket.

 

  • Haha 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
36 minutter siden, Einar skrev:

Og jeg fikk intrykk av at det bare er en formalitet å få det aktivert.

Det er slik det skal være, de er pålagt det av NVE.

 

Som du sier er problemet å få snakket med noe som faktisk forstår hva du spør etter. Jeg gruer meg til jeg skal ta denne debatten med Lyse... :( 

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 hours ago, xibriz said:

 

Jeg har masse motstander liggende, men ikke kunnskap til å "finne opp" noe som funker. Hvis en av dere har mulighet til å lage ett koblingsskjema med motstander isdetedet for dioder så slipper jeg å vente 3-6 uker på ebay :)

Jeg tror ikke du klarer dette med et rent motstands-nettverk. Utfordringen er at du får to ulike spenninger ut av porten 25V="1" og 15V="0". Disse ønskes så konvertert til hhv. 3.3V og 0V. Problemet kommer i prinsippet av at skal du dele ned 15V til 0V, så ville også 25V bli 0V (deling med et motstandsnettverk vil alltid være linjær). Her finnes dog "litt å gå på" i CMOS logic levels, noe som betyr at en "0" har lov til å være helt oppe i 0.8V og en "1" kan være helt nede i 2V. Like fullt en utfordring, om 15V deles ned til 0.8V, så blir 25V ikke mer enn 1.33V.

 

Men, så akkurat nå at det selvfølgelig er en enklere måte å gjøre dette på om du har 3.3V tilgjengelig. Dette vil også fungere for 5V:

https://www.dd-wrt.com/wiki/index.php/Image:LaFonera_Hardware_Serial-Cable-Port_11_simple_schematic.jpg

(Edit: Du trenger kun halvparten av denne siden du kun er interessert i TX -> RX)

Endret av roarfred

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå

  • Lignende innhold

    • Av Robin Smidsrød
      Hei alle sammen!
       
      Etter at jeg har lest gjennom en del poster på forumet her rundt lesing/dekoding av data fra AMS HAN-porten har jeg begynt å lure på hvor sensitiv målepunkt-ID-en er. Hvis man kobler den sammen med navn på abonnent og adresse er det sannsynligvis relativt sensitivt, men hvis den står alene i en binærdump, hvor mye skade kan en ondsinnet person gjøre hvis de har kjennskap til en målepunkt-ID?
       
      Grunnen til at jeg spør er fordi jeg har laget en dekoder[1], og jeg tenkte at det kunne være nyttig å legge ved eksempler på dump-filer fra forskjellige målere. Men hvis kjennskap til målepunkt-ID kan brukes til noe (f.eks. bestille eller avslutte tjenester som koster penger) uten å kjenne navnet på abonnenten tenker jeg at de ikke burde gjøres tilgjengelig på internett.
       
      Jeg leste et eller annet sted at NVE sammenligner målepunkt-ID med personnummer, og skatteetaten sier at personnummer ikke er sensitivt, men det er personopplysninger. Folk flest gir ikke fra seg personnummeret sitt til hvem som helst som spør om det, selv om skatteetaten sier som over.
       
      Jeg vet at målepunkt-ID består av landskode, kraftverk-ID, løpenummer og kontrollsiffer, som i seg selv ikke kan identifisere brukeren direkte.
       
      Så i bunn og grunn, hvis man har en målepunkt-ID, hva kan man gjøre med den?
       
      1: https://github.com/robinsmidsrod/ams-han-decoder
    • Av Torbjørn
      Da har jeg fått installert det meste på en litt eldre raspberry.
      Koblet til USB-MBUS slave modul, følgt guiden jeg fant her til å sette opp influxdb, grafana og node-red.
      Når jeg kjører test_rx fila i han-port mappa får jeg dette:
      root@raspberrypi:/home/pi/src/han-port# ./test_rx num args: 1 read serial: 1 read socket: 0 read file: 0 write file: 1 serial_device: /dev/ttyUSB0 fname: empty key: host: undefined port num: 10001 decrypt: 0 open_serial OK: 4 7e a0 2a 41 08 83 13 04 13 e6 e7 00 0f 40 00 00 00 00 01 01 02 03 09 06 01 00 01 07 00 ff 06 00 00 06 c8 02 02 0f 00 16 1b e8 a5 7e Date Time: , Items: 0 7e a0 2a 41 08 83 13 04 13 e6 e7 00 0f 40 00 00 00 00 01 01 02 03 09 06 01 00 01 07 00 ff 06 00 00 06 c8 02 02 0f 00 16 1b e8 a5 7e Date Time: , Items: 0 7e a0 2a 41 08 83 13 04 13 e6 e7 00 0f 40 00 00 00 00 01 01 02 03 09 06 01 00 01 07 00 ff 06 00 00 06 cc 02 02 0f 00 16 1b 9e ca 7e Date Time: , Items: 0 Leste i en annen trår her at på Aidon måler fungerer et python script til å gjøre samme jobb.
      Men her fikk jeg ikke helt rette verdier tror jeg:
      ./aidon_test.py /dev/ttyUSB0 {'p_act_in': 1046} {'p_act_in': 1036} {'p_act_in': 1032} {'p_act_in': 1032} {'p_act_in': 1052} {'p_act_in': 1040} {'p_act_in': 1040} {'p_act_in': 1050} {'p_act_in': 1050} {'p_act_in': 1066} {'p_act_in': 1076} {'p_act_in': 1052} {'p_act_in': 1052} {'p_act_in': 1062} I node-red står det bare å blinker "connecting" under alle AMS boksene.
       
       
      Noen som har fått til Aidon målerene som Lyse bruker, som kan hjelpe litt?
    • Av roy
      Jeg har en Kamstrup AMS fra Norgesnett med åpen HAN-port. For å lese disse DLMS OBIS datapush-meldingene har jeg en USB-til-MBUS-slave-modul koblet til en Raspberry Pi. Jeg skrev noen få linjer med Python for å skrive ut meldingene som kommer, og dette ser i utgangspunktet ut til å fungere stabilt og som forventet.
       
      Det jeg lurer på er om noen kan hjelpe meg å tyde/forklare meldingene til meg, fordi de later til å være mye kortere (145-160 bytes) enn det jeg har sett eksempler på her på forumene. Etter å ha lest hundrevis av meldinger og side opp og side ned her inne + lest kode og eksempeldata på spesielt https://github.com/roarfred/AmsToMqttBridge/ så skjønner jeg bare ikke hva det er med meldingene jeg får.
       
      Meldingene kommer hvert 10. sekund som forventet, og hver time kommer det en bittelitt lenger melding (den også mye kortere enn forventet). Det er som om OBIS-kodene ikke er med i meldingene.
       
      Start og slutt med byten E7 er alltid til stede og CRC for hvertfall header har stemt de gangene jeg har sjekket den.
       
      Her er eksempler på noen meldinger jeg får:
      2019-01-20T21:50:11.195980 - 155 bytes: 7EA0E22B2113239AE6E7000F0000F8BF60D9509126A18000F0FF682A566B1797AE17AE650582828A4A641428FE0A1135372036353627323132343834373536090601017CF10A1236383431313331424E323433313031303430090681F9FF0680FFFBFE06C006E006F089C7FE74080600F80906F13AC60600FC4A6414DF100600FC89C7FE12C0BD4250B8FF3BE61200EB090601E1901200EB11CB7E 2019-01-20T21:50:21.194220 - 154 bytes: 7EA0E22B2113239AE6E7000F0000F8BF60D9509126D18000F0FF682A566B1797AE17AE650582828A4A641428FE0A1135372036353627323132343834373536090601017CF10A1236383431313331424E323433313031303430090681F9FF0680FFFFFF06C006E006F00906F17408FF0600F85F2150FE3AC40600FC4B7FDF07FC0600FCFF12C02FC8505807FC1200EC090601F1D81200EE88D47E 2019-01-20T21:50:31.194745 - 154 bytes: 7EA0E22B2113239AE6E7000F0000F8BF60D9509126F4800080FBB6FE682A566B1797AE17AE650582828A4A641428FE0A1135372036353627323132343834373536090601017EF10A1236383431313331424E323433313031303430090681F9FF0680FF06C006E006F00906C1FF7408FF0600F85F2150FE3AC40600FC4B7FDF07FC0600FC12C02FC8505CFF07FC1200EC090601F1D81200EE13D47E 2019-01-20T21:50:41.189758 - 156 bytes: 7EA0E22B2113239AE6E7000F0000F8BF60D9509126A58000F0FF682A566B1797AE17AE650582828A4A641428FE0A1135372036353627323132343834373536090601017CF10A1236383431313331424E323433313031303430090681F9FF0680FF96C828FF06C0FF06E006F089C7FE74080600F80906F13AC40600FC4A6414DF100600FCFF12C02FC85058FF3BE61200EC090601F1D81200EB3DC07E Hvis jeg tar f.eks. den siste meldingen over og bruker mye av kunnskapen fra https://github.com/roarfred/AmsToMqttBridge/blob/master/Samples/Kamstrup/readme.md og https://github.com/roarfred/AmsToMqttBridge/blob/master/Samples/Kamstrup/obisdata.md så tolker jeg det som noe slikt som under. Jeg har brukt linjeskift ved de typiske separatorene bare for å prøve å finne mønster, men det vil nok ofte være helt feil ettersom jeg ofte ikke får ting til å stemme med "02 - one byte following 06 - long (4 bytes / 32 bits) 12 - int (2 bytes / 16 bit) 09 - string, first byte is length (could it be a byte array?) 0A - string, first byte is length" uansett.
       
      7E <-- Frame Start flag A <-- 4 bits, A = Frame Format Type 3 0E2 <-- 12 bits, Frame size: 0xE2 (226 bytes!?, excluding start/end flags) 2B <-- Destination Address 21 <-- Source Address 13 <-- Control Field 239A <-- Gyldig CRC-16/X-25 E6 <-- Destination LSAP E7 <-- Source LSAP 00 <-- LLC Quality 0F <-- Information, n*8 bits? 0000F8BF60D95 <-- Hva er dette? Ofte(?) likt 09 12 6A58000F0FF682A566B1797AE17AE650582828A4A641428FE 0A 1135372036353627323132343834373536 <-- Gyldig målernummer i ASCII (NB: jeg endret noen sifre her, så evt påfølgende checksum vil feile) 09 06 01017CF1 <-- Hva er dette? Alltid likt 0A 12 36383431313331424E323433313031303430 <-- Alltid likt = ASCII 6841131BN243101040 <-- 684113 = måler-type 09 06 81F9FF 06 80FF96C828FF 06 C0FF 06 E0 06 F089C7FE7408 06 00F897C8287E 09 06 F13AC4 06 00FC4A6414DF10 06 00FCFF 12 C02FC85058FF3BE6 12 00EC <-- 236 (Volt? (L2?)) 09 06 01F1D8 <-- Hva er dette? 12 00EB <-- 235 (Volt? (L3?)) 3DC0 <-- Checksum? 7E <-- Frame End flag  
      Oppsettet for avlesingen er slik jeg hadde forventet det å være:
      ser = serial.Serial( port='/dev/ttyUSB0', baudrate=2400, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=10)  
      Håper noen har noen tips eller innspill til meldingene. 🙂
       
    • Av aleks
      Usikker på hvor overrasket jeg er? Til Hafslund:
       
       
    • Av 1v4r
      Jeg har hatt litt mailkorespondanse med med Eidsiva Nett om å få åpnet HAN-porten på min AMS-måler. Nå er det tydeligvis bare å smøre seg med tålmodighet.
       
       

       
       

       

       
       
×