I just installed the DMR branch I pulled from your repo, and while some of the reading works nice, I get a few of these parsing errors too:
ERROR:dsmr_parser.protocol:failed to parse telegram
Traceback (most recent call last):
File "/home/pi/.homeassistant/deps/dsmr_parser/protocol.py", line 82, in handle_lines
parsed_telegram = self.telegram_parser.parse(self.telegram)
File "/home/pi/.homeassistant/deps/dsmr_parser/parsers.py", line 32, in parse
obis_reference, dsmr_object = self.parse_line(line_value.strip())
File "/home/pi/.homeassistant/deps/dsmr_parser/parsers.py", line 47, in parse_line
return obis_reference, parser.parse(line_value)
File "/home/pi/.homeassistant/deps/dsmr_parser/parsers.py", line 135, in parse
return CosemObject(self._parse(line))
File "/home/pi/.homeassistant/deps/dsmr_parser/parsers.py", line 84, in _parse
raise ParseError("Invalid '%s' line for '%s'", line, self)
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", '1.8.1(000757.633*kWh)\r:1.8.2(000866.884*1-0:2.8.1(000000.000*kWh)', <dsmr_parser.parsers.CosemParser object at 0xb31e8eb0>)
and:
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", '1.0(MYMETERNUMBERHERE-1:24.2.1(161123230000W)(00598./KFM5KAIFA-METER', <dsmr_parser.parsers.MBusParser object at 0xb31ec790>)
and
dsmr_parser.exceptions.ParseError: ("Invalid '%s' line for '%s'", ':2.8.1(000000.000*kWh)1-0:2.8.2(0-0:96.14.0(0001)', <dsmr_parser.parsers.CosemParser object at 0xb31e8f10>)
I used config:
- name: dsmr
platform: dsmr
port: /dev/ttyUSB0
dsmr_version: 4
Could this be due to an invalidly selected firmware? How can I find out what firmware I have?
When I installed your dsmr console, I was able to read the data using both:
dsmr_console -v --device /dev/ttyUSB0 --version 4 -p N -b 8
but also with
dsmr_console -v --device /dev/ttyUSB0 --version 4
(which resulted in even parity and a bytesize of 7)
However after installing your update all is well, and no error messages are displayed!