Homebridge Should Become Built Into Homekit

by -24 views

HomeKit


The HomeKit integration allows you to make your Abode Assistant entities available in Apple HomeKit, so they tin be controlled from Apple’s Home app and Siri; fifty-fifty if those devices do not natively support HomeKit.

Please make sure that you have read the considerations listed below to save yous some problem afterwards. However, if yous exercise run across problems, cheque out the troubleshooting section.

If you want to command HomeKit-only devices with Home Banana, cheque out the HomeKit controller integration, which provides the possibility to pull HomeKit-enabled devices into Home Assistant.

Configuration

Adding HomeKit to your Home Banana example can be washed via the user interface, by using this My button:

HomeKit can be auto-discovered by Home Assistant. If an instance was found, it volition be shown as
“Discovered”, which yous tin select to fix it up right away.

Transmission configuration steps


Manual configuration

If you lot want brand specific changes to the style entities are published to HomeKit, override the IP address the HomeKit integration uses to communicate with your network or change the IP address the HomeKit uses to advertise itself to the network, then you will need to configure the HomeKit integration using an entry in your
configuration.yaml
file.

This is an example entry of how that would look:

            
              # Instance configuration.yaml entry configuring HomeKit
              homekit
              :
              -
              filter
              :
              include_domains
              :
              -
              alarm_control_panel
              -
              low-cal
              -
              media_player
              include_entity_globs
              :
              -
              binary_sensor.*_occupancy
              include_entities
              :
              -
              binary_sensor.living_room_motion
              entity_config
              :
              alarm_control_panel.dwelling
              :
              code
              :
              1234
              binary_sensor.living_room_motion
              :
              linked_battery_sensor
              :
              sensor.living_room_motion_battery
              low_battery_threshold
              :
              31
              calorie-free.kitchen_table
              :
              proper name
              :
              Kitchen Tabular array Light
              lock.front_door
              :
              lawmaking
              :
              1234
              media_player.living_room
              :
              feature_list
              :
              -
              feature
              :
              on_off
              -
              feature
              :
              play_pause
              -
              feature
              :
              play_stop
              -
              characteristic
              :
              toggle_mute
              switch.bedroom_outlet
              :
              type
              :
              outlet
              camera.back_porch
              :
              support_audio
              :
              Truthful
              -
              name
              :
              HASS Bridge
              
              2
              port
              :
              21065
              filter
              :
              include_domains
              :
              -
              light
            
          

Configuration Variables


homekit

map

Required

HomeKit configuration.


port

integer

(Optional
, default: 21063)

Port for the HomeKit extension. If y’all are adding more than one instance they need to have different values for port.


name

string

(Optional
)

Needs to be unique for each instance of Habitation Assistant using the integration on the same local network. Between
3
and
25
characters. Alphanumeric and spaces allowed.

Default:

Home Banana Bridge


ip_address

string

(Optional
)

The local network IP address. Only necessary if the default from Abode Banana does not piece of work.


style

cord

(Optional
, default:
span
)

HomeKit can betrayal an entity via a bridge, or a single entity as an accompaniment which is needed for Goggle box Media Players. (Accessory mode)


advertise_ip

string

(Optional
)

If you need to override the IP address used for mDNS advertisement. (For case, using network isolation in Docker and together with an mDNS forwarder like
avahi-daemon
in reflector mode)


filter

map

(Optional
)

Filters for entities to be included/excluded from HomeKit. (Configure Filter)


include_domains

list

(Optional
)

Domains to exist included.


include_entity_globs

list

(Optional
)

Include all entities matching a listed design (e.g.,
binary_sensor.*_motion).


include_entities

list

(Optional
)

Entities to be included.


exclude_domains

list

(Optional
)

Domains to be excluded.


exclude_entity_globs

list

(Optional
)

Exclude all entities matching a listed design (e.g.,
sensor.*_motion).


exclude_entities

list

(Optional
)

