The GarageDoorOpener accessory in HomeKit supports Obstruction Detected characteristic. In Home Assistant the HomeKit integration cannot report Obstruction to HomeKit thus it indicates NO all the time:
Would it be possible @bdraco, to add ‘Obstruction Detected’ feature as an extra option in YAML config like ‘linked_obstruction_sensor’? I have my own logic in a template sensor detecting obstruction during closing/opening the garage door and there or plenty of other custom DIY HomeKit Garage Door Opener solutions all around the world. It would be fabulous if we could rely on HomeKit reporting obstruction regarding the Garage Door.
Hi @bdraco, thank you for implementing the Obstruction Detected on garage doors in Homekit.
Can you please explain how it would work under the following conditions:
When Obstruction Detected will it trigger the relay to stop the garage?
If the garage door is in the fully open or closed state, and Obstruction Detected is true, will the garage door still operate via HomeKit, or will prevent a user from closing / opening the garage door (until the obstruction is cleared)?
The reason for the question is that my garage motor supports a lock mode, and I would like to use the Obstruction Detected mode to disable the opening of the garage door when it’s in a locked mode.
I intend to use the binary lock output as the obstruction detected sensor, ie. if locked, then obstruction detected.
Further to this, I see in the HAP spec that there’s optional characteristics for a lock mechanism for the garage door. Would adding a linked_lock_sensor in the YAML config prevent the garage door from triggering the open command if it’s locked?
The device will still attempt to open and close when an obstruction is detected. This is how the myq HomeKit controller behaves as well.
Do you know of a device that implements the lock characteristic?. The obstruction PR was fast because I had a reference device (myq). I don’t have one for locked.
Hi @bdraco, I don’t know of any devices. Will keep an eye out.
So, generally, how does HomeKit view an obstruction?
I would have thought that if an obstruction is detected, no open or close commands should be allowed to protect the motor/ items causing the obstruction. Only if the obstruction is cleared should the open/close commands be allowed.
I am able to disable to relay if the door is closed and the door is locked/ obstruction detected, but the problem is that if I attempt to open the garage while locked, the state of the garage changes to opening and remains in this state (even though the door is still closed).