ndokter / dsmr_parser

Library to parse Dutch Smart Meter Requirements (DSMR) telegrams.
MIT License
110 stars 64 forks source link

dsmr_parser.exceptions.ParseError '0-1:24.2.1(0)\r\n' #160

Open b8fly opened 1 week ago

b8fly commented 1 week ago

I hope I am at the right address with this issue... otherwise I am sorry.

Using Home Assistant with DSMR Slimme Meter Integration (https://www.home-assistant.io/integrations/dsmr/)

Parsing the lines

0-1:24.2.1(0)
0-2:24.2.1(0)
0-3:24.2.1(0)
0-4:24.2.1(0)

of my smart meter seems to cause parsing problems.

My logfile is flooded with the following error:


2024-06-28 10:42:08.770 DEBUG (MainThread) [dsmr_parser.clients.protocol] got telegram: /ESR51030712047847

1-3:0.2.8(50)
0-0:1.0.0(07E8061C050A2B2B00FF8880)
0-0:96.1.1(3132303437383437)
1-0:1.8.1(000557.193*kWh)
1-0:1.8.2(001982.038*kWh)
1-0:2.8.1(000095.350*kWh)
1-0:2.8.2(000026.057*kWh)
0-0:96.14.0(5431)
1-0:1.7.0(000.000*kW)
1-0:2.7.0(000.112*kW)
0-0:96.7.21(00001)
0-0:96.7.9(00001)
1-0:99.97.0(1)(0-0:96.7.19)(230213132326W)(5358478)
1-0:32.32.0(00000)
1-0:52.32.0(00000)
1-0:72.32.0(00000)
1-0:32.36.0(00000)
1-0:52.36.0(00000)
1-0:72.36.0(00000)
0-0:96.13.0()
1-0:32.7.0(237.98*V)
1-0:52.7.0(240.56*V)
1-0:72.7.0(240.44*V)
1-0:31.7.0(0.11*A)
1-0:51.7.0(0.03*A)
1-0:71.7.0(1.03*A)
1-0:21.7.0(000.010*kW)
1-0:41.7.0(000.000*kW)
1-0:61.7.0(000.000*kW)
1-0:22.7.0(000.000*kW)
1-0:42.7.0(000.000*kW)
1-0:62.7.0(000.123*kW)
0-1:24.1.0()
0-1:96.1.0()
0-1:24.2.1(0)
0-2:24.1.0()
0-2:96.1.0()
0-2:24.2.1(0)
0-3:24.1.0()
0-3:96.1.0()
0-3:24.2.1(0)
0-4:24.1.0()
0-4:96.1.0()
0-4:24.2.1(0)
!7306

2024-06-28 10:42:08.818 ERROR (MainThread) [dsmr_parser.parsers] ignore line with signature ^\d-\d:24\.2\.1.+?\r\n, because parsing failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 95, in parse
    dsmr_object = object["value_parser"].parse(match)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 242, in parse
    values=self._parse(line)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 214, in _parse
    raise ParseError("Invalid '%s' line for '%s'", line, self)
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", '0-1:24.2.1(0)\r\n', <dsmr_parser.parsers.MBusParser object at 0x7f636c0590>)
2024-06-28 10:42:08.837 ERROR (MainThread) [dsmr_parser.parsers] ignore line with signature ^\d-\d:24\.2\.1.+?\r\n, because parsing failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 95, in parse
    dsmr_object = object["value_parser"].parse(match)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 242, in parse
    values=self._parse(line)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 214, in _parse
    raise ParseError("Invalid '%s' line for '%s'", line, self)
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", '0-2:24.2.1(0)\r\n', <dsmr_parser.parsers.MBusParser object at 0x7f636c0590>)
2024-06-28 10:42:08.863 ERROR (MainThread) [dsmr_parser.parsers] ignore line with signature ^\d-\d:24\.2\.1.+?\r\n, because parsing failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 95, in parse
    dsmr_object = object["value_parser"].parse(match)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 242, in parse
    values=self._parse(line)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 214, in _parse
    raise ParseError("Invalid '%s' line for '%s'", line, self)
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", '0-3:24.2.1(0)\r\n', <dsmr_parser.parsers.MBusParser object at 0x7f636c0590>)
2024-06-28 10:42:08.890 ERROR (MainThread) [dsmr_parser.parsers] ignore line with signature ^\d-\d:24\.2\.1.+?\r\n, because parsing failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 95, in parse
    dsmr_object = object["value_parser"].parse(match)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 242, in parse
    values=self._parse(line)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 214, in _parse
    raise ParseError("Invalid '%s' line for '%s'", line, self)
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", '0-4:24.2.1(0)\r\n', <dsmr_parser.parsers.MBusParser object at 0x7f636c0590>)```