Entities to be excluded.


entity_config

map

(Optional
)

Configuration for specific entities. All subordinate keys are the corresponding entity ids of the domains, e.g.,
alarm_control_panel.alarm.


`ENTITY_ID`

map

(Optional
)

Additional options for specific entities.


name

cord

(Optional
)

Name of the entity to testify in HomeKit. HomeKit will cache the proper noun on the start run so the accessory must be reset for whatsoever change to take consequence.


linked_battery_sensor

string

(Optional
)

The
entity_id
of a
sensor
entity to use as the bombardment of the accessory. HomeKit will cache an accessory’due south feature assault the outset run and then a device must be reset for any change to take issue.


linked_doorbell_sensor

string

(Optional
)

The
entity_id
of a
binary_sensor
entity to use as the doorbell sensor of the camera accompaniment to enable doorbell notifications. HomeKit volition cache an accessory’s feature assault the starting time run so a device must be reset for any change to have effect.


linked_humidity_sensor

string

(Optional
)

The
entity_id
of a
sensor
entity to apply equally the humidity sensor of the humidifier/dehumidifier accompaniment. HomeKit will cache an accompaniment’s characteristic gear up on the start run and then a device must exist reset for any change to accept effect.


linked_motion_sensor

cord

(Optional
)

The
entity_id
of a
binary_sensor
entity to use equally the motion sensor of the camera accessory to enable motion notifications. HomeKit will cache an accompaniment’s characteristic fix on the starting time run so a device must be reset for any modify to take effect.


linked_obstruction_sensor

cord

(Optional
)

The
entity_id
of a
binary_sensor
entity to use as the obstruction sensor of the garage door (cover) accompaniment to enable obstruction country tracking. HomeKit volition cache an accompaniment’s feature attack the outset run so a device must be reset for whatever change to have effect.


low_battery_threshold

integer

(Optional
, default: 20)

Minimum battery level before the accessory starts reporting a low battery.


code

string

(Optional
)

Code to
arm / disarm
an warning or
lock / unlock
a lock. But applicative for
alarm_control_panel
or
lock
entities.


feature_list

list

(Optional
)

Only for
media_player
entities. List of feature dictionaries to add for a given entity. Comparable to the platform schema.


feature

string

Required

Proper name of the characteristic to add to the entity representation. Valid features are
on_off,
play_pause,
play_stop
and
toggle_mute. The media_player entity must support the feature to be valid.


type

cord

(Optional
, default:
switch
)

Only for
switch
entities. Type of accessory to be created within HomeKit. Valid types are
faucet,
outlet,
shower,
sprinkler,
switch
and
valve. HomeKit will cache the type on the first run so a device must be reset for any alter to take consequence.


stream_count

integer

(Optional
, default: three)

Only for
camera
entities. The number of simultaneous streams the camera tin back up.


stream_address

cord

(Optional
)

Only for
camera
entities. The source IP address to use when streaming to RTP clients. If your Abode Assistant host has multiple interfaces, selecting a specific IP may be necessary.

Default:

local IP from Home Assistant


stream_source

string

(Optional
)

Just for
camera
entities. A URL, file or other valid FFmpeg input cord to use as the stream source, rather than the default camera source. Required for photographic camera entities that do not natively back up streaming (MJPEG). If
-i
is not found in the stream source, it is prepended to construct the FFmpeg input.

Default:

stream source from camera entity


support_audio

boolean

(Optional
, default:
Simulated
)

Only for
camera
entities. Whether the camera supports sound. Sound is disabled unless this flag is set to
True.


max_width

integer

(Optional
, default: 1920)

Just for
camera
entities. Maximum width supported by photographic camera. Used when generating advertised video resolutions.


max_height

integer

(Optional
, default: 1080)

Only for
camera
entities. Maximum height supported by photographic camera. Used when generating advertised video resolutions.


max_fps

integer

(Optional
, default: 30)

