I circumvented the java AES issues by using a modified version of smarty_dsmr_proxy: GitHub - tknaller/smarty_dsmr_proxy
which runs as it’s own docker container:
Dockerfile:
FROM python:3
RUN pip install pyserial && pip install cryptography && pip3 install pycryptodomex
RUN apt-get update && apt-get install -y socat
RUN git clone https://github.com/tknaller/smarty_dsmr_proxy.git /smarty_dsmr_proxy
COPY ./run.sh /run.sh
CMD sh /run.sh
run.sh:
#!/bin/sh
socat -d -d pty,raw,echo=0 TCP-LISTEN:2001,reuseaddr &
python3 /smarty_dsmr_proxy/decrypt.py ENCRYPTION KEY --serial-input-port=/dev/ttyDSMR --serial-output-port=/dev/pts/1
→ Docker-compose exposes port 2001:
------------ snip -------
dsmrproxy:
build: ./smarty_dsmr_proxy
container_name: dsmrproxy
restart: always
tty: true
ports:
- 2001:2001
devices:
- /dev/ttyDSMR
---------- snip -------
note:
- my USB to Serial-P1 is mounted as /dev/ttyDSMR via UDEV rules)
- my openhab uses network_mode: host
openhab in docker-compose has a custom command: /customstart.sh
#!/bin/bash -x
apt-get update
apt-get install -y socat
socat -d -d pty,link=/dev/ttyDSMR,raw,user=openhab,group=dialout,mode=777 tcp:127.0.0.1:2001 &
gosu openhab tini -s ./start.sh $@
now /dev/ttyDSMR inside the docker container (don’t forget about EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Vienna -Dgnu.io.rxtx.SerialPorts=/dev/ttyDSMR"
) receives the stuff unencrypted but now my problem is:
2021-08-30 22:24:16.264 [TRACE] [l.device.p1telegram.P1TelegramParser] - Raw data: /EST5\253740976_A
1-3:0.2.8(50)
0-0:1.0.0(210830222406S)
1-0:1.8.0(000276683*Wh)
1-0:1.8.1(000197551*Wh)
1-0:1.8.2(000079132*Wh)
1-0:1.7.0(000001560*W)
1-0:2.8.0(000004998*Wh)
1-0:2.8.1(000001350*Wh)
1-0:2.8.2(000003648*Wh)
1-0:2.7.0(000000000*W)
1-0:3.8.0(000005672*varh)
1-0:3.8.1(000001954*varh)
1-0:3.8.2(000003718*varh)
1-0:3.7.0(000000000*var)
1-0:4.8.0(000217237*varh)
1-0:4.8.1(000144753*varh)
1-0:4.8.2(000072484*varh)
1-0:4.7.0(000000480*var)
!7F45
, Parser state entering parseData: WAIT_FOR_START
2021-08-30 22:24:16.269 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-3:0.2.8, obisId: 1-3:0.2.8, values: (50)
2021-08-30 22:24:16.270 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Found obisId 1-3:0.2.8 in the fixed lookup table
2021-08-30 22:24:16.272 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: P1_VERSION_OUTPUT
2021-08-30 22:24:16.273 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (50)
2021-08-30 22:24:16.275 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.277 [TRACE] [l.device.p1telegram.P1TelegramParser] - Adding Cosem Object(type:P1_VERSION_OUTPUT, cosemValues:{=50}) to list of Cosem Objects
2021-08-30 22:24:16.278 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 0-0:1.0.0, obisId: 0-0:1.0.0, values: (210830222406S)
2021-08-30 22:24:16.279 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Found obisId 0-0:1.0.0 in the fixed lookup table
2021-08-30 22:24:16.280 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: P1_TIMESTAMP
2021-08-30 22:24:16.281 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (210830222406S)
2021-08-30 22:24:16.282 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.283 [TRACE] [dsmr.internal.device.cosem.CosemDate] - Trying pattern: (\d{12})([S,W]?)
2021-08-30 22:24:16.284 [TRACE] [dsmr.internal.device.cosem.CosemDate] - 210830222406S matches pattern: (\d{12})([S,W]?)
2021-08-30 22:24:16.285 [TRACE] [l.device.p1telegram.P1TelegramParser] - Adding Cosem Object(type:P1_TIMESTAMP, cosemValues:{=2021-08-30T22:24:06.000+0200}) to list of Cosem Objects
2021-08-30 22:24:16.286 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:1.8.0, obisId: 1-0:1.8.0, values: (000276683*Wh)
2021-08-30 22:24:16.287 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_DELIVERY_TARIFF0
2021-08-30 22:24:16.288 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000276683*Wh)
2021-08-30 22:24:16.289 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.290 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_DELIVERY_TARIFF0, values: (000276683*Wh)
java.text.ParseException: Failed to parse value '000276683*Wh' as unit kWh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.307 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:1.8.0)
2021-08-30 22:24:16.308 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:1.8.1, obisId: 1-0:1.8.1, values: (000197551*Wh)
2021-08-30 22:24:16.309 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_DELIVERY_TARIFF1
2021-08-30 22:24:16.309 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000197551*Wh)
2021-08-30 22:24:16.310 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.311 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_DELIVERY_TARIFF1, values: (000197551*Wh)
java.text.ParseException: Failed to parse value '000197551*Wh' as unit kWh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.312 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:1.8.1)
2021-08-30 22:24:16.313 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:1.8.2, obisId: 1-0:1.8.2, values: (000079132*Wh)
2021-08-30 22:24:16.314 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_DELIVERY_TARIFF2
2021-08-30 22:24:16.314 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000079132*Wh)
2021-08-30 22:24:16.315 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.316 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_DELIVERY_TARIFF2, values: (000079132*Wh)
java.text.ParseException: Failed to parse value '000079132*Wh' as unit kWh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.317 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:1.8.2)
2021-08-30 22:24:16.318 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:1.7.0, obisId: 1-0:1.7.0, values: (000001560*W)
2021-08-30 22:24:16.319 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Found obisId 1-0:1.7.0 in the fixed lookup table
2021-08-30 22:24:16.319 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_ACTUAL_DELIVERY
2021-08-30 22:24:16.319 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000001560*W)
2021-08-30 22:24:16.320 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.321 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_ACTUAL_DELIVERY, values: (000001560*W)
java.text.ParseException: Failed to parse value '000001560*W' as unit kW
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:112) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.322 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:2.8.0, obisId: 1-0:2.8.0, values: (000004998*Wh)
2021-08-30 22:24:16.323 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_PRODUCTION_TARIFF0
2021-08-30 22:24:16.323 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000004998*Wh)
2021-08-30 22:24:16.324 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.325 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_PRODUCTION_TARIFF0, values: (000004998*Wh)
java.text.ParseException: Failed to parse value '000004998*Wh' as unit kWh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.326 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:2.8.0)
2021-08-30 22:24:16.327 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:2.8.1, obisId: 1-0:2.8.1, values: (000001350*Wh)
2021-08-30 22:24:16.328 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_PRODUCTION_TARIFF1
2021-08-30 22:24:16.328 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000001350*Wh)
2021-08-30 22:24:16.329 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.329 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_PRODUCTION_TARIFF1, values: (000001350*Wh)
java.text.ParseException: Failed to parse value '000001350*Wh' as unit kWh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.331 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:2.8.1)
2021-08-30 22:24:16.331 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:2.8.2, obisId: 1-0:2.8.2, values: (000003648*Wh)
2021-08-30 22:24:16.332 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_PRODUCTION_TARIFF2
2021-08-30 22:24:16.332 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000003648*Wh)
2021-08-30 22:24:16.332 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.333 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_PRODUCTION_TARIFF2, values: (000003648*Wh)
java.text.ParseException: Failed to parse value '000003648*Wh' as unit kWh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.335 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:2.8.2)
2021-08-30 22:24:16.335 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:2.7.0, obisId: 1-0:2.7.0, values: (000000000*W)
2021-08-30 22:24:16.336 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Found obisId 1-0:2.7.0 in the fixed lookup table
2021-08-30 22:24:16.336 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_ACTUAL_PRODUCTION
2021-08-30 22:24:16.337 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000000000*W)
2021-08-30 22:24:16.338 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.338 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_ACTUAL_PRODUCTION, values: (000000000*W)
java.text.ParseException: Failed to parse value '000000000*W' as unit kW
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:112) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.340 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:3.8.0, obisId: 1-0:3.8.0, values: (000005672*varh)
2021-08-30 22:24:16.341 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_TOTAL_IMPORTED_ENERGY_REGISTER_Q
2021-08-30 22:24:16.342 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000005672*varh)
2021-08-30 22:24:16.343 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.344 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_TOTAL_IMPORTED_ENERGY_REGISTER_Q, values: (000005672*varh)
java.text.ParseException: Failed to parse value '000005672*varh' as unit kvarh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.346 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:3.8.0)
2021-08-30 22:24:16.347 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:3.8.1, obisId: 1-0:3.8.1, values: (000001954*varh)
2021-08-30 22:24:16.348 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:3.8.1)
2021-08-30 22:24:16.349 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:3.8.2, obisId: 1-0:3.8.2, values: (000003718*varh)
2021-08-30 22:24:16.350 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:3.8.2)
2021-08-30 22:24:16.351 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:3.7.0, obisId: 1-0:3.7.0, values: (000000000*var)
2021-08-30 22:24:16.351 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Found obisId 1-0:3.7.0 in the fixed lookup table
2021-08-30 22:24:16.352 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_ACTUAL_REACTIVE_DELIVERY
2021-08-30 22:24:16.353 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000000000*var)
2021-08-30 22:24:16.356 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.357 [TRACE] [l.device.p1telegram.P1TelegramParser] - Adding Cosem Object(type:EMETER_ACTUAL_REACTIVE_DELIVERY, cosemValues:{=0}) to list of Cosem Objects
2021-08-30 22:24:16.359 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:4.8.0, obisId: 1-0:4.8.0, values: (000217237*varh)
2021-08-30 22:24:16.360 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_TOTAL_EXPORTED_ENERGY_REGISTER_Q
2021-08-30 22:24:16.361 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000217237*varh)
2021-08-30 22:24:16.363 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.365 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Failed to construct Cosem Object for type EMETER_TOTAL_EXPORTED_ENERGY_REGISTER_Q, values: (000217237*varh)
java.text.ParseException: Failed to parse value '000217237*varh' as unit kvarh
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:106) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemQuantity.getStateValue(CosemQuantity.java:1) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObject.parseCosemValues(CosemObject.java:127) ~[bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObjectInternal(CosemObjectFactory.java:169) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.cosem.CosemObjectFactory.getCosemObject(CosemObjectFactory.java:139) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.storeCurrentCosemObject(P1TelegramParser.java:382) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.setState(P1TelegramParser.java:414) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.p1telegram.P1TelegramParser.parse(P1TelegramParser.java:224) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.DSMRTelegramListener.handleData(DSMRTelegramListener.java:74) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRBaseConnector.handleDataAvailable(DSMRBaseConnector.java:116) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.handleDataAvailable(DSMRSerialConnector.java:317) [bundleFile:?]
at org.openhab.binding.dsmr.internal.device.connector.DSMRSerialConnector.serialEvent(DSMRSerialConnector.java:276) [bundleFile:?]
at org.openhab.core.io.transport.serial.rxtx.RxTxSerialPort$1.serialEvent(RxTxSerialPort.java:82) [bundleFile:?]
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:834) ~[bundleFile:5.2.1]
at gnu.io.RXTXPort.eventLoop(Native Method) [bundleFile:5.2.1]
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:108) [bundleFile:5.2.1]
2021-08-30 22:24:16.367 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:4.8.0)
2021-08-30 22:24:16.369 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:4.8.1, obisId: 1-0:4.8.1, values: (000144753*varh)
2021-08-30 22:24:16.370 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:4.8.1)
2021-08-30 22:24:16.372 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:4.8.2, obisId: 1-0:4.8.2, values: (000072484*varh)
2021-08-30 22:24:16.373 [DEBUG] [rnal.device.cosem.CosemObjectFactory] - Received unknown Cosem Object(OBIS id: 1-0:4.8.2)
2021-08-30 22:24:16.375 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Received obisIdString 1-0:4.7.0, obisId: 1-0:4.7.0, values: (000000480*var)
2021-08-30 22:24:16.376 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Found obisId 1-0:4.7.0 in the fixed lookup table
2021-08-30 22:24:16.377 [TRACE] [rnal.device.cosem.CosemObjectFactory] - Parse values for Cosem Object type: EMETER_ACTUAL_REACTIVE_PRODUCTION
2021-08-30 22:24:16.379 [TRACE] [mr.internal.device.cosem.CosemObject] - Parsing CosemValue string (000000480*var)
2021-08-30 22:24:16.380 [TRACE] [mr.internal.device.cosem.CosemObject] - Received items: 1 is supported
2021-08-30 22:24:16.381 [TRACE] [l.device.p1telegram.P1TelegramParser] - Adding Cosem Object(type:EMETER_ACTUAL_REACTIVE_PRODUCTION, cosemValues:{=480}) to list of Cosem Objects
2021-08-30 22:24:16.382 [TRACE] [l.device.p1telegram.P1TelegramParser] - telegramState OK, crcValue to check 0x7F45
2021-08-30 22:24:16.383 [TRACE] [l.device.p1telegram.P1TelegramParser] - received CRC value: 7F45, calculated CRC value: 0x7F45
2021-08-30 22:24:16.384 [TRACE] [internal.device.DSMRTelegramListener] - Received 4 Cosem Objects with state: 'OK'
2021-08-30 22:24:16.385 [TRACE] [r.internal.handler.DSMRBridgeHandler] - Telegram received time set: 1374314520754233
2021-08-30 22:24:16.386 [TRACE] [l.device.p1telegram.P1TelegramParser] - State after parsing: WAIT_FOR_START
debugging the Cosem Wildcards and stuff looks complicated for now 