[smartmeter] Binding not working with Holley DTZ541

Hi together,

I installed the smartmeter binding today and connected my pi via an USB-IR-Reader to my DTZ541. According to the holley website, the DTZ sends in SML 1.04 (mode push) at 9600 baud.
Unfortunately I do not get the binding working.

When I set the Mode to D, baud to 9600 I’ll get the following errors:

2020-03-19 22:45:50.872 [WARN ] [.iec62056.Iec62056_21SerialConnector] - Exception while listening for mode D data message
java.io.IOException: Received unexpected identification message start byte: 00
	at org.openmuc.j62056.internal.IdentificationMessage.<init>(IdentificationMessage.java:49) ~[bundleFile:?]
	at org.openmuc.j62056.Iec21Port$ModeDReceiver.run(Iec21Port.java:70) [bundleFile:?]
2020-03-19 22:45:50.894 [WARN ] [.iec62056.Iec62056_21SerialConnector] - Exception while listening for mode D data message
java.io.IOException: Received unexpected identification message start byte: 00
	at org.openmuc.j62056.internal.IdentificationMessage.<init>(IdentificationMessage.java:49) ~[bundleFile:?]
	at org.openmuc.j62056.Iec21Port$ModeDReceiver.run(Iec21Port.java:70) [bundleFile:?]
2020-03-19 22:45:51.907 [WARN ] [.iec62056.Iec62056_21SerialConnector] - Exception while listening for mode D data message
java.io.IOException: Received unexpected identification message start byte: 00

If I do set the mode to SML, I’ll get an exception:

2020-03-19 22:47:46.342 [INFO ] [ding.smartmeter.internal.MeterDevice] - Opening connection to smartmeter:meter:a2d0fbe1

2020-03-19 22:47:56.359 [TRACE] [eter.internal.sml.SmlSerialConnector] - Reading 1. SML message

2020-03-19 22:47:56.374 [WARN ] [ding.smartmeter.internal.MeterDevice] - Failed to read: Could not decode message. Closing connection and trying again in 2 seconds...; smartmeter:meter:a2d0fbe1

java.io.IOException: Could not decode message

	at org.openmuc.jsml.transport.Transport.handleSMLStream(Transport.java:113) ~[bundleFile:?]

	at org.openmuc.jsml.transport.Transport.getSMLFile(Transport.java:101) ~[bundleFile:?]

	at org.openhab.binding.smartmeter.internal.sml.SmlSerialConnector.readNext(SmlSerialConnector.java:95) ~[bundleFile:?]

	at org.openhab.binding.smartmeter.internal.sml.SmlSerialConnector.readNext(SmlSerialConnector.java:1) ~[bundleFile:?]

	at org.openhab.binding.smartmeter.connectors.ConnectorBase.emitValues(ConnectorBase.java:154) ~[bundleFile:?]

	at org.openhab.binding.smartmeter.connectors.ConnectorBase.lambda$2(ConnectorBase.java:124) ~[bundleFile:?]

	at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71) [bundleFile:?]

	at io.reactivex.Flowable.subscribe(Flowable.java:14479) [bundleFile:?]

	at io.reactivex.Flowable.subscribe(Flowable.java:14426) [bundleFile:?]

	at io.reactivex.internal.operators.flowable.FlowableFlatMap$MergeSubscriber.onNext(FlowableFlatMap.java:163) [bundleFile:?]

	at io.reactivex.internal.operators.flowable.FlowableTimer$TimerSubscriber.run(FlowableTimer.java:76) [bundleFile:?]

	at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38) [bundleFile:?]

	at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:26) [bundleFile:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

==> /var/log/openhab2/events.log <==

2020-03-19 22:47:56.468 [hingStatusInfoChangedEvent] - 'smartmeter:meter:a2d0fbe1' changed from UNKNOWN (HANDLER_CONFIGURATION_PENDING): Waiting for messages from device to OFFLINE (COMMUNICATION_ERROR): Could not decode message

So I do not really know how to solve it or handle this issue.

I’ve tried to get the serial output to have a look at the raw data with

cat /dev/ttyUSB0 2>/dev/null | xxd -p -u -l 1420 -c 1420

The dump is like:
1B1B1B1B1A01BA081B1B1B1B0101010176040000016200620072650000010176010107000000E9E7020B0A01484C59020003C70E01016322520076040000026200620072650000070177010B0A01484C59020003C70E01017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020003C70E0177070100010800FF65001C01046500E9E702621E52FF65031C7C570177070100020800FF65001C01046500E9E702621E52FF6500E59EA80177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C010401010163DBF700760400000362006200726500000201710163E82300001B1B1B1B1A01EA0D1B1B1B1B0101010176040000016200620072650000010176010107000000E9E7030B0A01484C59020003C70E010163C82C0076040000026200620072650000070177010B0A01484C59020003C70E01017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020003C70E0177070100010800FF65001C01046500E9E703621E52FF65031C7C580177070100020800FF65001C01046500E9E703621E52FF6500E59EA80177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C0104010101630FF700760400000362006200726500000201710163E8230000

I would really appreciate any help :slight_smile:

Thanks in advance

Sorry for referring to this old thread, but: did you solve that issue with the DTZ541?
I have the same smartmeter and would like to connect it to openHAB.

Same problem here, also looking for a solution :confused:

Tried also this with node red (in german: https://neuros-projekte.de/smarthome/openhab-holleytech-smartmeter-auslesen/), because there could be a bug in the sml implementation of this smart meter.

In my case the ir diode was bad, the power supply company exchanged the meter with a different brand.
I connected it to an esp, flashed with tasmota and the data is now coming in into openHAB via mqtt.