Only for
photographic camera
entities. Maximum FPS (frames per second) supported by camera. Used when generating advertised video resolutions.


audio_map

string

(Optional
, default:
0:a:0
)

Only for
camera
entities. FFmpeg stream selection mapping for the audio-only stream. Selects the commencement sound stream in the input stream by default. If your input stream has multiple sound streams, this may need to be adjusted.


video_map

cord

(Optional
, default:
0:v:0
)

Simply for
photographic camera
entities. FFmpeg stream selection mapping for the video-only stream. Selects the starting time video stream in the input stream by default. If your input stream has multiple video streams, this may need to exist adapted.


audio_packet_size

integer

(Optional
, default: 188)

Only for
photographic camera
entities. RTP bundle size used for streaming audio to HomeKit clients.


video_packet_size

integer

(Optional
, default: 1316)

Only for
camera
entities. RTP packet size used for streaming video to HomeKit clients.


video_codec

string

(Optional
, default: libx264)

Only for
camera
entities. FFmpeg video codec for transcoding.
copy
option reduces CPU load when video source already encoded with
H264
(MPEG4).
h264_omx
choice is merely available with custom FFmpeg builds and enables GPU Hardware acceleration on Raspberry Pi.


audio_codec

string

(Optional
, default: libopus)

Only for
photographic camera
entities. FFmpeg audio codec for transcoding.
copy
option reduces CPU load when audio source already encoded with
libopus.


devices

list

(Optional
)

Include device triggers for all matching device ids. Configuration in the UI via Options is recommended instead.

Setup

To enable the HomeKit integration in Home Assistant, add together the following to your configuration file:

            
              # Example for HomeKit setup
              homekit
              :
            
          

Afterward Abode Assistant has started, the entities (depending on the filter) are exposed to HomeKit if they are supported. To add them:

  1. Open the Home Assistant frontend. A new card will display the pairing QR lawmaking and the
    pivot lawmaking
    every bit seen in the example beneath. Notation: If pivot lawmaking is not displayed, check “Notifications” (the bell icon) in the lower-left of the Dwelling Assistant UI.
  2. Open the Apple
    Home
    app.
  3. Click
    Add together Accessory, then browse the QR code or select
    Don't Accept a Code or Can't Scan?
    and choose the
    Abode Assistant Bridge.
  4. Confirm that you are adding an
    Uncertified Accessory
    by clicking on
    Add Anyhow.
  5. Enter the
    Pin
    lawmaking (skip this pace if yous scanned the QR code).
  6. Follow the setup by clicking on
    Next
    and lastly
    Washed
    in the top right-manus corner.
  7. The
    Abode Assistant Span
    and the Accessories should now be listed in the
    Home
    app.

After the setup is completed, you should be able to control your Dwelling house Assistant integrations through Apple’s Home and Siri.

Move Dwelling house Assistant install

If you would like to retain your HomeKit pairing when moving to a new Home Banana device or installation, besides copying the configuration files y’all also need to copy the
.storage/homekit.*
file within your configuration directory. Keep in mind that the folder is unremarkably subconscious by default, depending on your operating system.

Before you copy it, make sure to stop the quondam and new Dwelling Assistant instances beginning entirely, otherwise information technology won’t work.

Considerations

Accessory ID

Currently, this integration uses the
entity_id
to generate a unique
accessory id (help)
for
HomeKit. The
assist
is used to identify a device and save all configurations made for it. This, however, means that if y’all decide to modify an
entity_id
that does not take a
unique_id, all configurations for this accompaniment made in the
Dwelling house
app will exist lost.

Device Limit

The HomeKit Accessory Protocol Specification only allows a maximum of 150 unique accessories (aid) per bridge. Be mindful of this when configuring the filter(southward). If you plan on exceeding the 150 devices limit, it is possible to create multiple bridges. If you demand specific configuration for some entities via
entity_config
be certain to add together them to a bridge configured via
YAML.

