Gå til innhold
  • Bli medlem

Anbefalte innlegg

  • Svar 2k
  • Opprettet
  • Siste svar

Mest aktive i denne tråden

Mest aktive i denne tråden

Populære innlegg

Noen oppdateringer fra den siste uken...   1) Laget meg en boks selv og 3D printet. Ble helt greitt til å gjemmes bort i sikringskapet (bilder nedenfor) Om interesse ligger STL fi

Fikk kretskort i dag. De sendte 12 istedet for 10, mulig de vil kompensere for evt. feil... Kortene ble bestillt 2. mars, med 7 dagers prosessering. Viser seg å være 7 arbeidsdager, fra de får be

Siden jeg ikke er like rask som @roarfred tok dette litt lenger tid enn jeg hadde tenkt, men nå er endelig dingsen min på plass Har bommet på hvilken vei USBen skal stå på kretskortet, også må jeg fi

Postede bilder

1 time siden, Ingar skrev:

Noen som har fått til en eller annen hardware som funker på Aidon uten ekstra strømtilkobling ?

Aidon er gnien på strøm, maks 30mA.

 

Tibber har

Lenke til innlegg
Del på andre sider
7 hours ago, Ingar said:

Noen som har fått til en eller annen hardware som funker på Aidon uten ekstra strømtilkobling ?

Aidon er gnien på strøm, maks 30mA.

 

Aidon er ikke spesielt gnien. Kamstrup er gnien! 🙂 (Maksimalt 6 mA fra HAN-porten.)
 

Ja, jeg har utviklet hardvare som fungerer på Kamstrup (og dermed også Kaifa og Aidon) og som bruker denne koden https://github.com/gskjold/AmsToMqttBridge. Det er kode som @gskjold har videreutviklet og vedlikeholder basert på grunnarbeidet @roarfred (som startet denne tråden) gjorde før han gikk bort.

 

Jeg har levert en serie til en bedrift, flere av boksene har vært i drift siden i fjor sommer på Kamstrup-målere. Har dessverre ingen PCBer igjen, må eventuelt bestille opp nye (og en loddestensil; spesielt U1 var krevende å håndlodde...) dersom der er tilstrekkelig interesse. Ta i så fall kontakt på DM; jeg har foreløpig en som har "skrevet seg opp".

(Micro USB kontakten brukes ved programmering/programoppdatering etc, ikke ved drift.)

 

image.thumb.png.a45b1bf5d117c7a7aced570d64215a4b.png20200520_134112_retusjert.thumb.jpg.e4efee2acd7b68119badf59dec00305f.jpg

  • Like 1
Lenke til innlegg
Del på andre sider
  • 1 måned senere...

Kjører en TSS721  og en D1 wemos (ESP8266) på en Aidon måler (3fase) men får kun effekt (P) måling, ingen volt, kwh eller amper... ? Noen som har tips til hvorfor? @gskjold🤔

RX,GND og VIN (3.3V) er koblet til ESP'en.

 

image.thumb.png.434b2d75fecf9f1b397d6ba0932cec8a.png

 

Endret av Alpøy
Lenke til innlegg
Del på andre sider
16 hours ago, Alpøy said:

Kjører en TSS721  og en D1 wemos (ESP8266) på en Aidon måler (3fase) men får kun effekt (P) måling, ingen volt, kwh eller amper... ? Noen som har tips til hvorfor? @gskjold🤔

RX,GND og VIN (3.3V) er koblet til ESP'en.

 

image.thumb.png.434b2d75fecf9f1b397d6ba0932cec8a.png

 

Dette ser rart ut ja.

Kan du forsøke

http://<kortets_IPadr>/data.json

og vise oss svaret du får?

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

Dette ser rart ut ja.

Kan du forsøke


http://<kortets_IPadr>/data.json

og vise oss svaret du får?

 

Det kan jeg, det er som følger: 

{"im":10000,"om":0,"mf":63,"i":5514,"e":0,"ri":0,"re":0,"ic":70.6,"ec":0.0,"ric":0.0,"rec":0.0,"u1":0.0,"u2":0.0,"u3":0.0,"i1":0.00,"i2":0.00,"i3":0.00,"v":2.93,"r":-62,"t":-127.0,"u":133628,"m":24688,"em":3,"hm":1,"wm":1,"mm":1,"me":0}

