Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions source/_integrations/homekit.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ homekit:
- feature: toggle_mute
switch.bedroom_outlet:
type: outlet
camera.back_porch:
support_audio: True
- name: HASS Bridge 2
port: 56332
filter:
Expand Down Expand Up @@ -171,6 +173,56 @@ homekit:
required: false
type: string
default: '`switch`'
stream_address:
description: Only for `camera` entities. The source IP address to use when streaming to RTP clients. If your Home Assistant host has multiple interfaces, selecting a specific IP may be necessary.
required: false
type: string
default: local IP from Home Assistant
stream_source:
description: Only for `camera` entities. A URL, file or other valid FFmpeg input string to use as the stream source, rather than the default camera source. Required for camera entities that do not natively support streaming (MJPEG). If `-i` is not found in the stream source, it is prepended to construct the FFmpeg input.
required: false
type: string
default: stream source from camera entity
support_audio:
description: Only for `camera` entities. Whether the camera supports audio. Audio is disabled unless this flag is set to `True`.
required: false
type: boolean
default: '`False`'
max_width:
description: Only for `camera` entities. Maximum width supported by camera. Used when generating advertised video resolutions.
required: false
type: integer
default: 1920
max_height:
description: Only for `camera` entities. Maximum height supported by camera. Used when generating advertised video resolutions.
required: false
type: integer
default: 1080
max_fps:
description: Only for `camera` entities. Maximum fps supported by camera. Used when generating advertised video resolutions.
required: false
type: integer
default: 30
audio_map:
description: Only for `camera` entities. FFmpeg [stream selection mapping](https://ffmpeg.org/ffmpeg.html#Stream-selection) for the audio-only stream. Selects the first audio stream in the input stream by default. If your input stream has multiple audio streams, this may need to be adjusted.
required: false
type: string
default: '`0:a:0`'
video_map:
description: Only for `camera` entities. FFmpeg [stream selection mapping](https://ffmpeg.org/ffmpeg.html#Stream-selection) for the video-only stream. Selects the first video stream in the input stream by default. If your input stream has multiple video streams, this may need to be adjusted.
required: false
type: string
default: '`0:v:0`'
audio_packet_size:
description: Only for `camera` entities. RTP packet size used for streaming audio to HomeKit clients.
required: false
type: integer
default: 188
video_packet_size:
description: Only for `camera` entities. RTP packet size used for streaming video to HomeKit clients.
required: false
type: integer
default: 1316
{% endconfiguration %}


Expand Down Expand Up @@ -379,6 +431,7 @@ The following integrations are currently supported:
| alarm_control_panel | SecuritySystem | All security systems. |
| automation / input_boolean / remote / scene / script / vacuum | Switch | All represented as switches. |
| 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. |
| camera | Camera | All camera devices. **HomeKit Secure Video is not supported at this time.** |
| climate | Thermostat | All climate devices. |
| cover | GarageDoorOpener | All covers that support `open` and `close` and have `garage` or `gate` as their `device_class`. |
| cover | WindowCovering | All covers that support `set_cover_position`. |
Expand Down Expand Up @@ -530,6 +583,18 @@ Media Player entities with `device_class: tv` will show up as Television accesso

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

#### Camera video is not streaming

Ensure that the [`ffmpeg`](/integrations/ffmpeg) integration is configured correctly. Verify that your stream is directly playable with `ffplay <stream_source>` or [VLC Media Player](https://www.videolan.org/). If you have changed your camera's entity configuration, you may need to [reset the accessory](#resetting-accessories).

#### Camera audio is not streaming

Make sure `support_audio` is `True` in the camera's entity configuration.

#### HomeKit stalls or devices respond slowly with many cameras

HomeKit updates each camera snapshot sequentially when there are multiple cameras on a bridge. The HomeKit update methodology can lead to the app stalling or taking a while to update. To avoid this problem, limit each `HomeKit Bridge` to 6 cameras and create a new `HomeKit Bridge` for additional cameras.

#### Resetting accessories

On Home Assistant `0.97.x` or later, you may use the service `homekit.reset_accessory` with one or more entity_ids to reset accessories whose configuration may have changed. This can be useful when changing a media_player's device class to `tv`, linking a battery, or whenever Home Assistant adds support for new HomeKit features to existing entities.
Expand Down