Hallo allemaal,
Sinds een tijdje ben ik bezig met het uitlezen van data van onze smart-meter.. Ik heb alleen wel opgemerkt dat er vaak fouten zitten in de data dus wil ik met de checksum, die ook in het telegram zit nagaan, of het hele bericht foutloos is.
Ik gebruik Python op mijn Raspberry PI samen met PySerial en heb ook crcmod gevonden wat ik uiteindelijk wil gebruiken om de checksum te checken.
Mijn smart-meter is de AM550 van Liander. Ik heb gevonden dat ik daarvoor CRC16 moet gebruiken met polynoom 0x8005 (bron:https://www.netbeheernede...e_meter_15_a727fce1f1.pdf). Ook heb ik op een ander topic op tweakers gevonden dat de checksum van '/' tot '!' gedaan moet worden inclusief de '\r\n' die in het telegram staan. Dit was alleen wel voor DSMR 4.x dus ik weet niet zeker dat dit ook geldig is voor mijn versie (ESMR 5.0). Het is mij nog niet gelukt om de checksum van een bestand zelf te maken, om het makkelijker te maken voor mezelf doe ik dit eerst allemaal via tools op internet checken. Hieronder staat een telegram wat ik van internet af heb gehaald voor de AM-550 dus dit zou zonder fouten moeten zijn. Kan iemand met meer ervaring mij vertellen hoe ik nou uit dit telegram de goede checksum kan halen, 1F28 dus? De checksum komt trouwens door in hex. Alvast bedankt voor de hulp!
...
Sinds een tijdje ben ik bezig met het uitlezen van data van onze smart-meter.. Ik heb alleen wel opgemerkt dat er vaak fouten zitten in de data dus wil ik met de checksum, die ook in het telegram zit nagaan, of het hele bericht foutloos is.
Ik gebruik Python op mijn Raspberry PI samen met PySerial en heb ook crcmod gevonden wat ik uiteindelijk wil gebruiken om de checksum te checken.
Mijn smart-meter is de AM550 van Liander. Ik heb gevonden dat ik daarvoor CRC16 moet gebruiken met polynoom 0x8005 (bron:https://www.netbeheernede...e_meter_15_a727fce1f1.pdf). Ook heb ik op een ander topic op tweakers gevonden dat de checksum van '/' tot '!' gedaan moet worden inclusief de '\r\n' die in het telegram staan. Dit was alleen wel voor DSMR 4.x dus ik weet niet zeker dat dit ook geldig is voor mijn versie (ESMR 5.0). Het is mij nog niet gelukt om de checksum van een bestand zelf te maken, om het makkelijker te maken voor mezelf doe ik dit eerst allemaal via tools op internet checken. Hieronder staat een telegram wat ik van internet af heb gehaald voor de AM-550 dus dit zou zonder fouten moeten zijn. Kan iemand met meer ervaring mij vertellen hoe ik nou uit dit telegram de goede checksum kan halen, 1F28 dus? De checksum komt trouwens door in hex. Alvast bedankt voor de hulp!
ASP: telegram_voorbeeld
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| /ISK5\\2M550T-1011\r\n \r\n 1-3:0.2.8(50)\r\n 0-0:1.0.0(181106140429W)\r\n 0-0:96.1.1(4530303334303036383130353136343136)\r\n 1-0:1.8.1(003808.351*kWh)\r\n 1-0:1.8.2(002948.827*kWh)\r\n 1-0:2.8.1(001285.951*kWh)\r\n 1-0:2.8.2(002876.514*kWh)\r\n 0-0:96.14.0(0002)\r\n 1-0:1.7.0(00.000*kW)\r\n 1-0:2.7.0(00.498*kW)\r\n 0-0:96.7.21(00006)\r\n 0-0:96.7.9(00003)\r\n 1-0:99.97.0(1)(0-0:96.7.19)(180529135630S)(0000002451*s)\r\n 1-0:32.32.0(00003)\r\n 1-0:52.32.0(00002)\r\n 1-0:72.32.0(00002)\r\n 1-0:32.36.0(00001)\r\n 1-0:52.36.0(00001)\r\n 1-0:72.36.0(00001)\r\n 0-0:96.13.0()\r\n 1-0:32.7.0(236.0*V)\r\n 1-0:52.7.0(232.6*V)\r\n 1-0:72.7.0(235.1*V)\r\n 1-0:31.7.0(002*A)\r\n 1-0:51.7.0(000*A)\r\n 1-0:71.7.0(000*A)\r\n 1-0:21.7.0(00.000*kW)\r\n 1-0:41.7.0(00.033*kW)\r\n 1-0:61.7.0(00.132*kW)\r\n 1-0:22.7.0(00.676*kW)\r\n 1-0:42.7.0(00.000*kW)\r\n 1-0:62.7.0(00.000*kW)\r\n 0-1:24.1.0(003)\r\n 0-1:96.1.0(4730303339303031373030343630313137)\r\n 0-1:24.2.1(181106140010W)(01569.646*m3)\r\n !1F28\r\n |
...