Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Logarex D0 Protocol #90

Open
Megachip opened this issue Oct 22, 2021 · 8 comments
Open

Support for Logarex D0 Protocol #90

Megachip opened this issue Oct 22, 2021 · 8 comments

Comments

@Megachip
Copy link

Megachip commented Oct 22, 2021

Documentation

Seems 5S is the only one, which detects the Power Meter

@Megachip
Copy link
Author

Some more Outputs, if required.

@Megachip
Copy link
Author

@Aeroid & @lowdef may you can help? Looks like you implemented the Q3D, which also using D0 Protocol

@Megachip
Copy link
Author

Megachip commented Jan 9, 2023

Error doing job: Exception in callback SerialTransport._read_ready()
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/lib/python3.10/site-packages/serial_asyncio/__init__.py", line 120, in _read_ready
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.10/site-packages/dsmr_parser/clients/rfxtrx_protocol.py", line 55, in data_received
    subtype = data[2]
IndexError: index out of range

@Megachip
Copy link
Author

Megachip commented Jan 17, 2024

Beschreibung der Register

1-0:96.1.0*255(001LOG0065800041) Hersteller unabhängige Identifikationsnummer – Produktionsnummer
1-0:1.8.0*255(000000.0000*kWh) Kumulatives Register der aktiven Energie in kWh T1+T2
1-0:1.8.1*255(000000.0000*kWh) Kumulatives Register der aktiven Energie in kWh T1
1-0:1.8.2*255(000000.0000*kWh) Kumulatives Register der aktiven Energie in kWh T2
1-0:2.8.0*255(000000.0000*kWh) -A Enerige
1-0:16.7.0*255(000000*W) Stromeffektivwert
1-0:32.7.0*255(000.0*V) Spannung L1, Auflösung 0.1 V 
1-0:52.7.0*255(000.0*V) Spannung L2, Auflösung 0.1 V 
1-0:72.7.0*255(228.8*V) Spannung L3, Auflösung 0.1 V 
1-0:31.7.0*255(000.00*A) Strom L1, Auflösung 0.01 A 
1-0:51.7.0*255(000.00*A) Strom L2, Auflösung 0.01 A 
1-0:71.7.0*255(000.00*A) Strom L3, Auflösung 0.01 A 
1-0:81.7.1*255(000*deg) Phasenwinkel UL2 : UL1 
1-0:81.7.2*255(000*deg) Phasenwinkel UL3 : UL1 
1-0:81.7.4*255(000*deg) Phasenwinkel IL1 : UL1 
1-0:81.7.15*255(000*deg) Phasenwinkel IL2 : UL2 
1-0:81.7.26*255(000*deg) Phasenwinkel IL3 : UL3 
1-0:14.7.0*255(50.0*Hz) Netz Frequenz in Hz
1-0:1.8.0*96(00000.0*kWh) Historischer Energieverbrauchswert vom letzten Tag (1d) 
1-0:1.8.0*97(00000.0*kWh) Historischer Energieverbrauchswert der letzten Woche (7d) 
1-0:1.8.0*98(00000.0*kWh) Historischer Energieverbrauchswert des letzten Monats (30d) 
1-0:1.8.0*99(00000.0*kWh) Historischer Energieverbrauchswert des letzten Jahres (365d) 
1-0:1.8.0*100(00000.0*kWh) Historischer Energieverbrauchswert seit letzter Rückstellung
1-0:0.2.0*255(ver.03,432F,20170504) Firmware Version, Firmware Prüfsumme CRC , Datum
1-0:96.90.2*255(F0F6) Prüfsumme - CRC der eingestellten Parameter
1-0:97.97.0*255(00000000) FF - Status Register - Interner Gerätefehler

@Megachip Megachip changed the title Support for Logarex Support for D0 Protocol Oct 29, 2024
@Megachip Megachip changed the title Support for D0 Protocol Support for Logarex D0 Protocol Oct 29, 2024
@Megachip
Copy link
Author

2024-10-29 16:07:23.652 ERROR (MainThread) [dsmr_parser.clients.protocol] failed to parse telegram
File "/usr/local/lib/python3.12/site-packages/dsmr_parser/clients/protocol.py", line 159, in handle_telegram
File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 83, in parse
File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 131, in validate_checksum
dsmr_parser.exceptions.ParseError: Failed to perform CRC validation because the telegram is incomplete. The checksum and/or content values are missing.
2024-10-29 16:09:27.667 ERROR (MainThread) [dsmr_parser.clients.protocol] failed to parse telegram
File "/usr/local/lib/python3.12/site-packages/dsmr_parser/clients/protocol.py", line 159, in handle_telegram
File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 83, in parse
File "/usr/local/lib/python3.12/site-packages/dsmr_parser/parsers.py", line 131, in validate_checksum
dsmr_parser.exceptions.ParseError: Failed to perform CRC validation because the telegram is incomplete. The checksum and/or content values are missing.

