Understanding KNX date, time, datetime platform usage

Hello,

I’m trying to figure out, how the Home Assistant’s KNX date, time and datetime platform have to be used.

(www.home-assistant.io/integrations/knx/#date
www.home-assistant.io/integrations/knx/#time)

In my knx configuration yaml I set it up as follows:

date:
  - name: "Datum"
    address: "0/4/0"
    state_address: "1/0/2"
    respond_to_read: true
time:
  - name: "Uhrzeit"
    address: "0/4/1"
    state_address: "1/0/1"
    respond_to_read: true

The used state_addresses are taken from MDT IP Interface, which updates them every 30 minutes.
The addresses (0/4/0, 0/4/1) have been created in ETS with correct DTP for date (11.001) and time (10.001)

The problem is, that I don’t get the latest date & time in Home Assistant nor in ETS group monitor.

I also tried without a state_address:

time:
  - name: "Uhrzeit ohne state_address"
    address: "0/4/2"
    respond_to_read: true

Here I would expect, that on address 0/4/2, HA sends the time to the KNX bus as documented in the the documentation (link above).

Do I misunderstand something? How has the date and time platform to be used, that HA sends time and date to the KNX bus?

Hi :wave:!
If you want to send the current localities to the bus, you can use expose. But your IP interface should already take care of that, so why would you want 2 devices doing that?

The date / time entities are meant to be used for arbitrary time values - like to set a schedule on a Knx device or something like that.

That said, HA should react to read requests of your created entities. Not with the current time, but the last value it received, or if you have set a new one (eg. from UI) with that. Not sure why this is not working on your system - did you reload the config?

Yes, I also set up expose and this works fine. I also reloaded the config after any yaml change.

But to me it was unclear, what’s the difference between expose and the date/time platform or what different purpose they serve.

And yes, I can use the date and time communication objects of the MDT IP Interface directly, which also is my preferred approach.
I just wanted to play and try out the different options (mainly because the MDT IP objects are set as secure, but when I assign them to the MDT cover actor, the secure flag is removed).

So the main focus of the question is, if I misunderstood the config.

According to your feedback, I did set a value from HA UI directly and then it worked with date/time platform, this means then I received the value in ETS group monitor.

So I understand it in that way, that I (or HA with an additional automation or something) would have to set a value explicitly to sent it to the bus?
Asking again, because I thought with the state_address HA would read the value from the bus.

The cover actuator, same as most MDT devices (except whitelabeled devices like their IP interfaces), probably doesn’t support DataSecure. You can’t mix secure and non-secure in a single GA - so if one associated device doesn’t support DS, the GA will fall back to non-secure.

Yes, you could create an automation to send some time to the bus with this entities.
Again, these entities are not for localtime, but for calendar events or such - so even if you receive the current time on such an entity, it will not advance the clock. If you read it, it will send the same time as it recived whenever ago.

Yes it should. Is there no read-request sent? Is the state-GA you configured using DataSecure?

1 Like

Thank you very much for the explanation, it’s clear to me now.

There is a read request sent (visible in both HA KNX monitor and in ETS group monitor), but no response (write).
Yes, the state-GA is using DataSecure. Is this the problem?

You’d need to

  • coerce HA to use a specific tunnel endpoint (eg. use IP Secure)
  • assign the GA to the tunnel endpoint HA is using
  • program all associated devices from ETS
  • export the Keyfile and import it in HA

Then it shouldn’t be a problem. Otherwise the actuator ignores the Read request as, from its pov, HA sends from a non-authorized IA.

2 Likes

Thanks again! :slightly_smiling_face: :+1:
I’ll check, because I thought I set it up like that (all MDT IP Interface setup and GAs are secure, tunneling too and works with HA).

(I’ll mark your previous answer as solution, as this is the explanation to my main question)

MDT has had a problem in their application so it produced wrong keyfiles. I don’t know if this is fixed by now (and maybe it only affected routers, not sure about interfaces). So maybe inspect the keyfile contents to see if addresses are ok.
Maybe look if there is a firmware update or a new ETS application.

1 Like