Gå til innhold
  • Bli medlem
petersv

Lesing av HAN - The Easy Way (TM) - WIP

Anbefalte innlegg

Da den andre tråden konsenterer seg mest om hjemmelagede kort og derfor har en relativt høy terskel og er tidkrevende for å komme i gang med, tenkte jeg å lage en ny tråd der vi kan oppsummere hvordan man kan lese HAN-porten på din strøm-måler enkelt, kjapt, billig og sikkert.

 

Det vi vet:

  • HAN bruker helt standard M-BUS
  • Man får kjøpt ferdige M-BUS til TTL kort (se link under)
  • Ikke alle målere er åpnet for data på HAN selv om man har modulen (Hafslund) (Ikke 100% verifisert)

 

Alternativ 1 - med stikkontakt og Raspberry PI i sikringsskapet og :

Dette er den desidert enkleste løsningen og er utviklet av Per Erik Nordbø i BKK. Med denne kan du lese ut HAN data til Raspberry Pi og meldingene kan deretter logges til skjer, fil eller multicast på LAN. For å bruke dataene videre må man lage noe IFTTT og/eller MQTT etc. for å få det inn i ditt favoritt-hjemmeautomasjonsmiljø.

 

Du trenger:

 

Følg instruksjonene i dokumentet her.

Gå til posten her og følg instruksjonene: 

Node-red for MQTT videre til smarthusløsningen din, følg Thomas sin oppskrift fra side 4:

On 9.3.2018 at 18:26, Thomas_ja27 said:

Her er min oppskrift:

 

Dropbox med det som skal til:

https://www.dropbox.com/sh/8yu8q1h755v264q/AADXMeVA7xZoD_8nED2zERw9a?dl=0

 

- Last ned Han-Port og legg denne inn etter anvisninger som ligger i mappen sammen med pakken.

- Installer node-red. https://nodered.org/docs/getting-started/installation

- Importer flow, dette kan gjøres i webgrensesnitt, (IP):1880 (fil ligger i Dropbox)

- Det er mulig dere må endre på banen i AMS blokken alt etter hvor dere har filene til Han-Port.

- Som nevnt over er MQTT innebygd i Node-Red, dette fant jeg ikke ut før etter jeg hadde lagt inn alt, så det ligger MQTT outputs til mosquitto i denne flowen.

- Om man uansett ønsker å installere mosquitto så finner man det her: https://mosquitto.org/download/

 

image.thumb.png.664250aa081a98dae527bd8f81725e5f.png

 

Om man vil ha webserver med visualisering:

- Installer InfluxDB plugin i Node-Red. http://blog.catchpoint.com/2018/01/17/how-to-grafana-with-node-red-influxdb/

- Installer InfluxDB. https://docs.influxdata.com/influxdb/v1.5/introduction/installation/

- Installer Grafana. http://docs.grafana.org/installation/

- Gå inn i webgrensesnitt (ip):3000  Bruker: admin   Passord: admin

- Legg til InfluxDB server som kilde. http://docs.grafana.org/v3.1/datasources/influxdb/

- Importer Grafana Dash (Fil ligger i Dropbox)

 

Sikkert noe jeg har glemt nå, men er bare å spørre hvis det blir problemer :) 

image.thumb.png.a82a7fb17336d774f29aebe93052ec79.png

image.thumb.png.4d21a5cb01f56db6cf8513a404e99cd2.png

image.thumb.png.01ac0331b879b2a16f20a9adc7551c67.png
 

 

 

 

Alternativ 2 - uten strøm i skapet med Zigbee/Z-wave

Du trenger:

 

 

I tillegg trenger man en "datamaskin" som kan lese/parse dataene og videresende de til ditt smarthussystem eller lignende.

 

Her er det noen alternativer, NodeMCU, Raspberry PI +++

 

TODO3: finne en enkel og strømgjerrig kandidat som kan kjøre på strøm fra M-BUS, muligens Zigbee siden den bruker lite strøm.

