codetwice / homebridge-http-securitysystem

Homebridge plugin that creates a SecuritySystem device which uses configurable HTTP calls to set and get its state.
BSD 2-Clause "Simplified" License
29 stars 17 forks source link

Homekit/Homebridge Security Device behavior question #28

Open helo-head opened 5 years ago

helo-head commented 5 years ago

I recently updated from homebridge-http-switch to control my BlueIris video security system to your solution. Thus far I am very happy with the overall result. I did however see one change in behavior that is in my mind a Apple homekit limitation but thought you might know Apples logic before I start delving into the homekit api's.

From homekit you can trigger a simple light or switch via location services without any special privileges or settings. This is how I was turning arming/disarming my system before moving to your solution. However when it comes to security devices, Apple requires you to enable "Home Control" under "Settings/Face ID & Passcode/Allow access when locked”.

From a paranoid persons perspective this is not something I'm willing to do. As such I'm using both your solution and homekit-http-switch to provide the level of control I want. Its a shame as I would prefer to cover all my needs with one plugin but it appears that is not currently possible.

codetwice commented 5 years ago

Ah I see, interesting find. I experimented with this location service solution a few years ago but it was eating my phone's battery so heavily that I stopped doing it before before I ran into such problems (back then I was also using homebridge-http which was just giving me a button and not a security system).

I suppose there is not much you could do about this. This limitation seems to be implemented inside iOS so nothing I did in my plugin could possibly change that. All I can think of is the same thing you did, create 2 different accessories for controlling your home, one being a security system which does the complete thing, and the other one being just a simple switch which turns it on or off. The 2 could be using the very same webhook for triggering / reading the state.