KNX - Door & Homekit

Hi.

I have an door which is connected with the door (no KNX-Modul, but binary sensors and switching actuators).

I have following states & actions (for each an address)

  • State - Door open / closed
  • State - Door unlocked / locked
  • Action: Unlock and open Door
  • Action: Lock Door

Note: Unlock and lock are different physical wires and for this also different knx-addresses.

With a cover of device-type “door” I have only the option for either open/closed or unlocked/locked and unlock or lock (which are different addresses). Also for the cover with “door” I can see the “move to a dedicate position” option, which doesn’t make sense in this case. The cover isn’t really made for this. The cover works for a garage door, because it is almost the same as a window cover. But the house entry door is different.

The big issue is, that I need different addresses to perform a lock and unlock and that there are two different states, which would be great in one entity.

I could you use a combination of cover, binary sensor and buttons - but it is not very user friendly. And there there is another problem - I want to see it in HomeKit. Binary sensors and buttons are not showing up in the HomeKit. I know that there are Window- and Door-Elements are available for HomeKit, but I was not able to set them up.

Has anyone an idea to solve this, which will work for HomeKit too?

Phoniex

Hi :wave:!
You can always configure a Template cover - Home Assistant using knx.send service and binary sensor states for non-standard applications like yours.

Hi , is there an other possibility too? I have the same problem and I want to use the new option for opening the door with the new safty button

I think your best bet is currently to use a template_lock and a template_cover to facilitate all of your requirements. The template_lock may be able to do it all in future, but not yet (more on that later).

Your template_cover’s open actions, could first use the unlock service (if the door is locked), then the open door service. The close action could be left empty: []

Then the template_lock will do the lock/unlock actions.

If your door is never in unlocked and closed state (or you don’t need to monitor it) you could get away with just doing everything in a template_cover.

I you omit the position_template and set_cover_position keys in the template_cover, you won’t have to worry about positions, it will just be open or closed.

I have an internal door which has an open/closed binary sensor, and an arm which pushes the door open (it cannot close it though). A template_cover (exposed to HomeKit) works well for this. I can post my configuration if it’s helpful.

Buttons are not exposed to HomeKit, but binary sensors are (HomeKit docs). You just need to set the device_class to one of the supported types, such as door or opening. I have many binary sensors exposed to my HomeKit instance.

Binary sensors will obviously only let you monitor the state, rather than control it. So I think the above mentioned templates would work better.

There is some changes to the lock domain that have been in the works for a while which may eventually allow you to use just one entity, but they’re not all built yet. If you’re interesting in following the progress (or feel free to skip if it’s too much detail):

  • The lock domain supports the actions (services) lock, unlock and open. It doesn’t currently support the state open but there is a Pull Request to add it.

  • The template_lock entity does not yet support the open service (or state), so that still needs to be written. There is a related feature request here.

  • After all that is implemented, the HomeKit integration needs to get updated, and I’m not sure whether the HomeKit specification supports DoorLock unlatching. You could look through the HomeKit documentation if you’re interested.

Hope it helps either you or @MarfMcScott, happy to provide more info if needed.

@Deez Thank you for your suggestions. After playing around a little bit I have noticed that the current implementation of the Lock Template fulfills my needs. The Lock entity reads the lock-state from KNX-Sensor and uses the lock and unlock with the KNX-send commands.

For others who read this thread: If you have set up the lock template and you want to bring it to HomeKit, you need to exclude the lock-entity from default bridge and then you need to add a second HomeKit-Integration with Accessory mode => scan the QR-Code under new discovered devices with the Home-App.

For the Open/Closed state I’m using a simple binary sensor.

@MarfMcScott I hope this helps you too.