KNX2 - Could not parse <time> to a valid date

Hi,
I have a counter for my water consumption installed. Once I reset the counter, I get the date and time when the reset was done sent on the bus using 2 GA. One has GA 4/3/10 with DPT: 10.001 and holds the time. The other GA is 4/3/9 with DPT: 11.001 and contains the date. See KNX log for example:

Now I defined the things in OpenHAB as follows:

Thing device IMPZ1 "Impulzzaehler" @ "KNX" // [ address="1.1.17", fetch=false, pingInterval=300, readInterval=3600 ] 
{
    ... some items before
    Type datetime : Wasserzaehler_Reset_Zeit         "Reset Verbrauchszähler Zeit [%1$tT]"               [ga="10.001:4/3/10"]
    Type datetime : Wasserzaehler_Reset_Datum        "Reset Verbrauchszähler Datum [%1$td.%1$tm.%1$tY]"  [ga="11.001:4/3/9"]
}

My items file contains both as separate items as well as a combined item:

DateTime Wasserzaehler_Reset_Zeit           "Reset Verbrauchszähler Zeit [%1$tT]"                     {channel="knx:device:GIRA2168:IMPZ1:Wasserzaehler_Reset_Zeit"}
DateTime Wasserzaehler_Reset_Datum          "Reset Verbrauchszähler Datum [%1$td.%1$tm.%1$tY]"        {channel="knx:device:GIRA2168:IMPZ1:Wasserzaehler_Reset_Datum"}
DateTime Wasserzaehler_Reset_DateTime                                                                 {channel="knx:device:GIRA2168:IMPZ1:Wasserzaehler_Reset_Datum,knx:device:GIRA2168:IMPZ1:Wasserzaehler_Reset_Zeit" }

Once the date and time objects are send to the bus, I can’t get the time (date is working fine). In the OpenHAB log I can see the following:

2018-09-03 19:34:23.350 [WARN ] [g.knx.internal.dpt.KNXCoreTypeMapper] - Could not parse '19:27:16' to a valid date
2018-09-03 19:34:23.351 [WARN ] [.internal.handler.DeviceThingHandler] - Ignoring KNX bus data: couldn't transform to any Type (destination='4/3/10', datapoint='command DP 4/3/10 'knx:device:GIRA2168:IMPZ1', DPT id 10.001, low priority', data='0x131B10')

I’m currently using OpenHAB 2.4-snapshot running on Docker.

Does anyone have an idea how to get the time saved into my thing/item?

Regards
Michel

A valid DateTime needs to be both date and the time. You cannot split the two. Since you are getting the date and the time as two separate pieces of data from two different channels you cannot put them into a DateTime Item. You would need to receive the data as one message in ISO 8106 format.

So what you will need to do is receive the data in String Items and then if desired/necessary, parse the data to create a DateTimeType.

I just tried to get the data as a String datatype. But also this times the KNX addon is not working and telling:

2018-09-05 07:27:26.139 [INFO ] [g.knx.internal.dpt.KNXCoreTypeMapper] - Translator couldn't parse data for datapoint type '16.001' (KNXIllegalArgumentException).
2018-09-05 07:27:26.140 [WARN ] [.internal.handler.DeviceThingHandler] - Ignoring KNX bus data: couldn't transform to any Type (destination='4/3/10', datapoint='command DP 4/3/10 'knx:device:GIRA2168:IMPZ1', DPT id 16.001, low priority', data='0x131B10')

Maybe someone has done such kind of workaround already?

@Udo, IIRC you help out with KNX on the forum a lot. Any ideas?

You shouldn’t change anything in knx, you should only change the item type:

String Wasserzaehler_Reset_Zeit "Reset Verbrauchszähler Zeit [%s]" {channel="knx:device:GIRA2168:IMPZ1:Wasserzaehler_Reset_Zeit"}
String Wasserzaehler_Reset_Datum "Reset Verbrauchszähler Datum [%s]" {channel="knx:device:GIRA2168:IMPZ1:Wasserzaehler_Reset_Datum"}
DateTime Wasserzaehler_Reset_DateTime "Reset Verbrauchszähler [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" // This is set by rule

Now, to get, how the rule should set the items, we have to take a look at the states of
Wasserzaehler_Reset_Zeit and Wasserzaehler_Reset_Datum.

Sorry, I don’t have a GA with DPT 10.001 and DTP 11.001 other than current Date/Time and this one is set from openHAB, so I don’t know how the received message will look like in a string item.