Boetje Posted August 31, 2020 Report Posted August 31, 2020 Hello everyone I have a challenge that I cannot solve a P1 telegram (ASCII string) is sent from an electricity meter every 7 seconds How can I process this in Unistream And where should I buffer it, this because of over 700 ASCII characters in the telegram must search for the value after a code The telegram is not fixed in length, and line number 42/5000 Below a scan of PuTTY /ISk5\2MT382-1000 1-3:0.2.8(50) 0-0:1.0.0(101209113020W) 0-0:96.1.1(4B384547303034303436333935353037) 1-0:1.8.1(123456.789*kWh) 1-0:1.8.2(123456.789*kWh) 1-0:2.8.1(123456.789*kWh) 1-0:2.8.2(123456.789*kWh) 0-0:96.14.0(0002) 1-0:1.7.0(01.193*kW) 1-0:2.7.0(00.000*kW) 0-0:96.7.21(00004) 0-0:96.7.9(00002) 1-0:99.97.0(2)(0-0:96.7.19)(101208152415W)(0000000240*s)(101208151004W)(0000000301*s) 1-0:32.32.0(00002) 1-0:52.32.0(00001) 1-0:72.32.0(00000) 1-0:32.36.0(00000) 1-0:52.36.0(00003) 1-0:72.36.0(00000) 0-0:96.13.0(303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C 3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F) 1-0:32.7.0(220.1*V) 1-0:52.7.0(220.2*V) 1-0:72.7.0(220.3*V) 1-0:31.7.0(001*A) 1-0:51.7.0(002*A) 1-0:71.7.0(003*A) 1-0:21.7.0(01.111*kW) 1-0:41.7.0(02.222*kW) 1-0:61.7.0(03.333*kW) 1-0:22.7.0(04.444*kW) 1-0:42.7.0(05.555*kW) 1-0:62.7.0(06.666*kW) 0-1:24.1.0(003) 0-1:96.1.0(3232323241424344313233343536373839) 0-1:24.2.1(101209112500W)(12785.123*m3) !EF2F Slimme_meter_15_a727fce1f1.pdf
bobnorway Posted September 1, 2020 Report Posted September 1, 2020 I think this problem is not a very good fit for a newbie. Decoding a large variable ascii transmission could better be done with a unit which has more string tools for handling the data blocks. Perhaps then sending just the extracted value to the unitronics. I assume it is always the same ODBIS code value you require? Incidently the documentation says the telegram is sent every second not every 7 seconds.
Ofir Posted September 3, 2020 Report Posted September 3, 2020 Hello, In general you are getting this telegram to a large buffer. For example part of the text in this telegram is 1-0:32.7.0(220.1*V) If you wish to extract the voltage (220.1*V): In the buffer you should search for "1-0:32.7.0(" (If this leading text is fixed ) You can put this string in advance in ASCII string - use the Tag to Buffer (under the buffer tools) and then use find in Buffer for this string. Once you found the index you can copy buffer part to buffer with the correct offset and length - Now you have the 220.1 in a buffer. If you wish to have it a a number you can use Buffer to Tag.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now