Multiple HomeKit instances

If you lot create a HomeKit integration via the UI (i.e.,
Settings
->
Devices & Services), information technology must be configured via the UI
just. While the UI merely offers limited configuration options at the moment, any attempt to configure a HomeKit instance created in the UI via the
configuration.yaml
file will result in some other case of HomeKit running on a different port.

Information technology is recommended to merely edit a HomeKit instance in the UI that was created in the UI, and besides, only edit a HomeKit instance in YAML that was created in YAML.

Accompaniment mode

When exposing a Camera, Activity based remote (a
remote
that supports activities), Lock, or Boob tube media player (a
media_player
with device form
tv) to HomeKit,
manner
must be fix to
accessory, and the relevant
include
filter should be setup to only include a single entity.

To rapidly add together all accessory manner entities in the UI:

  1. Create a new span via the UI (i.e.,
    Settings >> Devices & Services).
  2. Select
    media_player,
    remote,
    lock, and
    camera
    domains.
  3. Complete the flow as normal.
  4. Additional HomeKit entries for each entity that must operate in accessory mode will be created for each entity that does not already have one.
  5. If you have already created some other HomeKit bridge for the non-accompaniment fashion entities, the new bridge can safely be removed.
  6. Pair each span or accessory.

To add together a single entity in accompaniment fashion:

  1. Create a new bridge via the UI (i.e.,
    Settings >> Devices & Services)
  2. Before pairing the bridge, access the options for the bridge.
  3. Modify the mode to
    accessory
  4. Select the entity.
  5. Complete the options menses
  6. Pair the accessory.

Configure Filter

By default, all entities except categorized entities (config, diagnostic, and system entities) are included. To limit which entities are existence exposed to
HomeKit, you tin can use the
filter
parameter. Proceed in listen only supported components can be added.

            
              # Example filter to include specified domains and exclude specified entities
              homekit
              :
              filter
              :
              include_domains
              :
              -
              alarm_control_panel
              -
              light
              include_entity_globs
              :
              -
              binary_sensor.*_occupancy
              exclude_entities
              :
              -
              light.kitchen_light
            
          

Filters are applied equally follows:

  1. No filter
    • All entities included
  2. Only includes
    • Entity listed in entities include: include
    • Otherwise, entity matches domain include: include
    • Otherwise, entity matches glob include: include
    • Otherwise: exclude
  3. Merely excludes
    • Entity listed in exclude: exclude
    • Otherwise, entity matches domain exclude: exclude
    • Otherwise, entity matches glob exclude: exclude
    • Otherwise: include
  4. Domain and/or glob includes (may besides accept excludes)
    • Entity listed in entities include: include
    • Otherwise, entity listed in entities exclude: exclude
    • Otherwise, entity matches glob include: include
    • Otherwise, entity matches glob exclude: exclude
    • Otherwise, entity matches domain include: include
    • Otherwise: exclude
  5. Domain and/or glob excludes (no domain and/or glob includes)
    • Entity listed in entities include: include
    • Otherwise, entity listed in exclude: exclude
    • Otherwise, entity matches glob exclude: exclude
    • Otherwise, entity matches domain exclude: exclude
    • Otherwise: include
  6. No Domain and/or glob includes or excludes
    • Entity listed in entities include: include
    • Otherwise: exclude

The post-obit characters tin can exist used in entity globs:

*
– The asterisk represents nix, one, or multiple characters
?
– The question mark represents a single character

Categorized entities are not included (config, diagnostic, and system entities) unless they are explicitly matched by
include_entity_globs
or
include_entities
or selected in the UI in include mode.

Docker Network Isolation

The
advertise_ip
choice tin can be used to run this integration even inside an ephemeral Docker container with network isolation enabled, e.g., not using the host network.

You may need to fix the default network interfaces Home Assistant uses, in its network configuration.