@ndokter
Copy link
Owner

ndokter commented Oct 29, 2024

Hi @Megachip i see its complaining about the CRC check. If i check the previous DSMR message here https://community.home-assistant.io/t/edl21-adding-support-for-logarex/343883 then i see that there is no CRC info. So i don't think you should enable CRC checking

@Megachip
Copy link
Author

Hi @Megachip i see its complaining about the CRC check. If i check the previous DSMR message here https://community.home-assistant.io/t/edl21-adding-support-for-logarex/343883 then i see that there is no CRC info. So i don't think you should enable CRC checking

How/Where to disable it?

@Megachip
Copy link
Author

I'm not sure if this is just related to the checksum.

homeassistant:/usr/src/homeassistant/homeassistant/components/dsmr# /usr/local/bin/dsmr_console --verbose
DEBUG:asyncio:Using selector: EpollSelector
DEBUG:dsmr_parser.clients.protocol:connected
DEBUG:dsmr_parser.clients.protocol:received data: /LO
DEBUG:dsmr_parser.clients.protocol:received data: G5LK13
DEBUG:dsmr_parser.clients.protocol:received data: BE8
DEBUG:dsmr_parser.clients.protocol:received data: 030
DEBUG:dsmr_parser.clients.protocol:received data: 39
DEBUG:dsmr_parser.clients.protocol:received data: 


DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :96
DEBUG:dsmr_parser.clients.protocol:received data: .1.
DEBUG:dsmr_parser.clients.protocol:received data: 0*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: 001
DEBUG:dsmr_parser.clients.protocol:received data: LOG
DEBUG:dsmr_parser.clients.protocol:received data: 006
DEBUG:dsmr_parser.clients.protocol:received data: 555
DEBUG:dsmr_parser.clients.protocol:received data: 318
DEBUG:dsmr_parser.clients.protocol:received data: 9)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:1
DEBUG:dsmr_parser.clients.protocol:received data: .8.
DEBUG:dsmr_parser.clients.protocol:received data: 0*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: 023
DEBUG:dsmr_parser.clients.protocol:received data: 372
DEBUG:dsmr_parser.clients.protocol:received data: .74
DEBUG:dsmr_parser.clients.protocol:received data: 32*
DEBUG:dsmr_parser.clients.protocol:received data: kWh
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :2.
DEBUG:dsmr_parser.clients.protocol:received data: 8.0
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(0
DEBUG:dsmr_parser.clients.protocol:received data: 000
DEBUG:dsmr_parser.clients.protocol:received data: 00.
DEBUG:dsmr_parser.clients.protocol:received data: 000
DEBUG:dsmr_parser.clients.protocol:received data: 0*k
DEBUG:dsmr_parser.clients.protocol:received data: Wh)
DEBUG:dsmr_parser.clients.protocol:received data: 
1
DEBUG:dsmr_parser.clients.protocol:received data: -0:
DEBUG:dsmr_parser.clients.protocol:received data: 16.
DEBUG:dsmr_parser.clients.protocol:received data: 7.0
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(0
DEBUG:dsmr_parser.clients.protocol:received data: 005
DEBUG:dsmr_parser.clients.protocol:received data: 37*
DEBUG:dsmr_parser.clients.protocol:received data: W)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:3
DEBUG:dsmr_parser.clients.protocol:received data: 2.7
DEBUG:dsmr_parser.clients.protocol:received data: .0*
DEBUG:dsmr_parser.clients.protocol:received data: 255
DEBUG:dsmr_parser.clients.protocol:received data: (23
DEBUG:dsmr_parser.clients.protocol:received data: 1.8
DEBUG:dsmr_parser.clients.protocol:received data: *V)
DEBUG:dsmr_parser.clients.protocol:received data: 
1
DEBUG:dsmr_parser.clients.protocol:received data: -0:
DEBUG:dsmr_parser.clients.protocol:received data: 52.
DEBUG:dsmr_parser.clients.protocol:received data: 7.0
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(2
DEBUG:dsmr_parser.clients.protocol:received data: 31.
DEBUG:dsmr_parser.clients.protocol:received data: 6*V
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :72
DEBUG:dsmr_parser.clients.protocol:received data: .7.
DEBUG:dsmr_parser.clients.protocol:received data: 0*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: 234
DEBUG:dsmr_parser.clients.protocol:received data: .4*
DEBUG:dsmr_parser.clients.protocol:received data: V)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:3
DEBUG:dsmr_parser.clients.protocol:received data: 1.7
DEBUG:dsmr_parser.clients.protocol:received data: .0*
DEBUG:dsmr_parser.clients.protocol:received data: 255
DEBUG:dsmr_parser.clients.protocol:received data: (00
DEBUG:dsmr_parser.clients.protocol:received data: 1.0
DEBUG:dsmr_parser.clients.protocol:received data: 3*A
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :51
DEBUG:dsmr_parser.clients.protocol:received data: .7.
DEBUG:dsmr_parser.clients.protocol:received data: 0*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: 000
DEBUG:dsmr_parser.clients.protocol:received data: .63
DEBUG:dsmr_parser.clients.protocol:received data: *A)
DEBUG:dsmr_parser.clients.protocol:received data: 
1
DEBUG:dsmr_parser.clients.protocol:received data: -0:
DEBUG:dsmr_parser.clients.protocol:received data: 71.
DEBUG:dsmr_parser.clients.protocol:received data: 7.0
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(0
DEBUG:dsmr_parser.clients.protocol:received data: 01.
DEBUG:dsmr_parser.clients.protocol:received data: 68*
DEBUG:dsmr_parser.clients.protocol:received data: A)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:8
DEBUG:dsmr_parser.clients.protocol:received data: 1.7
DEBUG:dsmr_parser.clients.protocol:received data: .1*
DEBUG:dsmr_parser.clients.protocol:received data: 255
DEBUG:dsmr_parser.clients.protocol:received data: (24
DEBUG:dsmr_parser.clients.protocol:received data: 1*d
DEBUG:dsmr_parser.clients.protocol:received data: eg)
DEBUG:dsmr_parser.clients.protocol:received data: 
1
DEBUG:dsmr_parser.clients.protocol:received data: -0:
DEBUG:dsmr_parser.clients.protocol:received data: 81.
DEBUG:dsmr_parser.clients.protocol:received data: 7.2
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(1
DEBUG:dsmr_parser.clients.protocol:received data: 24*
DEBUG:dsmr_parser.clients.protocol:received data: deg
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :81
DEBUG:dsmr_parser.clients.protocol:received data: .7.
DEBUG:dsmr_parser.clients.protocol:received data: 4*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: 036
DEBUG:dsmr_parser.clients.protocol:received data: *de
DEBUG:dsmr_parser.clients.protocol:received data: g)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:8
DEBUG:dsmr_parser.clients.protocol:received data: 1.7
DEBUG:dsmr_parser.clients.protocol:received data: .15
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(0
DEBUG:dsmr_parser.clients.protocol:received data: 71*
DEBUG:dsmr_parser.clients.protocol:received data: deg
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :81
DEBUG:dsmr_parser.clients.protocol:received data: .7.
DEBUG:dsmr_parser.clients.protocol:received data: 26*
DEBUG:dsmr_parser.clients.protocol:received data: 255
DEBUG:dsmr_parser.clients.protocol:received data: (04
DEBUG:dsmr_parser.clients.protocol:received data: 0*d
DEBUG:dsmr_parser.clients.protocol:received data: eg)
DEBUG:dsmr_parser.clients.protocol:received data: 
1
DEBUG:dsmr_parser.clients.protocol:received data: -0:
DEBUG:dsmr_parser.clients.protocol:received data: 14.
DEBUG:dsmr_parser.clients.protocol:received data: 7.0
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(4
DEBUG:dsmr_parser.clients.protocol:received data: 9.9
DEBUG:dsmr_parser.clients.protocol:received data: *Hz
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :1.
DEBUG:dsmr_parser.clients.protocol:received data: 8.0
DEBUG:dsmr_parser.clients.protocol:received data: *96
DEBUG:dsmr_parser.clients.protocol:received data: (00
DEBUG:dsmr_parser.clients.protocol:received data: 015
DEBUG:dsmr_parser.clients.protocol:received data: .8*
DEBUG:dsmr_parser.clients.protocol:received data: kWh
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :1.
DEBUG:dsmr_parser.clients.protocol:received data: 8.0
DEBUG:dsmr_parser.clients.protocol:received data: *97
DEBUG:dsmr_parser.clients.protocol:received data: (00
DEBUG:dsmr_parser.clients.protocol:received data: 123
DEBUG:dsmr_parser.clients.protocol:received data: .5*
DEBUG:dsmr_parser.clients.protocol:received data: kWh
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :1.
DEBUG:dsmr_parser.clients.protocol:received data: 8.0
DEBUG:dsmr_parser.clients.protocol:received data: *98
DEBUG:dsmr_parser.clients.protocol:received data: (00
DEBUG:dsmr_parser.clients.protocol:received data: 573.7*
DEBUG:dsmr_parser.clients.protocol:received data: kWh
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :1.
DEBUG:dsmr_parser.clients.protocol:received data: 8.0
DEBUG:dsmr_parser.clients.protocol:received data: *99
DEBUG:dsmr_parser.clients.protocol:received data: (07
DEBUG:dsmr_parser.clients.protocol:received data: 355
DEBUG:dsmr_parser.clients.protocol:received data: .1*
DEBUG:dsmr_parser.clients.protocol:received data: kWh
DEBUG:dsmr_parser.clients.protocol:received data: )

DEBUG:dsmr_parser.clients.protocol:received data: 1-0
DEBUG:dsmr_parser.clients.protocol:received data: :1.
DEBUG:dsmr_parser.clients.protocol:received data: 8.0
DEBUG:dsmr_parser.clients.protocol:received data: *10
DEBUG:dsmr_parser.clients.protocol:received data: 0(2
DEBUG:dsmr_parser.clients.protocol:received data: 337
DEBUG:dsmr_parser.clients.protocol:received data: 2.7
DEBUG:dsmr_parser.clients.protocol:received data: *kW
DEBUG:dsmr_parser.clients.protocol:received data: h)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:0
DEBUG:dsmr_parser.clients.protocol:received data: .2.
DEBUG:dsmr_parser.clients.protocol:received data: 0*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: ver
DEBUG:dsmr_parser.clients.protocol:received data: .03
DEBUG:dsmr_parser.clients.protocol:received data: ,43
DEBUG:dsmr_parser.clients.protocol:received data: 2F,
DEBUG:dsmr_parser.clients.protocol:received data: 201
DEBUG:dsmr_parser.clients.protocol:received data: 705
DEBUG:dsmr_parser.clients.protocol:received data: 04)
DEBUG:dsmr_parser.clients.protocol:received data: 
1
DEBUG:dsmr_parser.clients.protocol:received data: -0:
DEBUG:dsmr_parser.clients.protocol:received data: 96.
DEBUG:dsmr_parser.clients.protocol:received data: 90.
DEBUG:dsmr_parser.clients.protocol:received data: 2*2
DEBUG:dsmr_parser.clients.protocol:received data: 55(
DEBUG:dsmr_parser.clients.protocol:received data: F39
DEBUG:dsmr_parser.clients.protocol:received data: 8)
DEBUG:dsmr_parser.clients.protocol:received data: 
1-
DEBUG:dsmr_parser.clients.protocol:received data: 0:9
DEBUG:dsmr_parser.clients.protocol:received data: 7.9
DEBUG:dsmr_parser.clients.protocol:received data: 7.0
DEBUG:dsmr_parser.clients.protocol:received data: *25
DEBUG:dsmr_parser.clients.protocol:received data: 5(0
DEBUG:dsmr_parser.clients.protocol:received data: 000
DEBUG:dsmr_parser.clients.protocol:received data: 000
DEBUG:dsmr_parser.clients.protocol:received data: 0)
DEBUG:dsmr_parser.clients.protocol:received data: 
!
DEBUG:dsmr_parser.clients.protocol:received data: 

DEBUG:dsmr_parser.clients.protocol:got telegram: /LOG5LK13BE803039

1-0:96.1.0*255(001LOG0065553189)
1-0:1.8.0*255(023372.7432*kWh)
1-0:2.8.0*255(000000.0000*kWh)
1-0:16.7.0*255(000537*W)
1-0:32.7.0*255(231.8*V)
1-0:52.7.0*255(231.6*V)
1-0:72.7.0*255(234.4*V)
1-0:31.7.0*255(001.03*A)
1-0:51.7.0*255(000.63*A)
1-0:71.7.0*255(001.68*A)
1-0:81.7.1*255(241*deg)
1-0:81.7.2*255(124*deg)
1-0:81.7.4*255(036*deg)
1-0:81.7.15*255(071*deg)
1-0:81.7.26*255(040*deg)
1-0:14.7.0*255(49.9*Hz)
1-0:1.8.0*96(00015.8*kWh)
1-0:1.8.0*97(00123.5*kWh)
1-0:1.8.0*98(00573.7*kWh)
1-0:1.8.0*99(07355.1*kWh)
1-0:1.8.0*100(23372.7*kWh)
1-0:0.2.0*255(ver.03,432F,20170504)
1-0:96.90.2*255(F398)
1-0:97.97.0*255(00000000)
!

001LOG0065553189 None

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants