Homekit/iPhone Multi-user Presence Detection Using Homebridge

@Sunonline still no luck. I can see that it picked up the media_player / TV in the log.

I restarted HA, then restarted HomeBridge, then tried to add accessory using the code. Nothing worked.

Is there a cache file somewhere I need to delete

I suggest you expose the default_visbility from config.json to see if all devices can load to your homekit.
From homekit, you can remove the devices you doesn’t want. Then you can customize in HA.

That’s what I started with and it worked, I was able to see everything in HomeKit. Looks like this is my last option. Thanks again for all your help

Double check the entity_id if you put wrong entity_id it won’t show up in Homekit

What about the homebridge viability option? I use the below instead, and this one is showing

sensor.aeotec_zw100_multisensor_6_temperature:
  friendly_name: Temperature
  homebridge_visible: true

then you homebridge_visible: if you set this and it show up in homekit.
Also I never use homebridge_name: I use friendly_name: the name I want

@Sunonline it worked. I used the below, restarted HA, then restarted HomeBridge and it automatically showed up in HomeKit. The only types available for this entity in HomeKit is Switch, Light and Fan. Choosing any of them doesn’t turn on/off TV. Maybe my TV is not supported, it’s LG with WebOS 3.0

media_player.living_room_tv:
  friendly_name: Living room TV
  homebridge_visible: true

Oh!! are you using the new platform of HA ?

my customize is from the post above. I use homebridge so the setting in customize is different.

I’m on Hassio 0.59.2 there is an update available but to be honest I’m too nervous to update and break it. I had to rebuild a few times

I understand your nervousness. I recommend doing a live backup of the SD card using the instructions found below. I can vouch that it works well and allows you to just swap cards if the upgrade fails.

1 Like

@jarrah perfect! thanks for that I’ll give it a go.

Hi everyone - new here and testing the waters with Hass.io. I’ve been researching the best presence techniques and came across this thread. My understanding is that HomeKit set-up has changed in recent versions of Hass.io. I’ve successfully enabled the HomeKit: component in my set-up but I’m wondering - are the rest of the instructions still accurate or do they need to be updated to account for this new HomeKit: component? Feeling like a total noob, so apologies in advance if this is dumb. Thanks!

I haven’t moved my HomeKit configuration from Homebridge to HA yet. But I think everything should work the same. As long you can see the input_boolean in the Home app, and set up an automation to flip it on and off, then it should work exactly the same.

1 Like

Thanks - your explanation just made it “click” for me. I’ve got it up and going now!

Why do you created the HB user in /lib ?
sudo mkdir /var/lib/homebridge
and not in /home
sudo mkdir /home/homebridge

Homeassistant setup put its user in /home for example…
/home/homeassistant

A couple of corrections to these otherwise excellent instructions when not using hass.io:

  1. The JSON for config.json is invalid as # is not a comment in JSON, suggest
     {
     	"_comment": "you should edit username and pin",
     	"bridge": {
     		"name": "Home Assistant",
     		"username": "B8:27:EB:BE:E6:52",
     		"port": 51826,
     		"pin": "xxx-xx-xxx"
     	},
     	"description": "Homebridge for Home Assistant",
     	"accessories": [],
     	"platforms": [{
     		"platform": "HomeAssistant",
     		"name": "HomeAssistant",
     		"host": "http://192.168.0.5:8123",
     		"password": "myHApass",
     		"default_visibility": "visible",
     		"supported_types": [
     			"input_boolean",
     			"switch"
     		],
     		"logging": true
     	}]
     }
  1. sudo chown homebridge: homebridge /var/lib/homebridge/config.json has an erroneous space, should be homebridge:homebridge.

Could you suggest an approach for counting the number of people at home in hass via HomeKit events?

Good day all,

I am interested in moving over to the Home Assistant native setup. I would first like to undo everything I did to get things setup in HomeKit so as to not have any conflicts. It’s been so long I forgot and the github page just shows deprecated. Greatly appreciate any help.

I realize the instructions are listed above, just not sure what to undo and not undo.

Thanks

I think all you need to do is disable home bridge from starting up at boot, so try running the following commands:

sudo systemctl stop homebridge
sudo systemctl disable homebridge

I would also remove the HomeAssistant accessory from the HomeKit app so that you can add a new one once you’ve set up the integrated version of homekit.

I too am now using the integrated HomeKit native setup and it still works great with multi-user presence detection. In case it helps, these are the only yaml entries I need to make it work:

homekit:
  auto_start: False
  filter:
    include_entities:
      - input_boolean.wearehome

automation:
  - alias: 'Start HomeKit'
    trigger:
      - platform: homeassistant
        event: start
    action:
      - delay: 00:01
      - service: homekit.start

The PIN for adding this as a new accessory should appear as a card in HomeAssistant, but if not it should be in the logs.

P.S. Unfortunately I can’t edit the first post anymore to remove the old homebridge instructions

1 Like

@jarrah why do you have the automation to start the home kit ? Do I need to set autostart to false and then use an automation or was there another reason ?

The reason is because if not all entities are loaded in HA before Homekit starts they won’t be loaded in Homekit (and it will remove the settings in Homekit for those entities).

E.g. say we have an entity, named light.zwave. This light is in the kitchen in Homekit and is assigned to a specific scene or automation. Now if Homekit starts before light.zwave is loaded it will not show in Homekit. But not only that, the next time you start Homekit in HA with the entity loaded it will be like it is a new device and will set it back to the default room and all automations/scenes associated with this entity will be removed (in Homekit ofc not in HA itself).

Delaying Homekit will give HA the time to load all domains and their associated entities before Homekit starts.