To use
advertise_ip, add the option to your
homekit
configuration:

            
              homekit
              :
              advertise_ip
              :
              "
              STATIC_IP_OF_YOUR_DOCKER_HOST"
            
          

Restart your Home Assistant example. This feature requires running an mDNS forwarder on your Docker host, e.m.,
avahi-daemon
in reflector mode.

Firewall

If you have a firewall configured on your Home Assistant system, make sure y’all open up the following ports:

  • UDP: 5353
  • TCP: 21063 (or the configured/used
    port
    in the integration settings).

Supported Components

The post-obit integrations are currently supported:

Component Type Proper name Description
alarm_control_panel SecuritySystem All security systems.
automation / input_boolean / remote / scene / script / vacuum Switch All represented as switches.
input_select / select Switch Represented every bit a power strip with buttons for each option.
binary_sensor Sensor Support for
co2,
door,
garage_door,
gas,
moisture,
motion,
occupancy,
opening,
smoke
and
window
device classes. Defaults to the
occupancy
device class for everything else.
photographic camera Photographic camera All photographic camera devices.
HomeKit Secure Video is non supported at this time.
climate Thermostat All climate devices.
comprehend GarageDoorOpener All covers that support
open
and
close
and accept
garage
or
gate
as their
device_class.
cover WindowCovering All covers that support
set_cover_position.
cover WindowCovering All covers that support
open_cover
and
close_cover
through value mapping. (open
->
>=50;
close
->
<50)
cover WindowCovering All covers that support
open_cover,
stop_cover
and
close_cover
through value mapping. (open
->
>70;
close
->
<xxx;
terminate
-> every value in betwixt)
device_tracker / person Sensor Support for
occupancy
device grade.
fan Fan Support for
on / off,
direction
and
oscillating.
fan Fan All fans that support
speed
and
speed_list
through value mapping:
speed_list
is assumed to comprise values in ascending order. The numeric ranges of HomeKit map to a respective entry of
speed_list. The first entry of
speed_list
should exist equivalent to
off
to lucifer HomeKit’south concept of fan speeds. (Example:
speed_list
= [off,
low,
loftier];
off
->
<= 33;
low
-> between
33
and
66;
high
->
> 66)
humidifier HumidifierDehumidifier Humidifier and Dehumidifier devices.
light Light Back up for
on / off,
brightness
and
rgb_color.
lock DoorLock Support for
lock / unlock.
media_player MediaPlayer Represented as a series of switches which control
on / off,
play / suspension,
play / finish, or
mute
depending on
supported_features
of entity and the
mode
list specified in
entity_config.
media_player TelevisionMediaPlayer All media players that accept
television set
as their
device_class. Represented equally Television and Remote accessories in HomeKit to control
on / off,
play / intermission,
select source, or
volume increase / subtract, depending on
supported_features
of entity. Requires iOS 12.two/macOS x.fourteen.four or afterward.
sensor TemperatureSensor All sensors that have
°C
or
°F
every bit their
unit_of_measurement
and
temperature
as their
device_class.
sensor HumiditySensor All sensors that have
%
every bit their
unit_of_measurement
and
humidity
as their
device_class.
sensor AirQualitySensor All sensors that have
pm25
equally part of their
entity_id
or
pm25
as their
device_class
sensor CarbonMonoxideSensor All sensors that have
co
as their
device_class
sensor CarbonDioxideSensor All sensors that take
co2
as function of their
entity_id
or
co2
as their
device_class
sensor LightSensor All sensors that take
lm
or
threescore
equally their
unit_of_measurement
or
illuminance
as their
device_class
switch Switch Represented as a switch by default but can exist changed by using
type
within
entity_config.
water_heater WaterHeater All
water_heater
devices.
device_automation DeviceTriggerAccessory All devices that support triggers.

Device Triggers

Devices that support triggers can be added to the bridge by accessing options for the bridge in
Settings >> Devices & Services. To use this feature, Advanced Manner must exist enabled in your user profile.

