Wat is een P1 poort?
De P1 poort is een seriele poort (is optioneel) op je digitale elektra meter waarin je een RJ-11 (Registered Jack) stekkertje kan steken (bekend van de telefoonaansluitingen) om zo de meterstanden en het verbruik uit te lezen. Het is niet mogelijk om gegevens naar de poort te sturen!
Onderaan deze pagina heb ik de informatiebladen “Dutch Smart Meter Requirements” (DSMR) toegevoegd.
Niet standaard (zie DSMR v4.04, Hfdst 4.6 “signals”)
Deze seriele poort is echter niet standaard, ondanks dat hij op UART TTL niveau werkt, zijn de logische waarden omgedraaid: 1=0 en 0=1 ,dit is softwarematig op te lossen, maar geeft niet altijd het gewenste resultaat, oplossing is om dit hardwarematig te doen, bijvoorbeeld met een chip ertussen te plaatsen vaak wordt een MAX232 of 7404 gebruikt.
Volgens de specificatie kan de poort max. 15v aan, dus een echt RS232 signaal (+12v) vanuit een “echte” com poort moet hij aan kunnen.
Signaalniveaus
Voltage | Logische waarde |
---|---|
>4v (max. 15v) | 0 |
<4v | 1 |
Stekker voor de P1 poort.
Het stekkertje dat in de P1 poort moet is het type RJ-11, 4 of 6-pins (bekend van de telefoonaansluitingen):
Schematische voorstelling P1 poort (ESMRv5.0 P1)
Meter pinouts
– Iskra ME 382 en MT 382 pinout
– Kaifa MA105 en MA304 pinout
– Kamstrup 162, 382 en 351 pinout
– Landis + Gyr E350 pinout
Pin 1 en 6 met DSMR 2.2:
Ps. Volgens de documentatie DSMR is pin 1 & 6 oorspronkelijk bedoelt om de seriele hardware interface van de p1 poort te voeden, maar dit wordt vanuit de meter (intern) al gevoed (om eventuele kortsluiting door gebruikers te voorkomen?), daarom zijn ze vervallen!
Pin 1 en 6 met DSMR 4.0:
Pin 1 en 6 worden gebruikt om uitleesapparatuur van de p1 poort te voeden, er staat een spanning op van +5v
Hoe data uit te lezen?
De P1 poort stuurt alleen maar data als de RTS pin is voorzien van >+5v ten opzichte van de GND (-), zolang de spanning daarop blijft staan wordt er elke 10 seconden een “telegram” verzonden op de TxD
Echter om de seriele data goed te ontvangen is deze instelling van de P1 poort ook niet standaard (9600 8N1) maar heeft deze instelling:
DSMR 2.2
9600 7E1:
Baudrate = 9600
Data bits = 7
Parity = Even
Stop bits = 1
DSMR 4.0/4.2?
115200 8N1:
Baudrate = 115200
Data bits = 8
Parity = None
Stop bits = 1
Kijk op deze pagina hoe je een P1 poort kan uitlezen met behulp van een Arduino.
Instellingen gevonden op het internet hier en daar (heb je wijzigingen?, stuur een mail):
Merk: | Model: | Type: | Uitvoering P1 poort: | DSMR versie: | Seriële instellingen: | Geïnverteerd signaal? | P1 telegram header: |
---|---|---|---|---|---|---|---|
Iskra | ME 382 | 1-fase kleinverbruik | RJ-11, 6-pins | 2.2 | 9600 7E1 | Ja | /ISk5\ |
Iskra | MT 382 | 3-fase kleinverbruik | RJ-11, 6-pins | 2.2 | 9600 7E1 | Ja | /ISk5\ |
Kaifa | E0003 | 3-fase kleinverbruik | RJ-11, 6-pins | 4? | 115200 8N1 | Ja | KFM5 KFM5KAIFA-METER |
Kaifa | E0025 | 1-fase kleinverbruik | RJ-11, 6-pins | 4 | 115200 8N1 | Ja | /KFM5 |
Kaifa | MA105 | 1-fase kleinverbruik | RJ-11, 6-pins | 4.0 (4.0.5 / 4.0.7) | 115200 8N1 | Ja | /KFM5 |
Kaifa | MA105C | 1-fase kleinverbruik | RJ-11, 6-pins | 4.2.2 | 115200 8N1? | Ja? | /KFM5 |
Kaifa | MA304 | 3-fase kleinverbruik | RJ-11, 6-pins | 4.0 (4.0.5 / 4.0.7) | 115200 8N1 | Ja | /KFM5 |
Kaifa | MA304C | 3-fase kleinverbruik | RJ-11, 6-pins | 4.2.2 | 115200 8N1? | Ja? | /KFM5 |
Kamstrup | 162 | 1-fase kleinverbruik | RJ-11, 4-pins | 2.2 | 9600 7E1 | Ja | /KMP5 |
Kamstrup | 351 | 3-fase (ext. stroom spoelen) | RJ-11, 6-pins | 2.2 | 9600 7E1 | Ja | /KMP5 |
Kamstrup | 382 | 3-fase kleinverbruik | RJ-11, 4-pins | 2.2 | 9600 7E1 | Ja | /KMP5 |
Landis + Gyr | E350 (ZCF100) | 1-fase kleinverbruik | RJ-11, 6-pins | 4.0 | 115200 8N1 | Ja? | /XMX5LG |
Landis + Gyr | E350 (ZCF100) | 1-fase kleinverbruik | RJ-11, 6-pins | 4.2 | 115200 7E1 | Ja | /XMX5LG |
Landis + Gyr | E350 (ZCF110) | 1-fase kleinverbruik | RJ-11, 6-pins | 4.2 | 115200 8N1 | Zie mailtip onder | /XMX5LG |
Landis + Gyr | E350 (ZFF100) | 3-fase (3-aderig) kleinverbruik | RJ-11, 6-pins | 4.0 | 115200 8N1 | Ja? | /XMX5LG |
Landis + Gyr | E350 (ZMF100) | 1-fase / 3-fase (4-aderig) kleinverbruik | RJ-11, 6-pins | 4.0 | 115200 8N1 | Ja? | /XMX5LG |
Sagemcom | T210-D ESMR5 | 3-fase | RJ-11, 6-pins | ESMR 5.0 | 115200 8N1 | Ja | /Ene5 |
Geen gegevens/telegram?, probeer eens een weerstandje!
*Mailtip* van Dhr. Lourens:
De Landis + Gyr, E350 (ZCF110) werkt zonder een inverter nodig te hebben. Deze meter heeft een open collector en met een weerstandje van 1kOhm van een 3.3V voeding kan je rechtstreeks de data uitlezen met een 3.3V seriele poort. De RTS heeft 5V nodig maar het werkt ook met 6V goed (to nu toe).
*Mailtip* van Dhr. Bouwstra
Mijn meter, de Landis + Gyr E350 DSMR 4.2 heeft een open collector uitgang om deze meter werkend te krijgen moet je een 1kOhm weerstand tussem de Vcc en RxD pin plaatsen.
Deze info heb ik gevonden op: domoticaforum.eu
*Mailtip* van Dhr. Otten
Voor wat betreft de CRC (de 4 hex waarden achter het “!”)
CRC is a CRC16 value calculated over the preceding characters in the data message
(from “/” to “!” using the polynomial: x16+x15+x2+1).
CRC16 uses no XOR in, no XOR out and is computed with least significant bit first.
The value is represented as 4 hexadecimal characters (MSB first).
Hoe zien de telegrammen eruit?
Hieronder zie je een voorbeeld van de telegrammen die elke 10 seconden verstuurd worden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/KMP5 ZABF001587315111 (KMP lijkt de identificatie te zijn van Kamstrup) 0-0:96.1.1(205C4D246333034353537383234323121) (serienummer meter in hexadecimale ascii code) 1-0:1.8.1(00185.000*kWh) (Totaal verbruik tarief 1 (nacht)) 1-0:1.8.2(00084.000*kWh) (Totaal verbruik tarief 2 (dag)) 1-0:2.8.1(00013.000*kWh) (Totaal geleverd tarief 1 (nacht)) 1-0:2.8.2(00019.000*kWh) (Totaal geleverd tarief 2 (dag)) 0-0:96.14.0(0001) (Actuele tarief (1)) 1-0:1.7.0(0000.98*kW) (huidig verbruik) 1-0:2.7.0(0000.00*kW) (huidige teruglevering) 0-0:17.0.0(999*A) (maximum stroom per fase 0-0:96.3.10(1) (stand van de schakelaar) 0-0:96.13.1() (bericht numeriek) 0-0:96.13.0() (bericht tekst) 0-1:24.1.0(3) (andere apparaten op de M-Bus) 0-1:96.1.0(3238313031453631373038389930337131) (identificatie van de gasmeter) 0-1:24.3.0(120517020000)(08)(60)(1)(0-1:24.2.1)(m3) (tijd van de laatste gas meting (120517020000 = 17 mei 2012 2uur)) (00124.477) (Verbruikte hoeveelheid gas) 0-1:24.4.0(1) (stand gasklep?) ! (Afsluiter) |
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 |
/ISk5\2MT382-1 000 1 -3:0.2.8(40) 0-0:1.0.0(101209113020W) 0-0:96.1.1(4B384547303034303436333935353037) 1-0:1.8.1(123456.789*kWh) 1-0:1.8.2(123456.789*kWh) 1-0:2.8.1(123456.789*kWh) 1-0:2.8.2(123456.789*kWh) 0-0:96.14.0(0002) 1-0:1.7.0(01.1 93*kW) 1-0:2.7.0(00.000*kW) 0-0:17.0.0(016.1 *kW) 0-0:96.3.10(1) 0-0:96.7.21(00004) 0-0:96.7.9(00002) 1-0:99:97.0(2)(0:96.7.1 9)(101208152415W)(0000000240*s)(101208151004W)(00000000301*s) 1-0:32.32.0(00002) 1-0:52.32.0(00001) 1-0:72:32.0(00000) 1-0:32.36.0(00000) 1-0:52.36.0(00003) 1-0:72.36.0(00000) 0-0:96.13.1(3031203631203831) 0-0:96.13.0(303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B 3C3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F) 0-1:24.1.0(03) 0-1:96.1.0(3232323241424344313233343536373839) 0-1:24.2.1(101209110000W)(12785.123*m3) 0-1:24.4.0(1) !522B |
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 |
/XMX5LGBBFG10 1-3:0.2.8(42) 0-0:1.0.0(170108161107W) 0-0:96.1.1(4530303331303033303031363939353135) 1-0:1.8.1(002074.842*kWh) 1-0:1.8.2(000881.383*kWh) 1-0:2.8.1(000010.981*kWh) 1-0:2.8.2(000028.031*kWh) 0-0:96.14.0(0001) 1-0:1.7.0(00.494*kW) 1-0:2.7.0(00.000*kW) 0-0:96.7.21(00004) 0-0:96.7.9(00003) 1-0:99.97.0(3)(0-0:96.7.19)(160315184219W)(0000000310*s)(160207164837W)(0000000981*s)(151118085623W)(0000502496*s) 1-0:32.32.0(00000) 1-0:32.36.0(00000) 0-0:96.13.1() 0-0:96.13.0() 1-0:31.7.0(003*A) 1-0:21.7.0(00.494*kW) 1-0:22.7.0(00.000*kW) 0-1:24.1.0(003) 0-1:96.1.0(4730303139333430323231313938343135) 0-1:24.2.1(170108160000W)(01234.000*m3) !D3B0 |
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 |
/Ene5\T210-D ESMR5.0 1-3:0.2.8(50) 0-0:1.0.0(180108202537W) 0-0:96.1.1(serienummer) 1-0:1.8.1(000000.855*kWh) 1-0:1.8.2(000000.693*kWh) 1-0:2.8.1(000000.084*kWh) 1-0:2.8.2(000000.000*kWh) 0-0:96.14.0(0002) 1-0:1.7.0(00.134*kW) 1-0:2.7.0(00.000*kW) 0-0:96.7.21(00008) 0-0:96.7.9(00004) 1-0:99.97.0(1)(0-0:96.7.19)(171024204625S)(0000000305*s) 1-0:32.32.0(00003) 1-0:52.32.0(00003) 1-0:72.32.0(00002) 1-0:32.36.0(00000) 1-0:52.36.0(00000) 1-0:72.36.0(00000) 0-0:96.13.0() 1-0:32.7.0(229.0*V) 1-0:52.7.0(226.0*V) 1-0:72.7.0(229.0*V) 1-0:31.7.0(000*A) 1-0:51.7.0(000*A) 1-0:71.7.0(000*A) 1-0:21.7.0(00.094*kW) 1-0:41.7.0(00.040*kW) 1-0:61.7.0(00.000*kW) 1-0:22.7.0(00.000*kW) 1-0:42.7.0(00.000*kW) 1-0:62.7.0(00.000*kW) 0-1:24.1.0(003) 0-1:96.1.0(serienummer) 0-1:24.2.1(180108205500W)(00001.290*m3) !B055 |
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 |
KFM5KAIFA-METER 1-3:0.2.8(42) 0-0:1.0.0(180306123056W) 0-0:96.1.1(4530303033303030303032313234383133) 1-0:1.8.1(004726.494*kWh) 1-0:1.8.2(004844.281*kWh) 1-0:2.8.1(003284.320*kWh) 1-0:2.8.2(007764.691*kWh) 0-0:96.14.0(0002) 1-0:1.7.0(00.000*kW) 1-0:2.7.0(01.869*kW) 0-0:96.7.21(00013) 0-0:96.7.9(00007) 1-0:99.97.0(1)(0-0:96.7.19)(000101000024W)(2147483647*s) 1-0:32.32.0(00000) 1-0:52.32.0(00000) 1-0:72.32.0(00000) 1-0:32.36.0(00000) 1-0:52.36.0(00000) 1-0:72.36.0(00000) 0-0:96.13.1() 0-0:96.13.0() 1-0:31.7.0(003*A) 1-0:51.7.0(003*A) 1-0:71.7.0(002*A) 1-0:21.7.0(00.000*kW) 1-0:22.7.0(00.688*kW) 1-0:41.7.0(00.000*kW) 1-0:42.7.0(00.778*kW) 1-0:61.7.0(00.000*kW) 1-0:62.7.0(00.403*kW) 0-1:24.1.0(003) 0-1:96.1.0(4730303136353631323033353830313133) 0-1:24.2.1(180306120000W)(05359.919*m3) !A737 |
In de DSMR documentatie vind je wat de “codes” betekenen:
Value | OBIS
reference |
Attribute | Class ID | Value Format | Value Unit |
Header information | – | – | – | Manufacturer specific | |
Version information
for P1 output |
1-3:0.2.8.255 | 2 | 1
Data |
S2, tag 9 | |
Date-time stamp of
the P1 message |
0-0:1.0.0.255 | 2 | 8 | TST | YYMMDDhhmm
ssX |
Equipment identifier | 0-0:96.1.1.255 | 2
Value |
1
Data |
Sn (n=0..96), tag 9 | |
Meter Reading electricity delivered to client (Tariff 1) in
0,001 kWh |
1-0:1.8.1.255 | 2
Value |
3
Register |
F9(3,3), tag 6 | kWh |
Meter Reading electricity delivered to client (Tariff 2) in
0,001 kWh |
1-0:1.8.2.255 | 2
Value |
3
Register |
F9(3,3), tag 6 | kWh |
Meter Reading electricity delivered by client (Tariff 1) in
0,001 kWh |
1-0:2.8.1.255 | 2
Value |
3
Register |
F9(3,3), tag 6 | kWh |
Meter Reading electricity delivered by client (Tariff 2) in
0,001 kWh |
1-0:2.8.2.255 | 2
Value |
3
Register |
F9(3,3), tag 6 | kWh |
Tariff indicator elec- tricity. The tariff in- dicator can also be used to switch tariff dependent loads
e.g boilers. This is the responsibility of the P1 user |
0-0:96.14.0.255 | 2
Value |
1
Data |
S4, tag 9 | |
Actual electricity power delivered (+P) in 1 Watt reso-
lution |
1-0:1.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Actual electricity power received (-P)
in 1 Watt resolution |
1-0:2.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Number of power
failures in any phase |
0-0:96.7.21.255 | 2
Value |
1
Data |
F5(0,0), tag 18 |
Value | OBIS
reference |
Attribute | Class ID | Value Format | Value Unit |
Number of long power failures in
any phase |
0-0:96.7.9.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Power Failure Event Log (long power failures) | 1-0:99.97.0.255 | 2
Buffer |
7
Profile Ge- neric |
TST, F10(0,0) – tag 6
Format applicable for the value within the log (OBIS code 0- 0:96.7.19.255) |
Timestamp (end of failure) – duration in se- conds |
Number of voltage
sags in phase L1 |
1-0:32.32.0.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Number of voltage
sags in phase L2 |
1-0:52.32.0.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Number of voltage
sags in phase L3 |
1-0:72.32.0.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Number of voltage
swells in phase L1 |
1-0:32.36.0.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Number of voltage
swells in phase L2 |
1-0:52.36.0.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Number of voltage
swells in phase L3 |
1-0:72.36.0.255 | 2
Value |
1
Data |
F5(0,0), tag 18 | |
Text message max
1024 characters. |
0-0:96.13.0.255 | 2
Value |
1
Data |
Sn (n=0..2048), tag 9 | |
Instantaneous volt-
age L1 in V resolu- tion |
1-0:32.7.0.255 | 2
Value |
3
Register |
F4(1,1), tag 18 | V |
Instantaneous volt- age L2 in V resolu-
tion |
1-0:52.7.0.255 | 2
Value |
3
Register |
F4(1,1), tag 18 | V |
Instantaneous volt- age L3 in V resolu-
tion |
1-0:72.7.0.255 | 2
Value |
3
Register |
F4(1,1), tag 18 | V |
Instantaneous cur- rent L1 in A resolu-
tion. |
1-0:31.7.0.255 | 2
Value |
3
Register |
F3(0,0), tag 18 | A |
Instantaneous cur- rent L2 in A resolu-
tion. |
1-0:51.7.0.255 | 2
Value |
3
Register |
F3(0,0), tag 18 | A |
Instantaneous cur- rent L3 in A resolu-
tion. |
1-0:71.7.0.255 | 2
Value |
3
Register |
F3(0,0), tag 18 | A |
Instantaneous ac- | 1-0:21.7.0.255 | 2 | 3 | F5(3,3), tag 18 | kW |
Value | OBIS
reference |
Attribute | Class ID | Value Format | Value Unit |
tive power L1 (+P)
in W resolution |
Value | Register | |||
Instantaneous ac-
tive power L2 (+P) in W resolution |
1-0:41.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Instantaneous ac-
tive power L3 (+P) in W resolution |
1-0:61.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Instantaneous ac-
tive power L1 (-P) in W resolution |
1-0:22.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Instantaneous ac- tive power L2 (-P) in
W resolution |
1-0:42.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Instantaneous ac- tive power L3 (-P) in
W resolution |
1-0:62.7.0.255 | 2
Value |
3
Register |
F5(3,3), tag 18 | kW |
Device-Type | 0-n:24.1.0.255 | 9
Device type |
72
M-Bus cli- ent |
F3(0,0), tag 17 | |
Equipment identifier
(Gas) |
0-n:96.1.0.255 | 2
Value |
1
Data |
Sn (n=0..96), tag 9 | |
Last 5-minute value (temperature con- verted), gas deliv- ered to client in m3, including decimal values and capture time | 0-n:24.2.1.255 | 5
Capture time |
4
Extended Register |
TST | |
0-n:24.2.1.255 | 2
Value |
4
Extended Register |
F8(2,2)/F8(3,3), tag 18
(See note 2) |
m3 | |
Device-Type | 0-n:24.1.0.255 | 9
Device type |
72
M-Bus cli- ent |
F3(0,0), tag 17 | |
Equipment identifier (Thermal: Heat or
Cold) |
0-n:96.1.0.255 | 2
Value |
1
Data |
Sn (n=0..96), tag 9 | |
Last 5-minute Meter reading Heat or Cold in 0,01 GJ and capture time | 0-n:24.2.1.255 | 5
Capture time |
4
Extended Register |
TST | |
0-n:24.2.1.255 | 2 | 4 | Fn(2,2) | GJ |
Value | OBIS
reference |
Attribute | Class ID | Value Format | Value Unit |
Value | Extended
Register |
(See note 1) | |||
Device-Type | 0-n:24.1.0.255 | 9
Device type |
72
M-Bus cli- ent |
F3(0,0), tag 17 | |
Equipment identifier
(Water) |
0-n:96.1.0.255 | 2
Value |
1
Data |
Sn (n=0..96), tag 9 | |
Last 5-minute Meter reading in 0,001 m3 and capture time | 0-n:24.2.1.255 | 5
Capture time |
4
Extended Register |
TST | |
0-n:24.2.1.255 | 2
Value |
4
Extended Register |
Fn(3,3)
(See Note 1) |
m3 | |
Device-Type | 0-n:24.1.0.255 | 9
Device type |
72
M-Bus cli- ent |
F3(0,0), tag 17 | |
Equipment identifier | 0-n:96.1.0.255 | 2
Value |
1
Data |
Sn (n=0..96), tag 9 | |
Last 5-minute Meter reading and capture time (e.g. slave E meter) | 0-n:24.2.1.255 | 5
Capture time |
4
Extended Register |
TST | |
0-n:24.2.1.255 | 2
Value |
4
Extended Register |
Fn(3,3)
(See Note 1) |
kWh |
Bronnen:
“Dutch Smart Meter Requirements” (netbeheer nederland)