Endret av petersv
La til node-red oppskrift fra @Thomas_ja27
  • Like 5
  • Thanks 2

Del dette innlegget


Lenke til innlegg
Del på andre sider

Lesestoff:

 

BKK om HAN:

On 2/14/2018 at 15:20, kjetilsn said:

Heisann,

 

Fikk i dag hyggelig epost fra BKK om at de har åpnet min HAN port.

Skal nå bygge interface fra roarfred: https://github.com/roarfred/AmsToMqttBridge/

 

BKK sendte også med denne linken:

https://drive.google.com/drive/folders/0B3ZvFI0Dg1TDbDBzMU02cnU0Y28

Kunne ikke se at den tidligere var lagt ut her, om den er så fjern gjerne dette innlegget.

 

 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Debugging

Se @Salvesens debugging-pdf her, for litt tips og triks:

On 13.4.2018 at 20:37, Salvesen said:

Siden jeg har hukommelse som en gullfisk og at jeg sannsynligvis må gjøre dette for venner og familie i fremtiden(les 2019 når effektleddet innføres?) tenkte jeg å lage en liten manual, kanskje andre får bruk for den også. 

 

HAN over internett til HS3 for dummies.pdf

Endret av petersv

Del dette innlegget


Lenke til innlegg
Del på andre sider

NodeMCU er ikke egnet da hardware-serial er reservert UART som brukes til USB/kommunikasjon mot PCen.

  • Confused 1

Del dette innlegget


Lenke til innlegg
Del på andre sider

VEit ikke om jeg skal henge meg på her eller den andre tråden om ams men jeg snakket med Tronika (ref develco sin Han interface på zigbee)  i går og det viser seg at DEvelco enheter i stor grad kun søker etter nett på kanal 11 - 22. Siden DEconzen kom med kun kanal 25 aktivert så kan det være det som er grunnen. Jeg gikk inn i konfiggen i går og endret dette og skal gi det ett nytt forsøk når det ikke er så svinekaldt. 

Eventuelt er muligheten å sende teknisk dokumentasjon til Dresden for mulig å få støtte for enheten.

Develco på sin side mener at denne skal være åpen for zigbee nett.

Endret av Arne Johnny
  • Like 2

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 time siden, xibriz skrev:

NodeMCU er ikke egnet da hardware-serial er reservert UART som brukes til USB/kommunikasjon mot PCen.

Det stemmer vel ikke helt. Ja, UART er reservert, men hvis man laster inn en OTA-kodesnutt, kan alt programmeres over WiFi etterpå. I tillegg er set selvsagt mulig å koble bort RX mot M-BUS ved USB-lasting dersom alt skjærer seg.

  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
8 minutter siden, Blip! skrev:

Det stemmer vel ikke helt. Ja, UART er reservert, men hvis man laster inn en OTA-kodesnutt, kan alt programmeres over WiFi etterpå. I tillegg er set selvsagt mulig å koble bort RX mot M-BUS ved USB-lasting dersom alt skjærer seg.

 

Du har rett, det var derfor jeg skrev "ikke egnet" :) Ja det er mulig å få til, men siden overskriften på tråden var "The easy way" så synes jeg det var ett dårlig forslag å starte med NodeMCU.

Del dette innlegget


Lenke til innlegg
Del på andre sider

NodeMCU, er veldig bra egnet. Man må selvfølgelig laste inn egnet programvare på den, men det er jo ikke slik at alle må finne opp kruttet på nytt her. Vi finner en eller flere implementasjoner som fungerer og så deler vi. Det kommer i post 2 eller 3 som er reservert. Så slipper vi at de som kommer hit senere må lese seg gjennom hundrevis av innlegg for å finne det de trenger for å komme opp på 1-2-3, The Easy Way (TM) 😍

  • Like 2

Del dette innlegget


Lenke til innlegg
Del på andre sider

Jeg tror du har misforstått ESP8266 litt, eller at vi snakker forbi hverandre. NodeMCU er bare en måte å bruke den på, man kan legge inn hva man vil.