Bridged device triggers are represented as a single press button on stateless programmable switches. This allows a HomeKit automation to run when a device trigger fires. Because the Apple tree Dwelling house app currently only shows the number of the button and not the name, users may observe it easier to identify the name of the push button in the
Eve for HomeKit
app.

iOS Remote Widget

Entities exposed every bit
TelevisionMediaPlayer
are controllable inside the Apple Remote widget in Command Center. Play, break, volume up and book downwards should work out of the box depending on the
supported_features
of the entity. However, if your television tin be controlled in other ways exterior of the
media_player
entity, (e.1000., service calls to an IR blaster), it is possible to build an automation to take reward of these events.

When a key is pressed within the Control Center Remote widget, the event
homekit_tv_remote_key_pressed
will be fired. The key name volition be bachelor in the result data in the
key_name
field. Example:

            
              automation
              :
              trigger
              :
              platform
              :
              event
              event_type
              :
              homekit_tv_remote_key_pressed
              event_data
              :
              key_name
              :
              arrow_right
              # Transport the arrow right key via a broadlink IR blaster
              action
              :
              service
              :
              broadlink.send
              host
              :
              192.168.1.55
              package
              :
              XXXXXXXX
            
          

Events

The HomeKit integration emits
homekit_state_change
events. These events can be used in automations to know when an entity’southward state was changed from HomeKit.

            
              # Example for handling a HomeKit consequence
              automation
              :
              trigger
              :
              -
              platform
              :
              event
              event_type
              :
              homekit_state_change
              event_data
              :
              entity_id
              :
              comprehend.garage_door
              service
              :
              open_cover
              action
              :
              -
              service
              :
              persistent_notification.create
              data
              :
              bulletin
              :
              "
              The
              
              
              garage
              
              
              door
              
              
              got
              
              
              opened
              
              
              via
              
              
              HomeKit"
            
          

Troubleshooting

All or some devices are intermittently unresponsive

HomeKit relies heavily on your home hub to keep runway of Bluetooth devices. Additionally, each home hub has to keep runway of every HomeKit accessory that you bridge. If you have many accessories, notably cameras or Bluetooth devices,
consider disabling HomeKit on older dwelling house hubs.

The below testing was conducted with Home Banana 2021.6 (HAP-python iii.5.0) and iOS/tvOS fourteen.6

The post-obit dwelling hubs showed stiff results when testing with 400 accessories:

  • HomePod
  • HomePod Mini
  • Apple Boob tube 4k Gen 2 (all-time results when using Ethernet instead of Wi-Fi)

The following dwelling house hubs showed strong results when testing with 300 accessories:

  • Apple TV 4k Gen 1 (best results when using ethernet instead of Wi-Fi)

The following home hubs have been reported to have trouble with a large number of accessories:

  • Apple Boob tube Hard disk
  • Various iPad models

Resetting when created via YAML

  1. Delete the
    HomeKit
    integration in the
    Devices & Services
    panel.
  2. Restart
    Home Banana.
  3. The configuration will be automatically reimported from YAML.
  4. Pair the bridge or accompaniment.

Resetting when created via the Integrations console

  1. Delete the
    HomeKit
    integration in the
    Integrations
    panel.
  2. Recreate the
    HomeKit
    integration in the
    Integrations
    panel.
  3. Pair the span or accessory.

Errors during pairing

If you come across any issues during pairing, make sure to add the following to your
configuration.yaml
to endeavor and identify the upshot(s).

            
              logger
              :
              default
              :
              warning
              logs
              :
              homeassistant.components.homekit
              :
              debug
              pyhap
              :
              debug
            
          

Follow the above instructions for resetting.

Minimal Configuration

If pairing nonetheless fails later trying the steps in (Errors during pairing), it may be acquired past a specific entity. Try resetting with a minimal configuration like:

            
              homekit
              :
              filter
              :
              include_entities
              :
              -
              demo.demo
            
          