Jeg ser forøvrig på MQTT'en også det samme:

2021-06-14 08:25:12.520 /amsreader {"id":"F4:CF:A2:66:16:3A","name":"amsreader","up":133716,"t":0,"vcc":2.927,"rssi":-57,"temp":-127.00,"data":{"P":5553}}

 

Lenke til innlegg
Del på andre sider

Jeg har tidvis opplevd noe lignende med et kort jeg har i test benken min. Det ser ut til å gå glipp av liste 2 og 3. Det jeg ser i loggen på mitt er at det blir CRC feil på disse pakkene, sannsynligvis pga størrelsen. Antar det har noe med strømforsyningen inn til TSS721 kortet å gjøre, eller kretsen som er på det kortet, og at spenningen faller mens chippen mottar data. Dette er bare en teori da, mulig jeg tar helt feil.

  • Like 2
Lenke til innlegg
Del på andre sider
12 minutes ago, gskjold said:

Antar det har noe med strømforsyningen inn til TSS721 kortet å gjøre, eller kretsen som er på det kortet, og at spenningen faller mens chippen mottar data. Dette er bare en teori da, mulig jeg tar helt feil.

Det er en god teori.
Dersom @Alpøy kan legge ut skjemaet sitt så kan vi gjøre mer kvalifiserte vurderinger.

 

TSS721 har mange støttekomponenter som det ikke er enkelt å beregne rett størrelse på. Den er en bidireksjonal MBUS transceiver (kan både sende og motta data), og innebærer derfor kompleksitet som ikke trengs for kun å lese av data fra AMS-måler. Jeg har gått bort ifra å bruke den i mine design, og løser i stedet dekodingen med spenningsdeler og komparator.

  • Like 1
Lenke til innlegg
Del på andre sider
4 minutes ago, gskjold said:

@AlpøyHvilket MBUS kort har du forøvrig? Vet at noen må man fjerne noen motstander på for at de skal fungere normalt. Tror det har noe med at det henter strøm fra BUSen eller noe

Jeg har dette: https://www.aliexpress.com/item/32751482255.html?spm=a2g0s.9042311.0.0.3c4a4c4d2QIn3W

Veldig begrenset med informasjon om selve kortet men jeg har prøvd å fjerne jumperen uten at jeg så noe effekt. 

Men det stemmer bra at liste 2 og 3 er borte, jeg har forøvrig prøvd flere forskjellige kort og ESP'er samt 3.3VIN og 5VIN (står på bakside av kort at den skal støtte 3.3V-5.5V på TTL siden)

 

Jeg søkte litt på forumet her om dagen og mener jeg så noen som skrev at det var noen spenningsproblemer som du nevner @gskjold som kunne gi dette problemet men jeg klarte ikke helt å finne den nå, skal lete litt mer.

 

 

Jeg er forøvrig bare opptatt av å finne en enkel løsning for AMS data => MQTT, men ønsker å benytte så "lite" hardware som mulig (f.eks. unngå å måtte benytte en Raspberry PI eller lignende overkill). Så hvis det er alternativer jeg ikke har sett eller tenkt på er jeg åpen for forslag 🙂

Lenke til innlegg
Del på andre sider
Just now, frodegill said:

 

ESP volt står oppgitt til 2,9V. Har du endret multiplier? ESP har en tendens til å ville ha 1.1x multiplier

Den står til 1.00 (jeg har aldri endret på GPIO konfigurasjonen)

Lenke til innlegg
Del på andre sider

@Alpøy Sorry, jeg la ikke merke til at det var modulen fra Aliexpress du bruker - da kan jeg ikke bidra med analyse med mindre du finner et skjema (kortet er dobbeltsidig så i prinsippet skal det være mulig å rekonstruere).

 

Dersom du er lei av å fikle så har jeg snart dette kortet til salgs, det er på vei fra PCB-fabrikken i Kina nå:
image.png.020fd8d2f126ace29bf372551cb2e0c0.png

 

Det kjører på alle målertyper uten separat strømforsyning (USB-pluggen brukes kun for å gi spenning ved programmering).

  • Like 1
Lenke til innlegg
Del på andre sider

