I am getting this error when running the client. From the log file it seems like there is two-way communication going on between my RPi and the Omnipower reader so I guess the port are connected correctly:
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0'
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
Data send failed. Try to resend 1/3
Invalid HDLC Frame: 0x42 Expected: 0x52
Data send failed. Try to resend 1/3
Invalid HDLC Frame: 0x42 Expected: 0x52
Invalid HDLC Frame: 0x42 Expected: 0x52
DisconnectRequest
Traceback (most recent call last):
File "main.py", line 112, in main
reader.readAll(settings.outputFile)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 542, in readAll
self.getAssociationView()
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 519, in getAssociationView
self.client.parseObjects(reply.data, True, False)
File "/home/pi/.local/lib/python2.7/site-packages/gurux_dlms/GXDLMSClient.py", line 785, in parseObjects
raise Exception("Invalid parameter.")
Exception: Invalid parameter.
Ended. Press any key to continue.
Thanks! But not sure how to "Get the latest version from the client example..."
The result looks similar to the first attempt:
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
Invalid HDLC Frame: 0x42 Expected: 0x52
Data send failed. Try to resend 1/3
Invalid HDLC Frame: 0x42 Expected: 0x52
Invalid HDLC Frame: 0x42 Expected: 0x52
DisconnectRequest
Traceback (most recent call last):
File "main.py", line 112, in main
reader.readAll(settings.outputFile)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 542, in readAll
self.getAssociationView()
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 519, in getAssociationView
self.client.parseObjects(reply.data, True, False)
File "/home/pi/.local/lib/python2.7/site-packages/gurux_dlms/GXDLMSClient.py", line 785, in parseObjects
raise Exception("Invalid parameter.")
Exception: Invalid parameter.
Ended. Press any key to continue.
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Traceback (most recent call last):
File "main.py", line 80, in main
ret = settings.getParameters(args)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXSettings.py", line 139, in getParameters
parameters = GXSettings.__getParameters(args, "h:p:c:s:r:i:It:a:p:P:g:S:n:C:v:o:T:A:B:D:d:l:W:w:f:L:")
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXSettings.py", line 134, in __getParameters
c.value = args[1 + index]
IndexError: list index out of range
Ended. Press any key to continue.
I just got the latest version to Raspberry PI and I can't repeat your problem. Are you sure that you haven't changed the source files? Check specially GXSettings.py.
Haven't changed anything as far as I can see. Just downloaded the GXSettings.py again from GitHub and put it in /Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python
Same error message.
Just changed platform from RPi3 to a RPi4 and did a fresh install. So now things are looking better as you can see. Is this what to expect at this stage?
You can establish the connection for the meter, but when the association is read the meter is sending strange data after the first reply. I believe that one of your settings is different than the meter expects.
Can you see the model number or manufacturing year? We have different models from Omnipower and can test this if you can give this information.
I found model M180200, but 2018W21. Download GXDLMSDirector and then try to connect with it.
First, select "Supported services" tab and uncheck "General Block Transfer". I believe that might be the
problem.
If you are using an optical probe try to change Authentication to low. Client address to 13 and Physical Server to 10 like in the pic below.
Nice app but it is not convenient to run this project from a PC. Needs to be RPi with SSH and serial comms over GPIO pins. Can't I make similar settings in your .py files?
I have now received an encryption key from the supplier and inserted this instead of 12345. The result is the same as before - so unfortunately no difference in data. Should I put it elsewhere?
OK. Then you need to connect without authentication. Without low-level access, you can read only a tiny part of the objects. You can't example read the register values or profile generics (Historical values).
I tested with the parameters below and it worked without problems with my meter.
-S COM8:9600 -f 1010 -t Verbose
I read the association view and all the objects with Raspberry PI.
The firmware version of my meter is 5098736-X1.
OK - now it looks better (I assume). I don't need low level data and simple meter readings would be very fine at this stage. Can you give me some guidance on how to grab this and convert it to a standard string?
There is something wrong with your meter version. When the association view is read it returns first data correct at first, but the rest of the data is wrong. Try to use my meter's association view. Download it view from here:
Those objects are not implemented for your meter.
We have the same meter model, but the firmware versions are different and the objects are also.
You can read an object that you like if you add -g argument.
This reads the time (attribute index #2) of the clock object (Logical name is "0.0.1.0.0.255").
That doesn't make a difference. In reality couldn't you send a standard serial string like
7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
and get the acknowledge return:
7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
No, that is not possible. You need to establish the connection for the meter and after that, you can read values from the meter. DLMS is also a binary protocol, not ASCII.
Excellent! Am I then limited to the data that is outlined in the XML file? I am looking for actual power readings but it doesn't seem to be an option there. If I look at the providers manual page 4 (sorry, it's in Danish) there should be many other options: https://radiuselnet.dk/wp-content/uploads/DLMS-COSEM.pdf
Thanks to google Translate. It says that the meter is sending push messages every 10th seconds. You don't need to establish the connection for the meter, only listen to the serial port.
The meter should send those values automatically.
Open the serial port and if you receive data, you can use the listener to translate it to the XML.
I did try to listen earlier with a standard serial reader but nothing was received. Will try to experiment with your library and see if it makes any difference.
Check the next page. Baudrate is 2400. Try with that. Is there other interfaces (serial ports) than optical probe in your meter? It might be that this information is sent to other serial port.
Oh yes - that might be a good reason. I am using the serial port as it connects directly to RPi GPIO. I have no intentions of using the optical probe though. How should the args look if I want to go 2400 bps?
Didn't make a difference. Been in contact with Radius (supplier of meters) who says that it's not open for push messages unless you apply for it. So 'll do that and return when it's working.
So manuals are not always to be taken literally....
So now PUSH is open for messages every 10 sec and I received an encryption_key and an authentication_key. Where do I insert the keys in order to decrypt the information I am receiving?:
I see. Looks like I need to erase the 0x at start of each key in order to avoid errors. Then result looks like this. How do I convert it to plain text?
Sorry - wrong baud rate. This is how it looks at 2400bps:
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
/dev/ttyS0:2400 8NONE1
Press any key to close the application.
Media state changed. MediaState.OPENING
trace:13:03:25 TraceTypes.INFO Settings: Port: /dev/ttyS0 Baud Rate: 2400 Data Bits: 8 Parity: Parity.NONE Stop Bits: 0 Eop:126
Media state changed. MediaState.OPEN
New data is received. /dev/ttyS0:7E
New data is received. /dev/ttyS0:A1 E9 41 03 13 C6 37 E6 E7 00 DB 08 4B 41 4D 45 01 C4 EC 57 82 01 D0 30
New data is received. /dev/ttyS0:00 00 64 19 AE F0 D4 C5 BF AE B4 6C 35 64 1E A7 37 E1 16 07 DC B7 5F 27
New data is received. /dev/ttyS0:6E D9 8C EE 21 5C 37 6F 90 36 68 0E BD 40 AF 1C B5 88 18 1B FB 2E 75 56
New data is received. /dev/ttyS0:72 7F 5A 04 AA 0C FE 9E F2 00 06 AE 96 52 07 0B D7 62 98 07 B5 B9 80 AC
New data is received. /dev/ttyS0:B2 24 0F 9C 11 69 9A 10 B2 80 3F E3 8E 1C A6 00 91 D6 5C C5 1B 81 F8 F5
New data is received. /dev/ttyS0:BA D1 3F 6D 2F 82 87 99 CE 69 77 A4 39 16 2C 0C 93 57 43 FF 67 A5 97 AA
New data is received. /dev/ttyS0:E7 37 96 8E A6 7E 89 56 98 50 AB 89 61 88 C7 23 20 D7 C3 22 DC C9 EE BC
New data is received. /dev/ttyS0:B8 40 E3 1D BD EF 4D 09 9F 63 29 7D 31 AF F7 8B 64 7C 3B 80 B6 2B 82 EA
New data is received. /dev/ttyS0:B6 5E 38 FB 80 62 0D BD B4 7C 98 FD B8 49 34 A0 24 31 7A 45 DE 3B E4 74
New data is received. /dev/ttyS0:58 61 46 1A 33 8F 88 81 2A C5 20 9B 8A 93 FE 1D 99 B1 9B 93 54 BE 8A 3E
New data is received. /dev/ttyS0:17 1E CF 90 05 B5 01 6B 94 C4 55 E6 E2 CA 58 DD A8 F6 39 09 61 BA 48 10
New data is received. /dev/ttyS0:6B 2D 8B 3E 02 91 AD EA BF CD 2C 13 EA 82 23 8F F0 62 60 BD D6 36 92 1F
New data is received. /dev/ttyS0:55 17 D8 29 22 72 14 89 87 72 2E 3B C4 06 CF 31 EB A0 F8 06 43 27 2E DF
New data is received. /dev/ttyS0:08 8B 21 9C 54 44 12 F7 C8 EB F8 74 AD F3 C3 BC 1B BE 6D C8 A6 93 4A BE
New data is received. /dev/ttyS0:C6 05 64 67 62 E0 A0 B8 1E 6A 11 8E 11 FA 48 A5 CD EB ED 95 C9 60 41 15
New data is received. /dev/ttyS0:2C 6A E2 4B 32 D7 1E 67 F6 DB 8B 7C 54 4B C1 74 E2 EC 2F 79 E5 02 B3 12
New data is received. /dev/ttyS0:32 CB 6E 24 65 D1 65 58 E8 0E C2 21 FA 12 3F 66 41 49 0B EC DD B3 45 CF
New data is received. /dev/ttyS0:83 08 48 45 7E DD 85 50 61 63 61 EA 12 3C 90 59 43 93 0D 7C 8B 0E C0 76
New data is received. /dev/ttyS0:23 4D 79 11 47 47 4C C4 32 E0 5A F8 8A C1 89 06 60 BE 74 20 B1 FA 01 2A
New data is received. /dev/ttyS0:5B 4D 38 71 19 6A AB 50 20 D6 79 02 58 5A 97 0A A8 66 B1 D9 4F 4F D8 8C
New data is received. /dev/ttyS0:80 4B 0E 08 5A 42 1D 28 AB 7E
Now it looks good. You can see the push message in XML format and printable format.
It seems like your meter is configured to send OBIS code and value. The first value describes the object:
01010D0700FF: Ch. 1 Sum Li Power factor Inst. value
//Object value:
0x0013841E: 1279006
Thanks a lot - looks very promising! Is there a way that I can query just one object by sending the OBIS code? I am hoping to do so from a current Python application that deals with other data in order also to include meter data in the framework.
The push message structure is configured to your meter in a way that causes you to need to loop all the values and find the correct one. It's not possible to query from this data content.
Hi,
Hi,
Omnipower expects a specific frame size. Get the latest version from the client example and run this:
python main.py -S '/dev/ttyS0' -f 1010
BR,
Mikko
Thanks! But not sure how to
Thanks! But not sure how to "Get the latest version from the client example..."
The result looks similar to the first attempt:
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
Invalid HDLC Frame: 0x42 Expected: 0x52
Data send failed. Try to resend 1/3
Invalid HDLC Frame: 0x42 Expected: 0x52
Invalid HDLC Frame: 0x42 Expected: 0x52
DisconnectRequest
Traceback (most recent call last):
File "main.py", line 112, in main
reader.readAll(settings.outputFile)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 542, in readAll
self.getAssociationView()
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 519, in getAssociationView
self.client.parseObjects(reply.data, True, False)
File "/home/pi/.local/lib/python2.7/site-packages/gurux_dlms/GXDLMSClient.py", line 785, in parseObjects
raise Exception("Invalid parameter.")
Exception: Invalid parameter.
Ended. Press any key to continue.
Hi,
Hi,
Add -t Verbose argument to get a log. Without log, it's not possible to solve the reason.
BR,
Mikko
Then I get this result here:
Then I get this result here:
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Traceback (most recent call last):
File "main.py", line 80, in main
ret = settings.getParameters(args)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXSettings.py", line 139, in getParameters
parameters = GXSettings.__getParameters(args, "h:p:c:s:r:i:It:a:p:P:g:S:n:C:v:o:T:A:B:D:d:l:W:w:f:L:")
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXSettings.py", line 134, in __getParameters
c.value = args[1 + index]
IndexError: list index out of range
Ended. Press any key to continue.
.... and the logFile.txt says
TX: 10:47:00 7E A0 07 03 21 93 0F 01 7E
RX: 10:47:01 7E A0 20 21 03 73 73 98 81 80 14 05 02 00 80 06 02 00 80 07 04 00 00 00 01 08 04 00 00 00 01 CE 6A 7E
TX: 10:47:01 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 10:47:01 7E A0 39 21 03 30 2E D2 E6 E7 00 61 82 00 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 10 1D 03 EF 00 07 44 36 7E
TX: 10:47:01 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
RX: 10:47:06 7E A8 89 21 03 42 07 B9 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 00 88 01 2B 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 EC 3F 7E 7E A0 07 21 03 51 11 42 7E
TX: 10:47:06 7E A0 07 03 21 53 03 C7 7E
RX: 10:47:06 7E A0 07 21 03 73 01 40 7E
Hi,
Hi,
Did you get the latest version from the client example from GitHub?
BR,
Mikko
Just updated the .py files
Just updated the .py files and now I get this error:
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t
Traceback (most recent call last):
File "main.py", line 41, in <module>
from GXSettings import GXSettings
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXSettings.py", line 9
<!DOCTYPE html>
^
SyntaxError: invalid syntax
Hi,
Hi,
You forgeot Verbose after -t argument.
BR,
Mikko
I doesn't seem to make a
I doesn't seem to make a difference:
pi@RPi2:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t Verbose
Traceback (most recent call last):
File "main.py", line 41, in <module>
from GXSettings import GXSettings
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXSettings.py", line 9
<!DOCTYPE html>
^
SyntaxError: invalid syntax
Hi,
Hi,
I just got the latest version to Raspberry PI and I can't repeat your problem. Are you sure that you haven't changed the source files? Check specially GXSettings.py.
BR,
Mikko
Haven't changed anything as
Haven't changed anything as far as I can see. Just downloaded the GXSettings.py again from GitHub and put it in /Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python
Same error message.
Just changed platform from
Just changed platform from RPi3 to a RPi4 and did a fresh install. So now things are looking better as you can see. Is this what to expect at this stage?
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t Verbose
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
TX: 11:17:48 7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
RX: 11:17:48 7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
TX: 11:17:48 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 11:17:48 7E A0 39 21 03 30 2E D2 E6 E7 00 61 82 00 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 10 1D 03 EF 00 07 44 36 7E
TX: 11:17:48 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
RX: 11:17:48 7E A0 A0 21 03 52 96 85 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 00 88 01 2B 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 EF CF 7E
TX: 11:17:48 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
RX: 11:17:48 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 02 00 82 00 00 E4 AE 7E
TX: 11:17:48 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 02 CA 8C 7E
RX: 11:17:49 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 03 00 82 00 00 A0 A5 7E
TX: 11:17:49 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 03 43 9D 7E
RX: 11:17:49 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 04 00 82 00 00 7C 95 7E
TX: 11:17:49 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 04 FC E9 7E
RX: 11:17:49 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 05 00 82 00 00 38 9E 7E
TX: 11:17:49 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 05 75 F8 7E
RX: 11:17:49 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 02 C1 00 00 00 00 06 00 82 00 00 F4 83 7E
TX: 11:17:49 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 06 EE CA 7E
RX: 11:17:49 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 02 C1 00 00 00 00 07 00 82 00 00 B0 88 7E
TX: 11:17:49 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 07 67 DB 7E
RX: 11:17:49 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 02 C1 00 00 00 00 08 00 82 00 00 4C E2 7E
TX: 11:17:49 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 08 90 23 7E
RX: 11:17:49 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 09 00 82 00 00 08 E9 7E
TX: 11:17:49 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 09 19 32 7E
RX: 11:17:49 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 0A 00 82 00 00 C4 F4 7E
TX: 11:17:49 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 0A 82 00 7E
RX: 11:17:49 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 0B 00 82 00 00 80 FF 7E
TX: 11:17:49 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 0B 0B 11 7E
RX: 11:17:49 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 0C 00 82 00 00 5C CF 7E
TX: 11:17:49 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 0C B4 65 7E
RX: 11:17:50 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 0D 00 82 00 00 18 C4 7E
TX: 11:17:50 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 0D 3D 74 7E
RX: 11:17:50 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 02 C1 00 00 00 00 0E 00 82 00 00 D4 D9 7E
TX: 11:17:50 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 0E A6 46 7E
RX: 11:17:50 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 02 C1 00 00 00 00 0F 00 82 00 00 90 D2 7E
TX: 11:17:50 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 0F 2F 57 7E
RX: 11:17:50 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 02 C1 00 00 00 00 10 00 82 00 00 2C 0C 7E
TX: 11:17:50 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 10 59 BF 7E
RX: 11:17:50 7E A1 BC 21 03 52 47 DA E6 E7 00 C4 02 C1 00 00 00 00 11 00 82 01 A4 02 04 12 00 01 11 00 09 06 01 01 00 00 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 02 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 03 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 36 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 02 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 05 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 0F FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 13 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 48 9A 7E
TX: 11:17:50 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 11 D0 AE 7E
RX: 11:17:51 7E A0 C7 21 03 74 67 0F E6 E7 00 C4 02 C1 00 00 00 00 12 00 82 00 AF 02 04 12 00 01 11 00 09 06 01 01 00 00 04 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 14 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 04 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 10 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 1E FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 6F FD 7E
TX: 11:17:51 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 12 4B 9C 7E
RX: 11:17:51 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 13 00 82 00 00 E0 11 7E
TX: 11:17:51 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 13 C2 8D 7E
RX: 11:17:51 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 14 00 82 00 00 3C 21 7E
TX: 11:17:51 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 14 7D F9 7E
RX: 11:17:51 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 15 00 82 00 00 78 2A 7E
TX: 11:17:51 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 15 F4 E8 7E
RX: 11:17:51 7E A0 3B 21 03 FC 38 E7 E6 E7 00 C4 02 C1 00 00 00 00 16 00 82 00 23 02 04 12 00 01 11 00 09 06 01 01 61 61 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 2D 95 7E
TX: 11:17:51 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 16 6F DA 7E
RX: 11:17:52 7E A1 76 21 03 1E 58 B5 E6 E7 00 C4 02 C1 00 00 00 00 17 00 82 01 5E 02 04 12 00 01 11 00 09 06 00 02 2B 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 02 2B 01 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 01 2B 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 00 01 2B 01 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 2F FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 30 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 31 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 32 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 33 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 34 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 31 68 7E
TX: 11:17:52 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 17 E6 CB 7E
RX: 11:17:52 7E A1 53 21 03 30 20 9C E6 E7 00 C4 02 C1 00 00 00 00 18 00 82 01 3B 02 04 12 00 01 11 00 09 06 01 01 86 00 35 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 36 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 27 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 08 11 00 09 06 00 01 01 00 00 FF 02 02 01 0A 02 03 0F 00 16 01 00 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 00 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 11 11 00 09 06 00 00 29 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 17 11 01 09 06 00 00 16 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 BA 3D 7E
TX: 11:17:52 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 18 11 33 7E
RX: 11:17:52 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 19 00 82 00 00 48 5D 7E
TX: 11:17:52 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 19 98 22 7E
RX: 11:17:52 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 1A 00 82 00 00 84 40 7E
TX: 11:17:52 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 1A 03 10 7E
RX: 11:17:53 7E A1 B0 21 03 96 5B CD E6 E7 00 C4 02 C1 00 00 00 00 1B 00 82 01 98 02 04 12 00 40 11 00 09 06 00 00 2B 00 01 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 00 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 03 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 04 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 05 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 06 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 41 4D 7E
TX: 11:17:53 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 1B 8A 01 7E
RX: 11:17:53 7E A0 A0 21 03 B8 C2 CD E6 E7 00 C4 02 C1 01 00 00 00 1C 00 82 00 88 02 04 12 00 40 11 00 09 06 00 00 2B 00 07 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 08 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 5F D4 7E
DisconnectRequest
TX: 11:17:53 7E A0 07 03 21 53 03 C7 7E
RX: 11:17:53 7E A0 07 21 03 73 01 40 7E
Invalid data type.
Ended. Press any key to continue.
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $
Hi,
Hi,
You can establish the connection for the meter, but when the association is read the meter is sending strange data after the first reply. I believe that one of your settings is different than the meter expects.
Can you see the model number or manufacturing year? We have different models from Omnipower and can test this if you can give this information.
BR,
Mikko
Can this image be used?
Can this image be used?
Hi,
Hi,
I found model M180200, but 2018W21. Download GXDLMSDirector and then try to connect with it.
First, select "Supported services" tab and uncheck "General Block Transfer". I believe that might be the
problem.
If you are using an optical probe try to change Authentication to low. Client address to 13 and Physical Server to 10 like in the pic below.
BR,
Mikko
Nice app but it is not
Nice app but it is not convenient to run this project from a PC. Needs to be RPi with SSH and serial comms over GPIO pins. Can't I make similar settings in your .py files?
Hi,
Hi,
Try with command line arguments:
-S '/dev/ttyS0' -c 19 -a Low -P 12345 -f 1010 -t Verbose
BR,
Mikko
OK. Something changed. Does
OK. Something changed. Does this look better now?
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -c 19 -a Low -P 12345 -f 1010 -t Verbose
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.LOW
ClientAddress: 0x13
ServerAddress: 0x1
Standard: Standard.DLMS
TX: 11:07:30 7E A0 14 03 27 93 B3 B3 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
RX: 11:07:30 7E A0 20 27 03 73 AA 4E 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
TX: 11:07:30 7E A0 41 03 27 10 61 BE E6 E6 00 60 33 A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 01 AC 07 80 05 31 32 33 34 35 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF 48 F8 7E
RX: 11:07:30 7E A0 2F 27 03 30 CC 8C E6 E7 00 61 82 00 1F A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 01 A3 05 A1 03 02 01 01 BE 06 04 04 0E 01 06 00 38 96 7E
DisconnectRequest
TX: 11:07:30 7E A0 07 03 27 53 D3 93 7E
RX: 11:07:31 7E A0 07 27 03 73 D8 96 7E
Connection is permanently rejected
No reason is given.
Ended. Press any key to continue.
Hi,
Hi,
No, I believe that your password for the meter has been changed from the default.
I'll try this on Monday with a couple of Omnipower meters. I hope that I can repeat this.
BR,
Mikko
I have now received an
I have now received an encryption key from the supplier and inserted this instead of 12345. The result is the same as before - so unfortunately no difference in data. Should I put it elsewhere?
Hi,
Hi,
OK. Then you need to connect without authentication. Without low-level access, you can read only a tiny part of the objects. You can't example read the register values or profile generics (Historical values).
I tested with the parameters below and it worked without problems with my meter.
-S COM8:9600 -f 1010 -t Verbose
I read the association view and all the objects with Raspberry PI.
The firmware version of my meter is 5098736-X1.
BR,
Mikko
BR,
Mikko
OK - now it looks better (I
OK - now it looks better (I assume). I don't need low level data and simple meter readings would be very fine at this stage. Can you give me some guidance on how to grab this and convert it to a standard string?
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t Verbose gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
TX: 13:13:22 7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
RX: 13:13:22 7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
TX: 13:13:22 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 13:13:23 7E A0 39 21 03 30 2E D2 E6 E7 00 61 82 00 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 10 1D 03 EF 00 07 44 36 7E
TX: 13:13:23 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
RX: 13:13:23 7E A0 A0 21 03 52 96 85 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 00 88 01 2B 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 EF CF 7E
TX: 13:13:23 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
RX: 13:13:23 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 02 00 82 00 00 E4 AE 7E
TX: 13:13:23 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 02 CA 8C 7E
RX: 13:13:23 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 03 00 82 00 00 A0 A5 7E
TX: 13:13:23 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 03 43 9D 7E
RX: 13:13:23 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 04 00 82 00 00 7C 95 7E
TX: 13:13:23 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 04 FC E9 7E
RX: 13:13:23 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 05 00 82 00 00 38 9E 7E
TX: 13:13:23 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 05 75 F8 7E
RX: 13:13:23 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 02 C1 00 00 00 00 06 00 82 00 00 F4 83 7E
TX: 13:13:23 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 06 EE CA 7E
RX: 13:13:24 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 02 C1 00 00 00 00 07 00 82 00 00 B0 88 7E
TX: 13:13:24 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 07 67 DB 7E
RX: 13:13:24 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 02 C1 00 00 00 00 08 00 82 00 00 4C E2 7E
TX: 13:13:24 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 08 90 23 7E
RX: 13:13:24 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 09 00 82 00 00 08 E9 7E
TX: 13:13:24 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 09 19 32 7E
RX: 13:13:24 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 0A 00 82 00 00 C4 F4 7E
TX: 13:13:24 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 0A 82 00 7E
RX: 13:13:24 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 0B 00 82 00 00 80 FF 7E
TX: 13:13:24 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 0B 0B 11 7E
RX: 13:13:24 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 0C 00 82 00 00 5C CF 7E
TX: 13:13:24 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 0C B4 65 7E
RX: 13:13:24 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 0D 00 82 00 00 18 C4 7E
TX: 13:13:24 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 0D 3D 74 7E
RX: 13:13:24 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 02 C1 00 00 00 00 0E 00 82 00 00 D4 D9 7E
TX: 13:13:24 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 0E A6 46 7E
RX: 13:13:24 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 02 C1 00 00 00 00 0F 00 82 00 00 90 D2 7E
TX: 13:13:24 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 0F 2F 57 7E
RX: 13:13:24 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 02 C1 00 00 00 00 10 00 82 00 00 2C 0C 7E
TX: 13:13:24 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 10 59 BF 7E
RX: 13:13:25 7E A1 BC 21 03 52 47 DA E6 E7 00 C4 02 C1 00 00 00 00 11 00 82 01 A4 02 04 12 00 01 11 00 09 06 01 01 00 00 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 02 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 03 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 36 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 02 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 05 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 0F FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 13 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 48 9A 7E
TX: 13:13:25 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 11 D0 AE 7E
RX: 13:13:25 7E A0 C7 21 03 74 67 0F E6 E7 00 C4 02 C1 00 00 00 00 12 00 82 00 AF 02 04 12 00 01 11 00 09 06 01 01 00 00 04 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 14 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 04 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 10 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 1E FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 6F FD 7E
TX: 13:13:25 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 12 4B 9C 7E
RX: 13:13:25 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 13 00 82 00 00 E0 11 7E
TX: 13:13:25 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 13 C2 8D 7E
RX: 13:13:26 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 14 00 82 00 00 3C 21 7E
TX: 13:13:26 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 14 7D F9 7E
RX: 13:13:26 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 15 00 82 00 00 78 2A 7E
TX: 13:13:26 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 15 F4 E8 7E
RX: 13:13:26 7E A0 3B 21 03 FC 38 E7 E6 E7 00 C4 02 C1 00 00 00 00 16 00 82 00 23 02 04 12 00 01 11 00 09 06 01 01 61 61 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 2D 95 7E
TX: 13:13:26 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 16 6F DA 7E
RX: 13:13:26 7E A1 76 21 03 1E 58 B5 E6 E7 00 C4 02 C1 00 00 00 00 17 00 82 01 5E 02 04 12 00 01 11 00 09 06 00 02 2B 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 02 2B 01 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 01 2B 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 00 01 2B 01 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 2F FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 30 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 31 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 32 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 33 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 34 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 31 68 7E
TX: 13:13:26 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 17 E6 CB 7E
RX: 13:13:27 7E A1 53 21 03 30 20 9C E6 E7 00 C4 02 C1 00 00 00 00 18 00 82 01 3B 02 04 12 00 01 11 00 09 06 01 01 86 00 35 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 36 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 27 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 08 11 00 09 06 00 01 01 00 00 FF 02 02 01 0A 02 03 0F 00 16 01 00 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 00 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 11 11 00 09 06 00 00 29 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 17 11 01 09 06 00 00 16 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 BA 3D 7E
TX: 13:13:27 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 18 11 33 7E
RX: 13:13:27 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 19 00 82 00 00 48 5D 7E
TX: 13:13:27 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 19 98 22 7E
RX: 13:13:27 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 1A 00 82 00 00 84 40 7E
TX: 13:13:27 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 1A 03 10 7E
RX: 13:13:28 7E A1 B0 21 03 96 5B CD E6 E7 00 C4 02 C1 00 00 00 00 1B 00 82 01 98 02 04 12 00 40 11 00 09 06 00 00 2B 00 01 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 00 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 03 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 04 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 05 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 06 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 41 4D 7E
TX: 13:13:28 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 1B 8A 01 7E
RX: 13:13:28 7E A0 A0 21 03 B8 C2 CD E6 E7 00 C4 02 C1 01 00 00 00 1C 00 82 00 88 02 04 12 00 40 11 00 09 06 00 00 2B 00 07 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 08 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 5F D4 7E
DisconnectRequest
TX: 13:13:28 7E A0 07 03 21 53 03 C7 7E
RX: 13:13:28 7E A0 07 21 03 73 01 40 7E
Invalid data type.
Ended. Press any key to continue.
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $
Hi,
Hi,
There is something wrong with your meter version. When the association view is read it returns first data correct at first, but the rest of the data is wrong. Try to use my meter's association view. Download it view from here:
https://gurux.fi/Downloads/Omnipower.xml
Then run your app with arguments:
python main.py -S '/dev/ttyS0' -f 1010 -t Verbose -o Omnipower.xml
BR,
Mikko
This is the feedback then.
This is the feedback then. There are some error messages:
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t Verbose -o Omnipower.xml
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
TX: 16:04:39 7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
RX: 16:04:39 7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
TX: 16:04:39 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 16:04:39 7E A0 39 21 03 30 2E D2 E6 E7 00 61 82 00 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 10 1D 03 EF 00 07 44 36 7E
-------- Reading ObjectType.DATA 1.1.0.0.1.255 Ch. 1 Electricity ID #2
TX: 16:04:39 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 01 01 01 00 00 01 FF 01 00 C5 04 7E
RX: 16:04:39 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 01 C1 00 09 06 01 01 00 00 01 FF 8A 12 7E
Index: 1 Value: 1.1.0.0.1.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.0.2.255 Ch. 1 Electricity ID #3
TX: 16:04:39 7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 01 01 01 00 00 02 FF 01 00 08 21 7E
RX: 16:04:39 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 01 C1 00 09 06 01 01 00 00 02 FF E2 38 7E
Index: 1 Value: 1.1.0.0.2.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.0.3.255 Ch. 1 Electricity ID #4
TX: 16:04:39 7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 01 01 01 00 00 03 FF 01 00 B3 3D 7E
RX: 16:04:39 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 01 C1 00 09 06 01 01 00 00 03 FF 3A 21 7E
Index: 1 Value: 1.1.0.0.3.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.130.1.255 Man. specific
TX: 16:04:39 7E A0 19 03 21 98 3F D2 E6 E6 00 C0 01 C1 00 01 01 01 00 82 01 FF 01 00 18 98 7E
RX: 16:04:40 7E A0 11 21 03 B8 E5 B0 E6 E7 00 C4 01 C1 01 03 73 82 7E
Error! Index: 1 Access Error : Device reports Read-Write denied.
Access Error : Device reports Read-Write denied.
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.130.2.255 Man. specific
TX: 16:04:40 7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 01 01 01 00 82 02 FF 01 00 D5 BD 7E
RX: 16:04:40 7E A0 11 21 03 DA F1 F0 E6 E7 00 C4 01 C1 01 03 73 82 7E
Error! Index: 1 Access Error : Device reports Read-Write denied.
Access Error : Device reports Read-Write denied.
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.96.1.0.255 Ch. 1 Metering point ID #1
TX: 16:04:40 7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 01 01 01 60 01 00 FF 01 00 8B 94 7E
RX: 16:04:40 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 01 C1 00 09 06 01 01 60 01 00 FF 6A C8 7E
Index: 1 Value: 1.1.96.1.0.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.0.0.255 Ch. 1 Electricity ID #1
TX: 16:04:40 7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 01 01 01 00 00 00 FF 01 00 7E 18 7E
RX: 16:04:40 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 01 C1 00 09 06 01 01 00 00 00 FF 52 0B 7E
Index: 1 Value: 1.1.0.0.0.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.96.1.1.255 Ch. 1 Metering point ID #2
TX: 16:04:40 7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 01 01 01 60 01 01 FF 01 00 30 88 7E
RX: 16:04:40 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 01 C1 00 09 06 01 01 60 01 01 FF B2 D1 7E
Index: 1 Value: 1.1.96.1.1.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.2.0.255 Ch. 1 Active firmware identifier
TX: 16:04:40 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 01 01 01 00 02 00 FF 01 00 F6 0E 7E
RX: 16:04:40 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 01 C1 00 09 06 01 01 00 02 00 FF EA BE 7E
Index: 1 Value: 1.1.0.2.0.255
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.2.2.128 Man. specific
TX: 16:04:40 7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 01 01 01 00 02 02 80 01 00 9F FD 7E
RX: 16:04:40 7E A0 11 21 03 74 85 BC E6 E7 00 C4 01 C1 01 04 CC F6 7E
Error! Index: 1 Access Error : Device reports a undefined object.
Access Error : Device reports a undefined object.
Attribute2 is not readable.
-------- Reading ObjectType.DATA 1.1.0.0.4.255 Ch. 1 Electricity ID #5
TX: 16:04:40 7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 01 01 01 00 00 04 FF 01 00 92 6A 7E
RX: 16:04:40 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 01 C1 00 09 06 01 01 00 00 04 FF 32 6C 7E
Index: 1 Value: 1.1.0.0.4.255
Attribute2 is not readable.
-------- Reading ObjectType.CLOCK 0.1.1.0.0.255 Ch. 1 Clock object #1
TX: 16:04:40 7E A0 19 03 21 98 3F D2 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 01 00 DD AF 7E
RX: 16:04:40 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 01 C1 00 09 06 00 01 01 00 00 FF C2 13 7E
Index: 1 Value: 0.1.1.0.0.255
TX: 16:04:40 7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 02 00 B5 85 7E
RX: 16:04:40 7E A0 1E 21 03 DA 08 42 E6 E7 00 C4 01 C1 00 09 0C 07 E6 0C 13 01 10 04 29 FF 80 00 00 4B 66 7E
Index: 2 Value: 12/19/22 16:04:41
TX: 16:04:40 7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 03 00 6D 9C 7E
RX: 16:04:41 7E A0 11 21 03 FC C5 B4 E6 E7 00 C4 01 C1 01 03 73 82 7E
Error! Index: 3 Access Error : Device reports Read-Write denied.
Access Error : Device reports Read-Write denied.
TX: 16:04:41 7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 04 00 65 D1 7E
RX: 16:04:41 7E A0 12 21 03 1E 14 55 E6 E7 00 C4 01 C1 00 11 00 1B 4D 7E
Index: 4 Value: 0
TX: 16:04:41 7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 05 00 BD C8 7E
RX: 16:04:41 7E A0 1E 21 03 30 5C 0A E6 E7 00 C4 01 C1 00 09 0C FF FF 03 FE 07 02 00 00 FF 80 00 00 08 F8 7E
Index: 5 Value: 03/01 02:00:00
TX: 16:04:41 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 06 00 D5 E2 7E
RX: 16:04:41 7E A0 1E 21 03 52 48 4A E6 E7 00 C4 01 C1 00 09 0C FF FF 0A FE 07 02 00 00 FF 80 00 00 06 BD 7E
Index: 6 Value: 10/01 02:00:00
TX: 16:04:41 7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 07 00 0D FB 7E
RX: 16:04:41 7E A0 12 21 03 74 48 99 E6 E7 00 C4 01 C1 00 0F 3C 75 B9 7E
Index: 7 Value: 60
TX: 16:04:41 7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 08 00 C5 78 7E
RX: 16:04:41 7E A0 12 21 03 96 54 5D E6 E7 00 C4 01 C1 00 03 01 B3 FA 7E
Index: 8 Value: True
TX: 16:04:41 7E A0 19 03 21 98 3F D2 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 09 00 1D 61 7E
RX: 16:04:41 7E A0 12 21 03 B8 28 95 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
Index: 9 Value: 1
-------- Reading ObjectType.SAP_ASSIGNMENT 0.0.41.0.0.255 Ch. 0 SAP Assignment
TX: 16:04:41 7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 11 00 00 29 00 00 FF 01 00 93 59 7E
RX: 16:04:41 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 01 C1 00 09 06 00 00 29 00 00 FF 0D 72 7E
Index: 1 Value: 0.0.41.0.0.255
TX: 16:04:41 7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 11 00 00 29 00 00 FF 02 00 FB 73 7E
RX: 16:04:41 7E A0 34 21 03 FC C1 55 E6 E7 00 C4 01 C1 00 01 02 02 02 12 00 10 09 0A 4B 41 4D 00 10 00 01 C4 EC 57 02 02 12 00 01 09 0A 4B 41 4D 00 01 00 01 C4 EC 57 02 9B 7E
Index: 2 Value: (16, <gurux_dlms.GXByteBuffer.GXByteBuffer object at 0xb5cc1358>), (1, <gurux_dlms.GXByteBuffer.GXByteBuffer object at 0xb5cc11f0>)
-------- Reading ObjectType.ASSOCIATION_LOGICAL_NAME 0.0.40.0.0.255 Ch. 0 Current association
TX: 16:04:41 7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 01 00 F9 79 7E
RX: 16:04:41 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 01 C1 00 09 06 00 00 28 00 00 FF B6 6E 7E
Index: 1 Value: 0.0.40.0.0.255
TX: 16:04:41 7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
RX: 16:04:42 7E A0 A0 21 03 30 82 C5 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 00 88 01 2B 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 EF CF 7E
TX: 16:04:42 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
RX: 16:04:42 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 02 00 82 00 00 E4 AE 7E
TX: 16:04:42 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 02 CA 8C 7E
RX: 16:04:42 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 03 00 82 00 00 A0 A5 7E
TX: 16:04:42 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 03 43 9D 7E
RX: 16:04:42 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 04 00 82 00 00 7C 95 7E
TX: 16:04:42 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 04 FC E9 7E
RX: 16:04:42 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 05 00 82 00 00 38 9E 7E
TX: 16:04:42 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 05 75 F8 7E
RX: 16:04:42 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 06 00 82 00 00 F4 83 7E
TX: 16:04:42 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 06 EE CA 7E
RX: 16:04:42 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 02 C1 00 00 00 00 07 00 82 00 00 B0 88 7E
TX: 16:04:42 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 07 67 DB 7E
RX: 16:04:42 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 02 C1 00 00 00 00 08 00 82 00 00 4C E2 7E
TX: 16:04:42 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 08 90 23 7E
RX: 16:04:43 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 02 C1 00 00 00 00 09 00 82 00 00 08 E9 7E
TX: 16:04:43 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 09 19 32 7E
RX: 16:04:43 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 0A 00 82 00 00 C4 F4 7E
TX: 16:04:43 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 0A 82 00 7E
RX: 16:04:43 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 0B 00 82 00 00 80 FF 7E
TX: 16:04:43 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 0B 0B 11 7E
RX: 16:04:43 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 0C 00 82 00 00 5C CF 7E
TX: 16:04:43 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 0C B4 65 7E
RX: 16:04:43 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 0D 00 82 00 00 18 C4 7E
TX: 16:04:43 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 0D 3D 74 7E
RX: 16:04:43 7E A0 18 21 03 DA 92 09 E6 E7 00 C4 02 C1 00 00 00 00 0E 00 82 00 00 D4 D9 7E
TX: 16:04:43 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 0E A6 46 7E
RX: 16:04:43 7E A0 18 21 03 FC A6 4D E6 E7 00 C4 02 C1 00 00 00 00 0F 00 82 00 00 90 D2 7E
TX: 16:04:43 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 0F 2F 57 7E
RX: 16:04:43 7E A0 18 21 03 1E BA 89 E6 E7 00 C4 02 C1 00 00 00 00 10 00 82 00 00 2C 0C 7E
TX: 16:04:43 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 10 59 BF 7E
RX: 16:04:44 7E A1 BC 21 03 30 53 9A E6 E7 00 C4 02 C1 00 00 00 00 11 00 82 01 A4 02 04 12 00 01 11 00 09 06 01 01 00 00 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 02 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 03 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 36 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 01 02 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 05 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 0F FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 13 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 48 9A 7E
TX: 16:04:44 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 11 D0 AE 7E
RX: 16:04:44 7E A0 C7 21 03 52 53 4B E6 E7 00 C4 02 C1 00 00 00 00 12 00 82 00 AF 02 04 12 00 01 11 00 09 06 01 01 00 00 04 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 14 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 04 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 60 3A 10 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 1E FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 6F FD 7E
TX: 16:04:44 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 12 4B 9C 7E
RX: 16:04:44 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 02 C1 00 00 00 00 13 00 82 00 00 E0 11 7E
TX: 16:04:44 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 13 C2 8D 7E
RX: 16:04:44 7E A0 18 21 03 96 FA 81 E6 E7 00 C4 02 C1 00 00 00 00 14 00 82 00 00 3C 21 7E
TX: 16:04:44 7E A0 13 03 21 98 91 0E E6 E6 00 C0 02 C1 00 00 00 14 7D F9 7E
RX: 16:04:44 7E A0 18 21 03 B8 86 49 E6 E7 00 C4 02 C1 00 00 00 00 15 00 82 00 00 78 2A 7E
TX: 16:04:44 7E A0 13 03 21 BA 81 0C E6 E6 00 C0 02 C1 00 00 00 15 F4 E8 7E
RX: 16:04:45 7E A0 3B 21 03 DA 0C A3 E6 E7 00 C4 02 C1 00 00 00 00 16 00 82 00 23 02 04 12 00 01 11 00 09 06 01 01 61 61 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 2D 95 7E
TX: 16:04:45 7E A0 13 03 21 DC B1 0A E6 E6 00 C0 02 C1 00 00 00 16 6F DA 7E
RX: 16:04:45 7E A1 76 21 03 FC 44 71 E6 E7 00 C4 02 C1 00 00 00 00 17 00 82 01 5E 02 04 12 00 01 11 00 09 06 00 02 2B 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 02 2B 01 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 01 2B 01 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 00 01 2B 01 08 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 03 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 2F FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 30 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 31 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 32 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 33 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 34 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 31 68 7E
TX: 16:04:45 7E A0 13 03 21 FE A1 08 E6 E6 00 C0 02 C1 00 00 00 17 E6 CB 7E
RX: 16:04:46 7E A1 53 21 03 1E 5C 54 E6 E7 00 C4 02 C1 00 00 00 00 18 00 82 01 3B 02 04 12 00 01 11 00 09 06 01 01 86 00 35 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 36 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 86 00 27 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 08 11 00 09 06 00 01 01 00 00 FF 02 02 01 0A 02 03 0F 00 16 01 00 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 00 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 11 11 00 09 06 00 00 29 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 17 11 01 09 06 00 00 16 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 BA 3D 7E
TX: 16:04:46 7E A0 13 03 21 10 D1 06 E6 E6 00 C0 02 C1 00 00 00 18 11 33 7E
RX: 16:04:46 7E A0 18 21 03 30 C6 41 E6 E7 00 C4 02 C1 00 00 00 00 19 00 82 00 00 48 5D 7E
TX: 16:04:46 7E A0 13 03 21 32 C1 04 E6 E6 00 C0 02 C1 00 00 00 19 98 22 7E
RX: 16:04:46 7E A0 18 21 03 52 D2 01 E6 E7 00 C4 02 C1 00 00 00 00 1A 00 82 00 00 84 40 7E
TX: 16:04:46 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 1A 03 10 7E
RX: 16:04:46 7E A1 B0 21 03 74 47 09 E6 E7 00 C4 02 C1 00 00 00 00 1B 00 82 01 98 02 04 12 00 40 11 00 09 06 00 00 2B 00 01 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 00 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 03 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 04 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 05 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 06 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 41 4D 7E
TX: 16:04:46 7E A0 13 03 21 76 E1 00 E6 E6 00 C0 02 C1 00 00 00 1B 8A 01 7E
RX: 16:04:47 7E A0 A0 21 03 96 BE 05 E6 E7 00 C4 02 C1 01 00 00 00 1C 00 82 00 88 02 04 12 00 40 11 00 09 06 00 00 2B 00 07 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 40 11 00 09 06 00 00 2B 00 08 FF 02 02 01 05 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 00 00 02 03 0F 05 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 5F D4 7E
Error! Index: 2 Invalid data type.
Invalid data type.
Traceback (most recent call last):
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 446, in getReadOut
val = self.read(it, pos)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 326, in read
self.readDataBlock(data, reply)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 188, in readDataBlock
self.readDLMSPacket(data, reply)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 118, in readDLMSPacket
self.readDLMSPacket2(data, reply)
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 169, in readDLMSPacket2
raise e
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/GXDLMSReader.py", line 149, in readDLMSPacket2
while not self.client.getData(rd, reply, notify):
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/GXDLMSClient.py", line 1190, in getData
raise ex
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/GXDLMSClient.py", line 1187, in getData
ret = GXDLMS.getData(self.settings, reply, data, notify)
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/GXDLMS.py", line 2290, in getData
GXDLMS.getPdu(settings, target)
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/GXDLMS.py", line 2082, in getPdu
GXDLMS.getValueFromData(settings, data)
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/GXDLMS.py", line 2216, in getValueFromData
value = _GXCommon.getData(settings, data, info)
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/internal/_GXCommon.py", line 264, in getData
value = cls.getArray(settings, data, info, startIndex)
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/internal/_GXCommon.py", line 373, in getArray
tmp = cls.getData(settings, buff, info2)
File "/home/pi/.local/lib/python3.9/site-packages/gurux_dlms/internal/_GXCommon.py", line 308, in getData
raise ValueError("Invalid data type.")
ValueError: Invalid data type.
TX: 16:04:47 7E A0 19 03 21 98 3F D2 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 03 00 49 4A 7E
RX: 16:04:47 7E A0 17 21 03 B8 7F FB E6 E7 00 C4 01 C1 00 02 02 0F 10 12 00 01 EB 3C 7E
Index: 3 Value: 16, 1
TX: 16:04:47 7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 04 00 41 07 7E
RX: 16:04:47 7E A0 19 21 03 DA 29 15 E6 E7 00 C4 01 C1 00 09 07 60 85 74 05 08 01 01 E2 49 7E
Index: 4 Value: 0 0 0 5 8 1 1
TX: 16:04:47 7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 05 00 99 1E 7E
RX: 16:04:47 7E A0 2B 21 03 FC 99 24 E6 E7 00 C4 01 C1 00 02 06 04 18 00 10 1D 12 03 EF 12 03 EF 11 06 0F 00 09 08 00 00 00 00 00 00 00 00 51 B5 7E
Index: 5 Value: Conformance.ACTION|SELECTIVE_ACCESS|SET|GET|BLOCK_TRANSFER_WITH_GET_OR_READ 1007 1007 6 0 00 00 00 00 00 00 00 00
TX: 16:04:47 7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 06 00 F1 34 7E
RX: 16:04:47 7E A0 21 21 03 1E 2B 3C E6 E7 00 C4 01 C1 00 02 07 11 02 11 10 12 02 F4 11 05 11 08 11 02 11 00 D7 A6 7E
Index: 6 Value: 2 16 756 5 8 2 0
TX: 16:04:47 7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 07 00 29 2D 7E
RX: 16:04:47 7E A0 11 21 03 30 A5 B8 E6 E7 00 C4 01 C1 01 03 73 82 7E
Error! Index: 7 Access Error : Device reports Read-Write denied.
Access Error : Device reports Read-Write denied.
TX: 16:04:47 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 08 00 E1 AE 7E
RX: 16:04:47 7E A0 12 21 03 52 7C DD E6 E7 00 C4 01 C1 00 16 02 01 23 7E
Index: 8 Value: 2
-------- Reading ObjectType.IEC_HDLC_SETUP 0.0.22.0.0.255 Ch. 0 IEC HDLC setup
TX: 16:04:47 7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 01 00 D5 07 7E
RX: 16:04:47 7E A0 18 21 03 74 E6 45 E6 E7 00 C4 01 C1 00 09 06 00 00 16 00 00 FF 06 8C 7E
Index: 1 Value: 0.0.22.0.0.255
TX: 16:04:47 7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 02 00 BD 2D 7E
RX: 16:04:48 7E A0 12 21 03 96 54 5D E6 E7 00 C4 01 C1 00 16 05 BE 57 7E
Index: 2 Value: 5
TX: 16:04:48 7E A0 19 03 21 98 3F D2 E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 03 00 65 34 7E
RX: 16:04:48 7E A0 12 21 03 B8 28 95 E6 E7 00 C4 01 C1 00 11 01 92 5C 7E
Index: 3 Value: 1
TX: 16:04:48 7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 04 00 6D 79 7E
RX: 16:04:48 7E A0 12 21 03 DA 3C D5 E6 E7 00 C4 01 C1 00 11 01 92 5C 7E
Index: 4 Value: 1
TX: 16:04:48 7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 05 00 B5 60 7E
RX: 16:04:48 7E A0 13 21 03 FC B3 8D E6 E7 00 C4 01 C1 00 12 03 F2 F6 4F 7E
Index: 5 Value: 1010
TX: 16:04:48 7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 06 00 DD 4A 7E
RX: 16:04:48 7E A0 13 21 03 1E AF 49 E6 E7 00 C4 01 C1 00 12 03 F2 F6 4F 7E
Index: 6 Value: 1010
TX: 16:04:48 7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 07 00 05 53 7E
RX: 16:04:48 7E A0 13 21 03 30 D3 81 E6 E7 00 C4 01 C1 00 12 01 F4 70 19 7E
Index: 7 Value: 500
TX: 16:04:48 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 08 00 CD D0 7E
RX: 16:04:48 7E A0 13 21 03 52 C7 C1 E6 E7 00 C4 01 C1 00 12 00 14 A6 E7 7E
Index: 8 Value: 20
TX: 16:04:48 7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 17 00 00 16 00 00 FF 09 00 15 C9 7E
RX: 16:04:48 7E A0 13 21 03 74 F3 85 E6 E7 00 C4 01 C1 00 12 00 20 01 90 7E
Index: 9 Value: 32
DisconnectRequest
TX: 16:04:48 7E A0 07 03 21 53 03 C7 7E
RX: 16:04:48 7E A0 07 21 03 73 01 40 7E
Ended. Press any key to continue.
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $
Hi,
Hi,
Those objects are not implemented for your meter.
We have the same meter model, but the firmware versions are different and the objects are also.
You can read an object that you like if you add -g argument.
This reads the time (attribute index #2) of the clock object (Logical name is "0.0.1.0.0.255").
-g 0.0.1.0.0.255:2
BR,
Mikko
That doesn't make a
That doesn't make a difference. In reality couldn't you send a standard serial string like
7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
and get the acknowledge return:
7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
Hi,
Hi,
No, that is not possible. You need to establish the connection for the meter and after that, you can read values from the meter. DLMS is also a binary protocol, not ASCII.
Did you run the command like this?
python main.py -S '/dev/ttyS0' -f 1010 -t Verbose -o Omnipower.xml -g 0.0.1.0.0.255:2
BR,
Mikko
That returns:
That returns:
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t Verbose -o Omnipower.xml -g 0.0.1.0.0.255:2
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
TX: 12:32:17 7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
RX: 12:32:17 7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
TX: 12:32:17 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 12:32:18 7E A0 39 21 03 30 2E D2 E6 E7 00 61 82 00 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 10 1D 03 EF 00 07 44 36 7E
Traceback (most recent call last):
File "/home/pi/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python/main.py", line 106, in main
raise Exception("Unknown logical name:" + k)
Exception: Unknown logical name:0.0.1.0.0.255
Ended. Press any key to continue.
Hi,
Hi,
My bad. :-(
Omnipower is using the logical name "0.1.1.0.0.255" for the clock object, not the default 0.0.1.0.0.255.
The correct command is:
python main.py -S '/dev/ttyS0' -f 1010 -t Verbose -o Omnipower.xml -g 0.1.1.0.0.255:2
BR,
Mikko
So now it gives this output.
So now it gives this output. Does that look correct now?
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Client.Example.python $ python main.py -S '/dev/ttyS0' -f 1010 -t Verbose -o Omnipower.xml -g 0.1.1.0.0.255:2
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
Authentication: Authentication.NONE
ClientAddress: 0x10
ServerAddress: 0x1
Standard: Standard.DLMS
TX: 15:47:02 7E A0 14 03 21 93 63 E7 81 80 08 05 02 03 F2 06 02 03 F2 03 F0 7E
RX: 15:47:02 7E A0 20 21 03 73 73 98 81 80 14 05 02 03 F2 06 02 03 F2 07 04 00 00 00 01 08 04 00 00 00 01 0A 75 7E
TX: 15:47:02 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 15:47:02 7E A0 39 21 03 30 2E D2 E6 E7 00 61 82 00 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 10 1D 03 EF 00 07 44 36 7E
TX: 15:47:02 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 08 00 01 01 00 00 FF 02 00 B5 85 7E
RX: 15:47:02 7E A0 1E 21 03 52 48 4A E6 E7 00 C4 01 C1 00 09 0C 07 E6 0C 15 03 0F 2F 0A FF 80 00 00 1E B0 7E
Index: 2 Value: 12/21/22 15:47:10
DisconnectRequest
TX: 15:47:02 7E A0 07 03 21 53 03 C7 7E
RX: 15:47:02 7E A0 07 21 03 73 01 40 7E
Ended. Press any key to continue.
Hi,
Hi,
Yes, you have read the date and time on the meter. You can read the other values in the same way.
BR,
Mikko
Excellent! Am I then limited
Excellent! Am I then limited to the data that is outlined in the XML file? I am looking for actual power readings but it doesn't seem to be an option there. If I look at the providers manual page 4 (sorry, it's in Danish) there should be many other options: https://radiuselnet.dk/wp-content/uploads/DLMS-COSEM.pdf
Hi,
Hi,
Thanks to google Translate. It says that the meter is sending push messages every 10th seconds. You don't need to establish the connection for the meter, only listen to the serial port.
The meter should send those values automatically.
Open the serial port and if you receive data, you can use the listener to translate it to the XML.
https://github.com/Gurux/Gurux.DLMS.Python/tree/master/Gurux.DLMS.Push…
BR,
Mikko
I did try to listen earlier
I did try to listen earlier with a standard serial reader but nothing was received. Will try to experiment with your library and see if it makes any difference.
You see - nothing happens
You see - nothing happens expect for this info. Like it is waiting for push info (unless I need to add extra args?):
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Push.Listener.Example.python $ python main.py -S '/dev/ttyS0'
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
/dev/ttyS0:9600 8NONE1
Press any key to close the application.
Media state changed. MediaState.OPENING
trace:13:04:36 TraceTypes.INFO Settings: Port: /dev/ttyS0 Baud Rate: BaudRate.BAUD_RATE_9600 Data Bits: 8 Parity: Parity.NONE Stop Bits: StopBits.ONE Eop:126
Media state changed. MediaState.OPEN
Hi,
Hi,
Check the next page. Baudrate is 2400. Try with that. Is there other interfaces (serial ports) than optical probe in your meter? It might be that this information is sent to other serial port.
BR,
Mikko
Oh yes - that might be a good
Oh yes - that might be a good reason. I am using the serial port as it connects directly to RPi GPIO. I have no intentions of using the optical probe though. How should the args look if I want to go 2400 bps?
Hi,
Hi,
python main.py -S '/dev/ttyS0:2400:8None1'
I don't know are the push messages sent to the optical port or RS-232.
BR,
Mikko
Didn't make a difference.
Didn't make a difference. Been in contact with Radius (supplier of meters) who says that it's not open for push messages unless you apply for it. So 'll do that and return when it's working.
So manuals are not always to be taken literally....
Hi,
Hi,
Thanks for letting me know the reason for this.
BR,
Mikko
So now PUSH is open for
So now PUSH is open for messages every 10 sec and I received an encryption_key and an authentication_key. Where do I insert the keys in order to decrypt the information I am receiving?:
pi@RPi5:~/Gurux.DLMS.Python/Gurux.DLMS.Push.Listener.Example.python $ python main.py -S '/dev/ttyS0'
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
/dev/ttyS0:9600 8NONE1
Press any key to close the application.
Media state changed. MediaState.OPENING
trace:21:07:34 TraceTypes.INFO Settings: Port: /dev/ttyS0 Baud Rate: BaudRate.BAUD_RATE_9600 Data Bits: 8 Parity: Parity.NONE Stop Bits: StopBits.ONE Eop:126
Media state changed. MediaState.OPEN
New data is received. /dev/ttyS0:80
New data is received. /dev/ttyS0:78 00 F8 78 F8 78 78 00 F8 80 00 80 00 F8 F8 80 80 80 F8 80 00 F8 F8 F8 00 00 F8 78 78 00 78 F8 80 78 78 78 00 00 00 00 F8 F8 78 78 00 78 00 F8 00
New data is received. /dev/ttyS0:80 00 00 80 78 80 80 80 78 80 F8 80 F8 00 78 80 78 78 80 00 F8 F8 78 F8 F8 00 80 80 80 00 00 00 80 80 78 00 78 F8 F8 78 00 78 78 F8 00 80 80 78
New data is received. /dev/ttyS0:78 F8 F8 78 F8 80 00 F8 00 00 80 78 78 F8 80 78 78 78 78 00 78 80 80 00 80 78 F8 00 F8 78 78 00 78 00 80 78 00 00 78 F8 78 F8 78 00 80 78 80 F8 F8 80 00 78 78 F8 80
New data is received. /dev/ttyS0:80 78 78 F8 80 78 80 00 F8 F8 80 78 80 80 F8 00 78 F8 F8 78 F8 80 00 78 80 00 78 00 80 78 00 78 80 F8 78 F8 78 78 80 00 80 F8 78 00 80 80 80 80 00 78 78 78
New data is received. /dev/ttyS0:80 00 80 80 80 78 78 00 78 F8 78 78 00 00 F8 00 78 80 F8 00 F8 F8 F8 78 F8 78 80 00 F8 F8 F8 78 78 F8 F8 78 80 F8 F8 F8 80 80 00 F8 F8 78 00 F8 80 78
New data is received. /dev/ttyS0:78 F8 00 80 78 78 80 F8 78 80 F8 78 80 80 F8 80 78 78 78 F8 80 00 78 F8 78 80 00 F8 F8 F8 78 80 F8 80 F8 F8 78 78 F8 78 00 78 80 80 80 80 F8 78 F8 00 F8 78 F8 78 00 78
New data is received. /dev/ttyS0:00 F8 80 00 80 78 F8 78 F8 80 78 78 00 78 78 80 78 80 78 F8 78 F8 80 78 F8 78 80 F8 F8 80 F8 F8 80 78 F8 80 F8 F8 00 00 78 78 80 80 00 80 78 78 78 78 F8 78
New data is received. /dev/ttyS0:80 80 F8 78 78 80 F8 00 80 78 80 F8 00 78 80 80 78 80 F8 80 78 80 80 00 00 F8 80 F8 00 80 00 F8 F8 80 80 78 F8 F8 00 80 78 00 F8 F8 78 80 78 00 00 78 F8 78
New data is received. /dev/ttyS0:80 F8 78 78 80 80 00 80 F8 00 F8 00 78 78 F8 78 00 00 78 F8 78 80 78 80 80 80 F8 00 00 78 78 F8 80 80 78 F8 F8 00 80 80 80 00 F8 00 F8 F8 00 78 00 78 80 F8 80 00 78
New data is received. /dev/ttyS0:00 F8 F8 80 00 F8 78 78 78 78 78 78 00 00 80 00 80 80 80 78 78 80 00 78 80 00 80 80 78 78 F8 78 78 78 78 00 F8 80 00 78 F8 F8 80 00 78 78 80 78 F8 00 78
New data is received. /dev/ttyS0:F8 80 F8 00 78 78 78 78 F8 F8 78 F8 78 80 00 78 80 F8 80 78 78 80 78 00 78 00 00 78 80 78 80 80 00 78 80 00 78 F8 78 80 80 80 80 78 80 78 80 80 78 00 F8 80 78 78 78
New data is received. /dev/ttyS0:78 F8 78 80 F8 00 80 80 78 F8 F8 78 F8 F8 78 78 F8 F8 78 F8 00 00 F8 00 00 00 78 00 78 F8 F8 80 78 78 78 78 00 80 78 80 80 80 80 00 F8 80 F8 80 80 80 00 00 78
New data is received. /dev/ttyS0:F8 78 80 80 80 00 80 F8 78 78 78 78 F8 80 78 00 00 F8 78 78 00 F8 80 78 78 80 00 80 F8 80 80 78 F8 00 00 F8 78 78 80 F8 F8 F8 78 00 80 80 80 80 00 F8 F8 80 80 00
New data is received. /dev/ttyS0:F8 00 78 78 78 F8 80 00 F8 80 F8 F8 78 F8 00 00 F8 00 78 78 78 78 F8 F8 F8 78 00 78 F8 00 80 78 78 00 F8 00 F8 78 78 80 00 80 F8 00 00 78 78 78 F8 80 00 78
New data is received. /dev/ttyS0:78 80 78 78 00 78 F8 00 F8 00 78 78 00 F8 00 F8 00 78 78 00 78 78 80 78 78 F8 F8 F8 00 F8 80 00 F8 F8 F8 80 F8 78 00 80 78 78 78 80 80 78 78 80 F8 00 F8 80 F8
New data is received. /dev/ttyS0:00 78 80 00 78 F8 F8 78 78 80 F8 80 80 00 00 F8 F8 78 F8 80 80 00 80 78 00 78 00 F8 78 78 78 78 78 78 78 78 F8 78 78 80 00 78 00 78 00 80 78 80 00 80 78 78
New data is received. /dev/ttyS0:78 78 80 F8 00 80 F8 78 80 80 78 78 F8 80 F8 00 00 80 80 80 00 78 80 00 80 F8 78 78 80 F8 80 80 F8 78 00 80 78 00 00 F8 F8 F8 F8 00 F8 78 00 80 78 80 F8 80 78 78 00
New data is received. /dev/ttyS0:F8 78 F8 F8 78 F8 78 F8 78 78 00 78 00 78 F8 F8 80 78 F8 80 78 00 78 00 00 00 F8 78 F8 78 F8 00 78 00 F8 00 00 00 78 80 80 F8 00 00 00 00 F8 F8 80 78
New data is received. /dev/ttyS0:00 78 78 F8 00 00 F8 F8 80 78 F8 00 F8 00 80 F8 80 80 80 78 78 78 80 80 F8 F8 F8 78 00 80 F8 00 80 F8 78 78 78 00 00 F8 F8 80 78 F8 78 F8 78 00 F8 F8 78 78 78 80 78 78
New data is received. /dev/ttyS0:00 00 F8 F8 80 78 78 F8 00 78 80 F8 00 78 80 80 78 80 F8 78 00 78 80 78 78 80 00 80 F8
Hi,
Hi,
You need to add -A and -B arguments for the keys.
BR,
Mikko
I see. Looks like I need to
I see. Looks like I need to erase the 0x at start of each key in order to avoid errors. Then result looks like this. How do I convert it to plain text?
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
/dev/ttyS0:9600 8NONE1
Press any key to close the application.
Media state changed. MediaState.OPENING
trace:12:21:48 TraceTypes.INFO Settings: Port: /dev/ttyS0 Baud Rate: BaudRate.BAUD_RATE_9600 Data Bits: 8 Parity: Parity.NONE Stop Bits: StopBits.ONE Eop:126
Media state changed. MediaState.OPEN
New data is received. /dev/ttyS0:80
New data is received. /dev/ttyS0:78 00 F8 78 F8 78 78 00 F8 80 00 80 00 F8 F8 80 80 80 F8 80 00 F8 F8 F8 00 00 F8 78 78 00 78 F8 80 78 78 78 00 00 00 00 F8 F8 78 78 00 78 00 F8 00
New data is received. /dev/ttyS0:80 00 00 F8 00 78 00 F8 78 F8 F8 F8 00 80 78 00 F8 F8 80 80 F8 80 78 F8 78 78 F8 00 00 F8 78 F8 F8 78 00 78 F8 F8 80 F8 78 80 80 00 78 78 00 78 80 80
New data is received. /dev/ttyS0:78 80 F8 F8 80 78 80 80 00 80 F8 78 80 80 00 78 78 F8 78 F8 80 80 80 00 78 F8 00 00 78 00 80 78 F8 00 78 78 00 F8 F8 80 80 80 00 78 78 80 00 00 F8 00 00
New data is received. /dev/ttyS0:F8 F8 F8 78 F8 78 80 78 F8 78 00 F8 78 78 78 78 78 78 78 00 78 00 00 78 78 80 F8 00 80 78 F8 F8 00 78 F8 F8 F8 F8 00 F8 80 78 F8 00 00 80 78 78 F8 78 00 78
New data is received. /dev/ttyS0:80 F8 00 80 F8 78 80 00 80 78 F8 80 00 78 78 78 F8 78 F8 80 00 80 00 00 80 80 78 80 80 00 00 78 80 78 80 F8 78 F8 00 80 78 00 78 78 78 80 F8 F8 F8 80 F8 80 F8
New data is received. /dev/ttyS0:78 00 78 80 00 F8 78 F8 78 78 78 F8 00 F8 F8 78 80 00 80 78 F8 00 00 80 78 00 F8 78 F8 00 80 00 78 78 00 00 F8 80 F8 78 F8 78 00 80 78 00 78 F8 F8 F8 80
New data is received. /dev/ttyS0:80 00 00 80 00 78 80 80 00 F8 78 00 00 78 78 F8 78 80 F8 78 00 80 80 78 80 80 F8 F8 80 80 F8 80 00 00 00 78 F8 78 78 80 78 80 00 80 80 F8 78 80 78 00 80 00 78 F8 78 80
New data is received. /dev/ttyS0:00 78 78 F8 80 80 80 80 80 78 78 78 F8 00 80 80 80 80 00 78 00 78 78 00 80 78 80 78 F8 F8 78 80 78 78 78 78 00 78 00 80 78 78 F8 F8 78 F8 F8 78 F8 F8 80 80 00 00
New data is received. /dev/ttyS0:00 78 78 78 78 00 F8 78 80 00 78 00 00 F8 78 78 F8 F8 00 78 00 80 00 00 80 78 78 78 80 F8 F8 78 78 00 F8 F8 F8 00 00 F8 80 00 00 78 F8 F8 00 F8 F8 78 78 F8 80 F8 80
New data is received. /dev/ttyS0:00 80 78 78 F8 80 00 00 78 78 00 F8 78 F8 78 80 F8 00 78 80 00 78 F8 F8 F8 00 78 80 78 80 F8 F8 78 78 80 78 78 78 78 80 78 80 00 78 00 F8 78 80 78 78 80 F8 78 80
New data is received. /dev/ttyS0:78 80 00 00 00 F8 78 F8 F8 80 00 78 F8 80 F8 78 78 78 78 80 00 80 80 80 80 F8 00 00 78 00 00 00 78 78 80 78 78 F8 80 80 80 78 F8 80 78 80 00 78 00 00 78
New data is received. /dev/ttyS0:80 80 78 80 80 80 F8 00 F8 80 78 80 80 F8 80 78 F8 F8 F8 78 78 80 00 78 80 80 78 80 00 80 F8 80 80 78 78 78 00 F8 F8 00 80 80 80 F8 00 80 00 00 F8 80 78 80 F8 78 78 80 F8 00
New data is received. /dev/ttyS0:78 00 78 78 80 78 F8 78 78 F8 F8 F8 80 F8 78 78 00 78 00 78 F8 80 78 78 F8 00 80 78 80 F8 78 78 78 00 78 F8 F8 00 78 78 78 80 78 F8 78 78 78 80 00 78 00 78 00 78
New data is received. /dev/ttyS0:00 F8 78 78 00 80 80 00 78 78 00 00 00 F8 80 80 80 80 F8 00 80 78 00 F8 80 F8 80 F8 F8 80 00 F8 80 78 F8 78 78 80 80 F8 F8 F8 00 F8 78 F8 80 80 F8 F8 78 80 F8 F8 78 78
New data is received. /dev/ttyS0:80 00 78 78 80 F8 78 80 78 00 78 78 78 80 78 F8 78 00 80 F8 78 80 00 00 78 F8 00 78 00 80 80 78 80 78 80 80 00 80 F8 78 80 00 00 00 80 00 F8 80 00 80 80 F8 F8 80 78 F8 80 80
New data is received. /dev/ttyS0:00 00 78 00 F8 80 78 00 00 78 78 78 00 F8 80 F8 00 78 00 78 78 78 78 F8 78 80 F8 00 00 00 F8 F8 80 00 78 80 80 F8 80 F8 78 F8 78 F8 80 80 78 F8 78 78 00 F8 78 80 00
New data is received. /dev/ttyS0:78 00 78 78 78 78 00 78 78 00 00 80 00 F8 80 00 78 78 80 00 78 F8 78 78 F8 F8 F8 78 80 80 80 00 80 78 80 F8 00 78 00 78 80 80 F8 78 78 00 80 00 78 78 78 00 78 78 00 00
New data is received. /dev/ttyS0:80 00 78 78 80 78 78 78 78 80 78 78 00 00 80 80 78 00 F8 80 80 80 F8 78 78 78 78 78 00 00 F8 80 F8 80 00 F8 80 80 78 00 78 80 F8 78 00 00 00 00 F8 00 00 00 00
New data is received. /dev/ttyS0:F8 78 78 80 F8 F8 00 F8 78 80 78 F8 78 78 78 80 F8 F8 78 78 80 78 F8 78 80 00 00 00 F8 F8 80 00 78 00 00 80 78 80 F8 80 78 F8 F8 80 78 00 F8 00 F8 F8 00 80 78 F8 78 00
New data is received. /dev/ttyS0:00 78 78 80 80 00 00 00 80 80 80 00 F8 78 78 F8 80 00 F8 80 F8 00 80 00 80 F8
Sorry - wrong baud rate. This
Sorry - wrong baud rate. This is how it looks at 2400bps:
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
/dev/ttyS0:2400 8NONE1
Press any key to close the application.
Media state changed. MediaState.OPENING
trace:13:03:25 TraceTypes.INFO Settings: Port: /dev/ttyS0 Baud Rate: 2400 Data Bits: 8 Parity: Parity.NONE Stop Bits: 0 Eop:126
Media state changed. MediaState.OPEN
New data is received. /dev/ttyS0:7E
New data is received. /dev/ttyS0:A1 E9 41 03 13 C6 37 E6 E7 00 DB 08 4B 41 4D 45 01 C4 EC 57 82 01 D0 30
New data is received. /dev/ttyS0:00 00 64 19 AE F0 D4 C5 BF AE B4 6C 35 64 1E A7 37 E1 16 07 DC B7 5F 27
New data is received. /dev/ttyS0:6E D9 8C EE 21 5C 37 6F 90 36 68 0E BD 40 AF 1C B5 88 18 1B FB 2E 75 56
New data is received. /dev/ttyS0:72 7F 5A 04 AA 0C FE 9E F2 00 06 AE 96 52 07 0B D7 62 98 07 B5 B9 80 AC
New data is received. /dev/ttyS0:B2 24 0F 9C 11 69 9A 10 B2 80 3F E3 8E 1C A6 00 91 D6 5C C5 1B 81 F8 F5
New data is received. /dev/ttyS0:BA D1 3F 6D 2F 82 87 99 CE 69 77 A4 39 16 2C 0C 93 57 43 FF 67 A5 97 AA
New data is received. /dev/ttyS0:E7 37 96 8E A6 7E 89 56 98 50 AB 89 61 88 C7 23 20 D7 C3 22 DC C9 EE BC
New data is received. /dev/ttyS0:B8 40 E3 1D BD EF 4D 09 9F 63 29 7D 31 AF F7 8B 64 7C 3B 80 B6 2B 82 EA
New data is received. /dev/ttyS0:B6 5E 38 FB 80 62 0D BD B4 7C 98 FD B8 49 34 A0 24 31 7A 45 DE 3B E4 74
New data is received. /dev/ttyS0:58 61 46 1A 33 8F 88 81 2A C5 20 9B 8A 93 FE 1D 99 B1 9B 93 54 BE 8A 3E
New data is received. /dev/ttyS0:17 1E CF 90 05 B5 01 6B 94 C4 55 E6 E2 CA 58 DD A8 F6 39 09 61 BA 48 10
New data is received. /dev/ttyS0:6B 2D 8B 3E 02 91 AD EA BF CD 2C 13 EA 82 23 8F F0 62 60 BD D6 36 92 1F
New data is received. /dev/ttyS0:55 17 D8 29 22 72 14 89 87 72 2E 3B C4 06 CF 31 EB A0 F8 06 43 27 2E DF
New data is received. /dev/ttyS0:08 8B 21 9C 54 44 12 F7 C8 EB F8 74 AD F3 C3 BC 1B BE 6D C8 A6 93 4A BE
New data is received. /dev/ttyS0:C6 05 64 67 62 E0 A0 B8 1E 6A 11 8E 11 FA 48 A5 CD EB ED 95 C9 60 41 15
New data is received. /dev/ttyS0:2C 6A E2 4B 32 D7 1E 67 F6 DB 8B 7C 54 4B C1 74 E2 EC 2F 79 E5 02 B3 12
New data is received. /dev/ttyS0:32 CB 6E 24 65 D1 65 58 E8 0E C2 21 FA 12 3F 66 41 49 0B EC DD B3 45 CF
New data is received. /dev/ttyS0:83 08 48 45 7E DD 85 50 61 63 61 EA 12 3C 90 59 43 93 0D 7C 8B 0E C0 76
New data is received. /dev/ttyS0:23 4D 79 11 47 47 4C C4 32 E0 5A F8 8A C1 89 06 60 BE 74 20 B1 FA 01 2A
New data is received. /dev/ttyS0:5B 4D 38 71 19 6A AB 50 20 D6 79 02 58 5A 97 0A A8 66 B1 D9 4F 4F D8 8C
New data is received. /dev/ttyS0:80 4B 0E 08 5A 42 1D 28 AB 7E
Hi,
Hi,
You need to add block cipher and authentication keys to decrypt the data. You can see the result as XML string.
BR,
Mikko
...and I see that there is no
...and I see that there is no difference if I include the keys or not
Hi,
Hi,
Then I believe that your keys are wrong. Get the latest version from the Gurux.DLMS.Push.Listener.Example.python.
It shows the received message as a hex if dataToXml fails.
BR,
Mikko
I think you are right about
I think you are right about the keys so I swopped -A and -B and now something more readable pops up:
gurux_dlms version: 1.0.137
gurux_net version: 1.0.19
gurux_serial version: 1.0.20
/dev/ttyS0:2400 8NONE1
Press any key to close the application.
Media state changed. MediaState.OPENING
trace:16:40:43 TraceTypes.INFO Settings: Port: /dev/ttyS0 Baud Rate: 2400 Data Bits: 8 Parity: Parity.NONE Stop Bits: 0 Eop:126
Media state changed. MediaState.OPEN
New data is received. /dev/ttyS0:7E
New data is received. /dev/ttyS0:A1 E9 41 03 13 C6 37 E6 E7 00 DB 08 4B 41 4D 45 01 C4 EC 57 82 01 D0 30
New data is received. /dev/ttyS0:00 00 69 31 4E FE 57 37 C5 55 3C 8D 9A 3E 4D CD 6C 39 16 CE 97 0B 7D 8B
New data is received. /dev/ttyS0:DA B5 68 4C CE D6 19 1D 0E 9B 1F 1E E5 31 6C A7 CB 8A 11 4A 7B 8F 17 C8
New data is received. /dev/ttyS0:22 48 0E 3C 26 A0 C7 02 EE 70 57 69 02 1C 44 E9 82 DC CC 8B F1 03 45 02
New data is received. /dev/ttyS0:6B A0 0E 63 9C 8B 6B 3E 69 87 D0 A6 F9 01 56 95 A7 1D 2E F4 AC 3F 64 AE
New data is received. /dev/ttyS0:BE B4 D4 2C 08 50 16 58 72 BE D9 DC AA E6 44 75 14 C9 EF A6 30 2B 6E F0
New data is received. /dev/ttyS0:E4 C0 7D E0 72 61 37 55 E4 8D 42 48 5C BA EA 6F 22 38 3C 08 3A 59 62 B7
New data is received. /dev/ttyS0:C6 E7 D4 65 F7 7F B1 A0 CD 52 10 10 4A C9 E3 D0 03 26 C5 74 CD 65 48 D8
New data is received. /dev/ttyS0:39 2D 63 87 E5 66 DC E1 A4 52 4F 35 6B 05 39 69 4F 4D C7 5A 25 51 DA 67
New data is received. /dev/ttyS0:9A D1 1C 81 66 31 5F C6 3E 4E D8 6D D1 D1 97 14 37 6E 7E B1 53 92 23 87
New data is received. /dev/ttyS0:1A 2E EA 0E 05 E4 A6 06 49 0E 8B 37 3B 61 B3 66 7B 44 B3 7C 55 DC 0C 07
New data is received. /dev/ttyS0:18 76 00 11 50 F3 B0 38 DD 6E 06 41 EA 6A D3 90 5F CA 2A 3A 81 6F 13 0F
New data is received. /dev/ttyS0:07 57 26 1A 74 0F 12 C7 A5 DC 4F D5 86 69 87 2F 47 BD 05 67 22 ED DF 92 B9
New data is received. /dev/ttyS0:EC C9 10 DF B5 EE E0 6A 64 E1 31 E1 8B DB 0D D0 87 FA B7 BD 92 F4 2F 1B
New data is received. /dev/ttyS0:6C FC 67 6D 8D CC C0 F9 3A 50 B7 D4 06 BF C3 E4 DF 2D FC 6D DF 09 4C 7A
New data is received. /dev/ttyS0:8D 13 34 3C 6F D5 79 2A 28 D3 35 36 B3 68 DC 9C 1A C9 EF E0 F2 40 B2 5F
New data is received. /dev/ttyS0:E2 FA C3 F7 12 D9 72 30 8E 47 EE E0 26 1E 86 23 B4 6C 7C EB 95 A1 25 BC
New data is received. /dev/ttyS0:6E 89 2C 76 30 36 09 E5 76 4D C2 42 65 74 52 CB A6 BC 32 51 E9 52 B8 F1
New data is received. /dev/ttyS0:14 E7 18 A0 1F CB 0B 97 DB 29 B7 39 DA 13 F3 46 4B F8 2C 63 CC DB 3E 41
New data is received. /dev/ttyS0:48 DA 8D 9A 03 86 A2 E0 48 7C B5 9B D7 37 4F 1C 63 ED AA 40 82 3E 52 08
New data is received. /dev/ttyS0:26 0B 41 55 E2 1D DD 40 7E
<Structure Qty="41" >
<String Value="Kamstrup_V0001" />
<OctetString Value="0101010800FF" />
<UInt32 Value="0013841E" />
<OctetString Value="0101020800FF" />
<UInt32 Value="00000000" />
<OctetString Value="0101030800FF" />
<UInt32 Value="0001091E" />
<OctetString Value="0101040800FF" />
<UInt32 Value="0003D8F4" />
<OctetString Value="0101000001FF" />
<UInt32 Value="014E3D1B" />
<OctetString Value="0101010700FF" />
<UInt32 Value="000000AC" />
<OctetString Value="0101020700FF" />
<UInt32 Value="00000000" />
<OctetString Value="0101030700FF" />
<UInt32 Value="00000000" />
<OctetString Value="0101040700FF" />
<UInt32 Value="00000065" />
<OctetString Value="0001010000FF" />
<OctetString Value="07E7010201102832FF800000" />
<OctetString Value="0101200700FF" />
<UInt16 Value="00E8" />
<OctetString Value="0101340700FF" />
<UInt16 Value="00E9" />
<OctetString Value="0101480700FF" />
<UInt16 Value="00E7" />
<OctetString Value="01011F0700FF" />
<UInt32 Value="0000001E" />
<OctetString Value="0101330700FF" />
<UInt32 Value="0000001B" />
<OctetString Value="0101470700FF" />
<UInt32 Value="00000031" />
<OctetString Value="0101150700FF" />
<UInt32 Value="00000029" />
<OctetString Value="0101290700FF" />
<UInt32 Value="0000002A" />
<OctetString Value="01013D0700FF" />
<UInt32 Value="00000059" />
<OctetString Value="0101210700FF" />
<UInt16 Value="0045" />
<OctetString Value="0101350700FF" />
<UInt16 Value="0053" />
<OctetString Value="0101490700FF" />
<UInt16 Value="005E" />
<OctetString Value="01010D0700FF" />
<UInt16 Value="0056" />
<OctetString Value="0101160700FF" />
<UInt32 Value="00000000" />
<OctetString Value="01012A0700FF" />
<UInt32 Value="00000000" />
<OctetString Value="01013E0700FF" />
<UInt32 Value="00000000" />
<OctetString Value="0101160800FF" />
<UInt32 Value="00000000" />
<OctetString Value="01012A0800FF" />
<UInt32 Value="00000000" />
<OctetString Value="01013E0800FF" />
<UInt32 Value="00000000" />
<OctetString Value="0101150800FF" />
<UInt32 Value="0002EC1C" />
<OctetString Value="0101290800FF" />
<UInt32 Value="0004364A" />
<OctetString Value="01013D0800FF" />
<UInt32 Value="000C61B7" />
</Structure>
{
Kamstrup_V0001
01 01 01 08 00 FF
1279006
01 01 02 08 00 FF
0
01 01 03 08 00 FF
67870
01 01 04 08 00 FF
252148
01 01 00 00 01 FF
21904667
01 01 01 07 00 FF
172
01 01 02 07 00 FF
0
01 01 03 07 00 FF
0
01 01 04 07 00 FF
101
00 01 01 00 00 FF
07 E7 01 02 01 10 28 32 FF 80 00 00
01 01 20 07 00 FF
232
01 01 34 07 00 FF
233
01 01 48 07 00 FF
231
01 01 1F 07 00 FF
30
01 01 33 07 00 FF
27
01 01 47 07 00 FF
49
01 01 15 07 00 FF
41
01 01 29 07 00 FF
42
01 01 3D 07 00 FF
89
01 01 21 07 00 FF
69
01 01 35 07 00 FF
83
01 01 49 07 00 FF
94
01 01 0D 07 00 FF
86
01 01 16 07 00 FF
0
01 01 2A 07 00 FF
0
01 01 3E 07 00 FF
0
01 01 16 08 00 FF
0
01 01 2A 08 00 FF
0
01 01 3E 08 00 FF
0
01 01 15 08 00 FF
191516
01 01 29 08 00 FF
276042
01 01 3D 08 00 FF
811447
}
<HDLC len="1E8" >
<TargetAddress Value="20" />
<SourceAddress Value="1" />
<FrameType Value="13" />
<PDU>
<GeneralGloCiphering>
<SystemTitle Value="4B414D4501C4EC57" />
<CipheredService Value="30000069314EFE5737C5553C8D9A3E4DCD6C3916CE970B7D8BDAB5684CCED6191D0E9B1F1EE5316CA7CB8A114A7B8F17C822480E3C26A0C702EE705769021C44E982DCCC8BF10345026BA00E639C8B6B3E6987D0A6F9015695A71D2EF4AC3F64AEBEB4D42C0850165872BED9DCAAE6447514C9EFA6302B6EF0E4C07DE072613755E48D42485CBAEA6F22383C083A5962B7C6E7D465F77FB1A0CD5210104AC9E3D00326C574CD6548D8392D6387E566DCE1A4524F356B0539694F4DC75A2551DA679AD11C8166315FC63E4ED86DD1D19714376E7EB1539223871A2EEA0E05E4A606490E8B373B61B3667B44B37C55DC0C071876001150F3B038DD6E0641EA6AD3905FCA2A3A816F130F0757261A740F12C7A5DC4FD58669872F47BD056722EDDF92B9ECC910DFB5EEE06A64E131E18BDB0DD087FAB7BD92F42F1B6CFC676D8DCCC0F93A50B7D406BFC3E4DF2DFC6DDF094C7A8D13343C6FD5792A28D33536B368DC9C1AC9EFE0F240B25FE2FAC3F712D972308E47EEE0261E8623B46C7CEB95A125BC6E892C76303609E5764DC242657452CBA6BC3251E952B8F114E718A01FCB0B97DB29B739DA13F3464BF82C63CCDB3E4148DA8D9A0386A2E0487CB59BD7374F1C63EDAA40823E5208260B4155E21D" />
</GeneralGloCiphering>
</PDU>
</HDLC>
Hi,
Hi,
Now it looks good. You can see the push message in XML format and printable format.
It seems like your meter is configured to send OBIS code and value. The first value describes the object:
01010D0700FF: Ch. 1 Sum Li Power factor Inst. value
//Object value:
0x0013841E: 1279006
BR,
Mikko
Thanks a lot - looks very
Thanks a lot - looks very promising! Is there a way that I can query just one object by sending the OBIS code? I am hoping to do so from a current Python application that deals with other data in order also to include meter data in the framework.
Hi,
Hi,
The push message structure is configured to your meter in a way that causes you to need to loop all the values and find the correct one. It's not possible to query from this data content.
BR,
Mikko