Pin doesn’t announced as persistent status

You lot might have paired the
Home Assistant Bridge
already. If not, follow the higher up instructions for resetting.

Dwelling house Banana Span doesn’t appear in the Dwelling house App (for pairing)

This is often setup and network related. Make sure to bank check the other issues beneath as well, but things that might work include:

  • Check your router configuration
  • Try with Wi-Fi
    and
    LAN
  • Change the default port

Remember that the iOS device needs to be in the same local network as the Home Assistant device for pairing.

Home Banana Bridge doesn’t appear in the Home App (for pairing) – Docker

Set
network_mode: host
in your
docker-compose.yaml. If you have further problems this issue might help.

You can also try to employ
avahi-daemon
in reflector mode together with the selection
advertise_ip, run across above.

Home Banana Bridge doesn’t appear in the Home App (for pairing) – VirtualBox

Configure the network mode as
networkbridge. Otherwise the Dwelling house Assistant Bridge won’t exist exposed to the network.

Accessory does not appear in the Dwelling house App (for pairing) – Libvirt QEMU/KVM virtual auto with macvtap adapter

Delight see the Nada-configuration networking integration for more details.

Pairing hangs – zeroconf fault

Pairing eventually fails, you might see the error message,
NonUniqueNameException, you lot likely need to enable
default_interface: truthful
in the
zeroconf
integration configuration and set a unique name such as
proper name: MyHASS42.

If you had previously paired (even unsuccessfully), y’all may need to delete your
.homekit.state
file in lodge to able to successfully pair over again. Meet Errors during pairing.

Pairing hangs – but works with debug configuration

Pairing works fine when the filter is set up to only include
demo.demo, but fails with normal configuration. See specific entity doesn’t work

Pairing hangs – no mistake

  1. Make sure that you don’t try to add together more than than 150 accessories, see device limit. In rare cases, one of your entities doesn’t work with the HomeKit component. Use the filter to find out which ane. Feel free to open a new result in the
    home-assistant
    repository, so we can resolve it.
  2. Check logs, and search for
    Starting accessory Home Assistant Bridge on address. Make sure Home Banana Bridge connected to a right interface. If it did not, explicitly set
    homekit.ip_address
    configuration variable.

Bug during normal apply

Span spontaneously unpairs

Multiple users have reported that iOS 12 and earlier devices will spontaneously remove pairings. Ensure all iOS devices that have ambassador access to the Home are running iOS thirteen or after. If you cannot update the device to iOS 13, disable
Home
in the device iCloud settings.

My entity doesn’t show up

Check if the domain of your entity is supported. If information technology is, check your filter settings. Brand sure the spelling is correct, especially if you employ
include_entities.

HomeKit doesn’t work on 2d Home Assistant instance

To utilize the HomeKit integration with multiple unlike Home Assistant instances on the aforementioned local network, you need to fix a custom name for at least one of them. config/name

Specific entity doesn’t piece of work

Although we try our best, some entities don’t piece of work with the HomeKit integration yet. The result will be that either pairing fails completely or all Domicile Banana accessories will stop working. Utilize the filter to place which entity is causing the issue. It’south best to try pairing and step by step including more entities. If it works, unpair and echo until you find the i that is causing the issues. To help others and the developers, delight open a new issue here: dwelling-assistant/issues/new

If you have any iOS 12.x devices signed into your iCloud business relationship, media player entities with
device_class: boob tube
may trigger this condition. Filtering the entity or signing the iOS 12.x device out of iCloud should resolve the event after restarting other devices.

Accessories are all listed every bit not responding

There were reports where the IGMP settings in a router were causing issues with HomeKit. This resulted in a situation where all of the Habitation Assistant HomeKit accessories stopped responding a few minutes after Home Assistant (re)started. Double bank check your router’due south IGMP settings if you experience this event. The default IGMP settings typically piece of work best.