Her er et eksempel:

 

Endret av petersv

Del dette innlegget


Lenke til innlegg
Del på andre sider

Siden målet er å ha en enhet som ikke trenger noen PSU, kun trekker strøm fra M-BUS-en, er Zigbee et greit alternativ.

 

Jeg har sett litt kjapt på mulighetene, og Texas sin CC2530 virker som en kandidat ved første øyekast. http://processors.wiki.ti.com/index.php/Tutorial_on_the_Examples 

 

Det finnes flere ferdige brett med denne (The Easy Way (TM))

 

https://www.aliexpress.com/item/CC2530-Zigbee-UART-Wireless-Core-Board-Development-Board-CC2530F256-Serial-Port-Wireless-Module-24MHz/32767470382.html

 

Eller denne med forsterker, hvis man har måleren lengre vekk: https://www.aliexpress.com/item/ZigBee-Wireless-Module-CC2530-CC2591-PA-Module/1831284083.html

 

Så da gjenstår det å se om man kan parse dataene på CC2530, men med de små mengdene det er snakk om, tror jeg det bør være overkommelig. Deretter må de sendes på Zigbee-protokoll, og her er det nok litt research som må til for å få det opp å gå. Det enkleste kan være å "kopiere" en implementasjon av en HAN-leser som allerede bruker Zigbee.

  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
32 minutter siden, petersv skrev:

Jeg tror du har misforstått ESP8266 litt, eller at vi snakker forbi hverandre. NodeMCU er bare en måte å bruke den på, man kan legge inn hva man vil.

 

Det jeg prøver å si er at NodeMCU-kortet som har en ESP8266 loddet på seg har ikke RX-pinnen tilgjengelig for å lese inn data fra HAN-porten uten å gjøre modifikasjoner på det fysiske kortet (NodeMCU). 

  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider

Nå skjønner jeg hva du mener, men den versjonen jeg har av NodeMCU har alle pinner tilgjengelig, https://www.ebay.com/itm/202154516650 

Det er også en ekstra ttl på de nye, som også kan brukes. Men siden NodeMCU er strømkrevende, tror jeg uansett det ikke er den beste kandidaten.

  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider

@hflatoey Jess! Ifølge linken til dokumentene til han fra BKK, i 2. post, så skal du da få ut de serielle dataene. Etter det trenger du å behandle (parse) de. :)

Del dette innlegget


Lenke til innlegg
Del på andre sider

Etter spørsmålet fra @hflatoey over så kom jeg på noe, kanskje vi skal dele denne how-to-en i to grener i 1-. post, én for de som har strøm i sikringsskapet og kan bruke raspberry pi (desidert enkleste vei) og en annen for de som må gå veien om zigbee el.lign.?

Del dette innlegget


Lenke til innlegg
Del på andre sider

Det er din lykkedag i dag @Moskus! Det har vi faktisk fått i form av en eminent oppskrift fra herr Per Erik Nordbø i BKK, som har gått opp hele løypa, og tom. lastet opp hele raspbian-imaget for Rpi man trenger! 

Endret av petersv
  • Like 2

Del dette innlegget


Lenke til innlegg
Del på andre sider

Da er 1.-post oppdatert med info om de to fremgangsmåtene. Skulle ønske jeg kunne gått for alt. 1... :(

Endret av petersv

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 minutter siden, petersv skrev:

Da er 1.-post oppdatert med info om de to fremgangsmåtene. Skulle ønske jeg kunne gått for alt. 1... :(

5V kan du vel alltids strekke fra et annet sted? :) 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Det er en annen diskusjon, men det korte svaret er "nei". (Nytt hus med krav om utendørs hoved-tavle, som ikke er i tilknytning til huset, mao. ikke mulig å trekke noe frem @Moskus, eller tilbake @xibriz. Men takk for forslag (igjen ;) ) )

Endret av petersv

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.
       
       

       
       

       

       
       
×