Ja det kan absolutt være interessant, må gjerne tagge meg eller pm'e meg når du får de. Er det "ams reader" softwaren som benyttes eller annet? Viktigste for meg er som sagt bare MQTT output sånn sett. 

Lenke til innlegg
Del på andre sider
23 minutes ago, Alpøy said:

Den står til 1.00 (jeg har aldri endret på GPIO konfigurasjonen)

 

Hva skjer hvis du endrer til 1.10? Jeg kjører med nøyaktig samme TSS-kort, riktignok på et NodeMCU. Måtte flytte RX over til NodeMCU D6, men du har jo helt tydelig klart å få RX på en pin som Wemos klarer å lese.

  • Thanks 1
Lenke til innlegg
Del på andre sider
11 minutes ago, Alpøy said:

Ja det kan absolutt være interessant, må gjerne tagge meg eller pm'e meg når du får de. Er det "ams reader" softwaren som benyttes eller annet? Viktigste for meg er som sagt bare MQTT output sånn sett. 

Kortet kjører selvsagt @gskjold sin eminente firmware https://github.com/gskjold/AmsToMqttBridge 😉

 

PCBene er på vei, Fedex lover levering ila denne uka, jeg regner med å få loddet opp første og verifisert i helga (værforbehold! 😎). Vil da legge ut oppdatering.

 

Grunnet utstrakt bruk av små SMD komponenter må det loddes med stensil, derfor selger jeg ikke byggesett, kun ferdigmonterte kort med 3D-printet boks.

 

 

  • Like 1
Lenke til innlegg
Del på andre sider
6 minutes ago, frodegill said:

 

Hva skjer hvis du endrer til 1.10? Jeg kjører med nøyaktig samme TSS-kort, riktignok på et NodeMCU. Måtte flytte RX over til NodeMCU D6, men du har jo helt tydelig klart å få RX på en pin som Wemos klarer å lese.

 

Godt poeng, RX pin på utviklingskort med USB interface bør ikke brukes, da USB-TTL chipen ofte gjør pulldown på den pinnen. MBUS bør komme inn på en annen IO, jeg bruker GPIO5 (D1) på mine D1 mini.

 

edit: D1 mini skal forøvrig ha 1.1 multiplier ja :)

Endret av gskjold
  • Like 1
Lenke til innlegg
Del på andre sider
1 hour ago, frodegill said:

 

Hva skjer hvis du endrer til 1.10? Jeg kjører med nøyaktig samme TSS-kort, riktignok på et NodeMCU. Måtte flytte RX over til NodeMCU D6, men du har jo helt tydelig klart å få RX på en pin som Wemos klarer å lese.

Spot on! Endret til multiplier 1.1, la RX over på D1 (GPIO5) og voilah! nå er alt grønt og fint og alle verdier er inne! 

 

Takker og bukker til alle sammen for hjelpen! 👏😁

  • Like 2
Lenke til innlegg
Del på andre sider
1 hour ago, stigvi said:

Hva er pris, da?

750 kr for ferdig montert, programmert og verifisert kort - inkludert 15 cm flat RJ-45 kabel.

50 kr for 3D-printet boks, eventuelt kan de som kjøper kortet få STL-filene og printe selv.

 

Du velger selv fraktmetode (og dermed -pris).

Posten: Uregistrert: 55 kr. Pakke med sporing: 149 kr.

Eller bruk en av de andre (helthjem.no etc).

  • Like 1
Lenke til innlegg
Del på andre sider

Jeg har nå startet opp så smått en nettbutikk hvor jeg selger mine AMS-lesere: https://amsleser.no/

 

Jeg selger to typer kort:

  • Pow-U er en "dongle" som kan brukes på alle målere i Norge med aktivert HAN-port. Skal også fungere på danske målere med HAN-port. Trenger ikke batteri eller ekstern strømforsyning, den henter strøm fra HAN-porten. Jeg selger også 3D-printet boks, eventuelt kan kjøpere med printer få tilsendt STL-filer og printe selv.
  • Pow-K er et kort som kan erstatte originalkortet i en Kamstrup-måler. Eventuelt selger jeg en 3D-printet holder slik at man slipper å rote med originalmodulen.
    Dette kan også leveres som kit for selvbygging (PCB og nøkkelkomponenter).