Meet specific entity doesn’t work

Accompaniment non responding – afterward restart or update

Come across resetting accessories and Unpairing and Re-pairing.

The linked battery sensor isn’t recognized

Effort removing the entity from HomeKit then adding it again. If you lot are adding this configuration selection to an existing entity in HomeKit, any changes you make to this entity’due south configuration options won’t appear until the accompaniment is removed from HomeKit and then re-added. Run into resetting accessories.

My media player is non showing upwardly equally a tv set accessory

Media Player entities with
device_class: tv
will show up as Television accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and and so adding it again, especially if the
media_player
was previously exposed as a series of switches. Whatsoever changes, including changed supported features, made to an existing accessory won’t announced until the accessory is removed from HomeKit and then re-added. Meet resetting accessories.

The Universal Media Player has an example of how it can be used to wrap existing entities to enable them to be used as a Boob tube accompaniment in HomeKit.

Can’t command volume of your TV media thespian?

The book and play/suspension controls will show up on the Remote app or Control Heart. If your TV supports book control through Home Assistant, y’all will be able to control the volume using the side book buttons on the device while having the remote selected on screen.

Photographic camera video is not streaming

Ensure that the
ffmpeg
integration is configured correctly. Verify that your stream is direct playable with
ffplay <stream_source>
or VLC Media Player. If you have changed your camera’south entity configuration, you may demand to reset the accessory.

Photographic camera streaming is unstable or slow

If your camera supports native H.264 streams, Home Assistant can avoid converting the video stream, which is an expensive operation. To enable native H.264 streaming when configured via YAML, change the
video_codec
to
copy. To allow native H.264 streaming when setting upward HomeKit via the UI, go to
Settings
->
Devices & Services
in the UI, click
Options
for your HomeKit Bridge, and check the box for your camera on the
Cameras that support native H.264 streams
screen.

Multiple photographic camera streams

Multiple streams can be configured with the
stream_count
configuration option. If you alter the number of streams, you must reset the accessory.

Photographic camera audio is not streaming

Brand sure
support_audio
is
True
in the camera’southward entity configuration.

Photographic camera move notifications

A motility sensor can be linked via the
linked_motion_sensor
configuration setting to enable motion notifications.

Doorbell button notifications

A doorbell sensor can be linked via the
linked_doorbell_sensor
configuration setting to enable motility notifications.

HomeKit stalls or devices reply slowly with many cameras

HomeKit camera snapshots tie up the HomeKit connection during snapshots. To avert this problem, create a split up
HomeKit
instance in Accessory Mode for each camera.

Resetting accessories

Yous may use the service
homekit.reset_accessory
with 1 or more entity IDs to reset accessories whose configuration may have changed. This tin be useful when changing a media player’s device class to
boob tube, linking a bombardment, or whenever Home Assistant adds support for new HomeKit features to existing entities.

On before versions of Dwelling Banana, you can reset accessories by removing the entity from HomeKit (via filter) and and so re-calculation the accompaniment.

With either strategy, the accessory will behave every bit if it’southward the first time the accompaniment has been prepare, so you lot will need to restore the proper noun, group, room, scene, and/or automation settings.

Unpairing and Re-pairing

The HomeKit integration remembers a public key for each paired device. Occasionally the public key for a device pairing volition be missing because of pairing failures. Suppose 1 or more devices show the accessory as unavailable. In that case, information technology may be necessary to unpair and re-pair the device to ensure the integration has the public key for each paired client. The
homekit.unpair
service will forcefully remove all pairings and allow re-pairing with the accessory. When setting upward HomeKit from the UI, this avoids the sometimes time-consuming process of deleting and create a new instance.

The accessory will deport every bit if information technology’due south the start fourth dimension the accessory has been set upward, and so you volition need to restore the name, group, room, scene, and/or automation settings.

Source: https://www.home-assistant.io/integrations/homekit/