Kortene leveres ferdig montert, testet og programmert med siste versjon AmsToMqttBridge firmware, videreutviklet av @gskjold med utgangspunkt i koden @roarfred i sin tid utviklet i samarbeid med brukere på dette forumet over de første ca 30-40 sidene av denne megatråden.

 

Så de som ønsker å skaffe seg en HAN-leser som gir full kontroll over alle måledata, med knallgod firmware, MQTT-opsjon etc har sjansen nå; løp og kjøp! 😄

 

https://amsleser.no

 

 

image.thumb.png.fdc0656d89e8b6cd2a641eec912c2eb6.png

 

Endret av ArnieO
  • Like 7
Lenke til innlegg
Del på andre sider
  • 1 måned senere...

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

  • Lignende innhold

    • Av bfg86
      Hei!
      Min første post :)

      Jeg har koblet til noe utstyr på HAN-porten og observerer noe rart:
      ca en gang i halvtimen leses det av veldig høye effektverdier i korte tidsrom. Opp til > 40 kW i 5 sekunder, ned til 5kW i 5 sekunder og opp til > 40kW igjen. Dette varer i ca 5 minutter før effektverdien stabiliserer seg på normalt nivå igjen. 
       
      Er dette normalt??
       
      Jeg bruker en TSS721 til MBUS->TTL, leser av med en nRF52832, sender til Raspberry Pi og parser data med han-port fra BKK. Har en Kaifa MA105H2E AMS.
      Eksempel output fra han-port og screenshot fra grafana vedlagt.
       

      han-port_output.txt
    • Av Preben
      Hei,
       
      Har mekka litt for å få HAN-data fra Kamstrup-måleren min (1-fas) inn i Home Assistant.
       
      Bruker ESPHome med en ESP32 for å få inn data, forsøkte med en ESP8266, men den var ikke helt glad i software serieport, derfor måtte jeg ty til 32'en.
       
      Koden er ganske stygg foreløpig, men kanskje det kan hjelpe noen andre på vei:)
       
      Parser dataen ved å lese ut OBIS-koder og så hente tilknyttede data. Ingen CRC-sjekk e.l. da dingsen min ikke ser ut til å lese korrupte data i det hele tatt så langt.
       
      Har lånt en del inspirasjon fra RoarFreds HAN-leser, selv om jeg endte opp med noe ganske annerledes etterhvert:)
       
      ESPHome-konfigurasjonsfil:
      esphome: name: ams platform: ESP32 board: nodemcu-32s includes: mbus.h wifi: power_save_mode: light networks: - ssid: "LulzNettOppe" password: ##PASSORD## - ssid: "LulzNettEkstra" password: ##PASSORD## - ssid: "LulzNett" password: ##PASSORD## # Enable logging logger: level: DEBUG # Enable Home Assistant API api: ota: uart: id: uart_bus tx_pin: GPIO17 rx_pin: GPIO16 baud_rate: 2400 # Example configuration entry dallas: - pin: GPIO25 sensor: - platform: dallas address: 0xEA0214808622FF28 name: "Temperature Sikringsskap" - platform: custom lambda: |- auto mbus_reader = new MbusReader(id(uart_bus)); App.register_component(mbus_reader); return {mbus_reader->wattage_sensor, mbus_reader->reactive_power_sensor, mbus_reader->amperage_sensor, mbus_reader->voltage_sensor, mbus_reader->energy_sensor, mbus_reader->reactive_energy_sensor}; sensors: - name: "AMS Wattage" unit_of_measurement: kW accuracy_decimals: 3 filters: - multiply: 0.001 - name: "AMS Reactive Power" unit_of_measurement: VAr accuracy_decimals: 0 internal: true - name: "AMS Amperage" unit_of_measurement: A accuracy_decimals: 2 filters: - multiply: 0.01 - name: "AMS Voltage" unit_of_measurement: V accuracy_decimals: 0 - name: "AMS Hourly Energy" unit_of_measurement: kWh accuracy_decimals: 3 filters: - multiply: 0.01 - name: "AMS Hourly Reactive Energy" unit_of_measurement: kVArh accuracy_decimals: 3 internal: true filters: - multiply: 0.01 mbus.h:
      #include "esphome.h" class MbusReader : public Component, public uart::UARTDevice, public Sensor { public: MbusReader(uart::UARTComponent *parent) : uart::UARTDevice(parent) {} uint8_t temp_byte = 0; uint8_t *temp_byte_pointer = &temp_byte; uint8_t uart_buffer_[512]{0}; uint16_t uart_counter = 0; char uart_message[550]; char temp_string[10]; char obis_code[32]; char temp_obis[10]; uint32_t obis_value = 0; float wattage = 0; float amperage = 0; float voltage = 0; float energy = 0; Sensor *wattage_sensor = new Sensor(); Sensor *amperage_sensor = new Sensor(); Sensor *voltage_sensor = new Sensor(); Sensor *energy_sensor = new Sensor(); Sensor *reactive_power_sensor = new Sensor(); Sensor *reactive_energy_sensor = new Sensor(); void setup() override { } void loop() override { bool have_message = read_message(); } bool read_message() { while(available() >= 1) { read_byte(this->temp_byte_pointer); if(temp_byte == 126) { if(uart_counter > 2) { uart_buffer_[uart_counter] = temp_byte; uart_counter++; uart_message[0] = '\0'; strcpy(uart_message, ""); for (uint16_t i = 0; i < uart_counter && i < 256; i++) { //sprintf(temp_string, "%02X", uart_buffer_[i]); //strncat(uart_message, temp_string, 2); if(uart_buffer_[i-1] == 9 && uart_buffer_[i] == 6) { obis_code[0] = '\0'; strcpy(obis_code, ""); for (uint16_t y = 1; y < 6; y++) { sprintf(temp_obis, "%d.", uart_buffer_[i + y]); strcat(obis_code, temp_obis); } sprintf(temp_obis, "%d", uart_buffer_[i + 6]); strcat(obis_code, temp_obis); ESP_LOGV("uart", "OBIS code found: %s message length: %d", obis_code, uart_buffer_[i + 7]); obis_value = 0; if(uart_buffer_[i + 7] == 6) { for(uint8_t y = 0; y < 4; y++) { obis_value += (long)uart_buffer_[i + 8 + y] << ((3-y) * 8); } } else if(uart_buffer_[i + 7] == 18) { for(uint8_t y = 0; y < 2; y++) { obis_value += (long)uart_buffer_[i + 8 + y] << ((1-y) * 8); } } if(strcmp(obis_code, "1.1.1.7.0.255") == 0) { ESP_LOGV("uart", "Wattage: %d", obis_value); wattage_sensor->publish_state(obis_value); } else if (strcmp(obis_code, "1.1.31.7.0.255") == 0) { ESP_LOGV("uart", "Amperage: %d", obis_value); amperage_sensor->publish_state(obis_value); } else if (strcmp(obis_code, "1.1.32.7.0.255") == 0) { ESP_LOGV("uart", "Voltage: %d", obis_value); voltage_sensor->publish_state(obis_value); } else if (strcmp(obis_code, "1.1.1.8.0.255") == 0) { ESP_LOGV("uart", "Energy Usage Last Hour: %d", obis_value); energy_sensor->publish_state(obis_value); } else if (strcmp(obis_code, "1.1.4.7.0.255") == 0) { ESP_LOGV("uart", "Reactive Power: %d", obis_value); reactive_power_sensor->publish_state(obis_value); } else if (strcmp(obis_code, "1.1.4.8.0.255") == 0) { ESP_LOGV("uart", "Reactive Power Last Hour: %d", obis_value); reactive_energy_sensor->publish_state(obis_value); } else { ESP_LOGV("uart", "Unknown OBIS %s, value: %d", obis_code, obis_value); } } //strncat(uart_message, " ", 1); } ESP_LOGV("uart", "%d length received", uart_counter); //ESP_LOGI("uart", "%d length received: %s", uart_counter, uart_message); ESP_LOGV("uart", "Message length: %d", uart_message[3]); uart_counter = 0; uart_message[0] = '\0'; strcpy(uart_message, ""); } else { uart_counter = 0; } } uart_buffer_[uart_counter] = temp_byte; uart_counter++; } return false; } };  
    • 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. ?
       

×
×
  • Opprett ny...