HomeKit 集成允许您在 Apple HomeKit 中使用 Home Assistant 中的entity,也就是把Home Assistant 的entity接入Apple HomeKit App内。因此可以通过 Apple 的 家庭 App和 Siri 控制它们;就算这些设备本身并不支持 HomeKit;
手动配置 如果您想对entity发布到 HomeKit 的方式进行特定更改,覆盖HomeKit 集成用于与您的网络通信的 IP 地址或更改HomeKit 用于向网络宣传自己的 IP 地址,那么你将需要使用configuration.yaml文件中的一个条目来配置HomeKit集成。。
这是一个看起来如何的示例条目:
# Example configuration.yaml entry configuring HomeKit
homekit:
- filter:
include_domains:
- alarm_control_panel
- light
- media_player
include_entity_globs:
- binary_sensor.*_occupancy
include_entities:
- binary_sensor.living_room_motion
entity_config:
alarm_control_panel.home:
code: 1234
binary_sensor.living_room_motion:
linked_battery_sensor: sensor.living_room_motion_battery
low_battery_threshold: 31
light.kitchen_table:
name: Kitchen Table Light
lock.front_door:
code: 1234
media_player.living_room:
feature_list:
- feature: on_off
- feature: play_pause
- feature: play_stop
- feature: toggle_mute
switch.bedroom_outlet:
type: outlet
camera.back_porch:
support_audio: True
- name: HASS Bridge 2
port: 21065
filter:
include_domains:
- light
复制代码
配置变量
HomeKit 映射 必填 HomeKit配置。
port 整数 ( 可选,默认: 21063) HomeKit 扩展的端口。如果您要添加多个实例,则它们需要具有不同的端口值。
name 字符串 ( 可选) 需要在同一本地网络上使用集成的每个 Home Assistant 实例都是唯一的。之间3和25字符。允许使用字母数字和空格。
默认:Home Assistant Bridge
ip_address 字符串 ( 可选) 本地网络 IP 地址。仅当 Home Assistant 的默认设置不起作用时才需要。
mode 字符串 ( 可选,默认值 bridge) HomeKit 可以通过桥接暴露entity,或者将单个entity作为电视媒体播放器所需的附件。(
配件模式 )
advertise_ip字符串( 可选) 如果您需要覆盖用于 mDNS 通告的 IP 地址。(例如,在 Docker 中使用网络隔离并与avahi-daemon reflector模式中的 mDNS 转发器一起使用)
filter 映射(可选)
HomeKit 中包含/排除的entity的过滤器。(
配置过滤器 )
include_domains 列表( 可选) 要包含的domain。
include_entity_globs 列表( 可选)
包括与列出的模式匹配的所有entity(例如,binary_sensor.*_motion)。
include_entities 列表( 可选)
要包括的entity。
exclude_domains 列表( 可选)
要排除的domain。
exclude_entity_globs 列表( 可选)
排除与列出的模式匹配的所有entity(例如,sensor.*_motion)。
exclude_entities 列表( 可选)
要排除的entity。
entity_config 映射( 可选)
特定entity的配置。所有从属键都是domain的相应entity ID,例如alarm_control_panel.alarm.
`ENTITY_ID`映射( 可选)
特定entity的附加选项。
name 字符串( 可选)
要在 HomeKit 中显示的entity的名称。HomeKit 将在第一次运行时缓存名称,因此必须
重置 配件才能使任何更改生效。
linked_battery_sensor 字符串( 可选)
entity_id用作sensor配件电池的entity的。HomeKit 将在第一次运行时缓存配件的功能集,因此必须
重置 设备才能使任何更改生效。
linked_doorbell_sensor 字符串( 可选)
entity_id用作binary_sensor摄像头配件的门铃传感器以启用门铃通知的entity。HomeKit 将在第一次运行时缓存配件的功能集,因此必须
重置 设备才能使任何更改生效。
linked_humidity_sensor 字符串( 可选)
用作加湿器/除湿器附件的湿度传感器的entity_identity。sensorHomeKit 将在第一次运行时缓存配件的功能集,因此必须
重置 设备才能使任何更改生效。
linked_motion_sensor 字符串( 可选)
entity_id用作binary_sensor相机配件的运动传感器以启用运动通知的entity。HomeKit 将在第一次运行时缓存配件的功能集,因此必须
重置 设备才能使任何更改生效。
linked_obstruction_sensor 字符串( 可选)
entity_id用作binary_sensor车库门(盖)附件的障碍物传感器以启用障碍物状态跟踪的entity。HomeKit 将在第一次运行时缓存配件的功能集,因此必须
重置 设备才能使任何更改生效。
low_battery_threshold 整数( 可选,默认值: 20 )
配件开始报告电池电量不足之前的最低电池电量。
c ode 字符串( 可选) arm / disarm对警报或lock / unlock锁进行编码。仅适用于alarm_control_panel或lockentity。
默认:<No code>
feature_list 列表( 可选)
仅适用于 media_player entity。可以给某个给定的entity添加的功能词典列表。类似于平台模式。
feature 字符串 必需
要添加到entity表示的特征的名称。有效特征是on_off、play_pause、play_stop和toggle_mute。media_player entity必须支持该功能才有效。
type 字符串( 可选,默认值 switch :)
仅适用于开关实体(switch entity)。要在 HomeKit 中创建的配件类型。有效类型为faucet、outlet、shower、sprinkler、switch和valve。
HomeKit 将在
第一次运行时 缓存类型,因此
必须重置 设备 才能使任何更改生效。
stream_count 整数( 可选,默认值: 3 )
仅适用于相机实体(camera entity)理解成摄像头也一样。相机可以支持的同时视频流的数量。
stream_address 字符串( 可选)
仅适用于camera entity。流式传输到 RTP 客户端时使用的源 IP 地址。如果您的 Home Assistant 主机有多个接口,则可能需要选择特定的 IP。
默认:来自Home Assistant的本地 IP
stream_source 字符串( 可选)
仅适用于camera entity。用作流媒体源的 URL、文件或其他有效的 FFmpeg 输入指令;而不是默认的相机源。
对于本身不支持流式传输 (MJPEG) 的相机entity是必需的。如果在流媒体源中没有找到-i,它将被预置,以构建FFmpeg命令。
默认:来自相机entity的stream源地址
support_audio 布尔值 [size=13.3333px]boolean ( 可选 ,默认值: False )
仅适用于camera entity。相机是否支持音频。除非此标志设置为True,否则默认禁用音频。
max_width 整数( 可选,默认值: 1920)
仅适用于camera entity。相机支持的视频最大宽度,单位pixel。在生成串流视频分辨率时使用。
max_height 整数( 可选,默认值: 1080)
仅适用于cameraentity。相机支持的视频最大高度。单位pixel。在生成串流视频分辨率时使用。
max_fps 整数( 可选,默认值: 30)
仅适用于camera entity。相机支持的最大 FPS(每秒帧数)。在生成串流视频分辨率时使用。
audio_map 字符串( 可选,默认值 0:v:0 )
仅适用于camera entity。仅音频流的FFmpeg
流选择映射 。默认选择输入流中的第一个音频流。
如果您的输入流有多个音频流,则可能需要进行调 整。
video_map 字符串( 可选,默认值 0:v:0 )
仅适用于camera entity。仅视频流的FFmpeg
流选择映射 。默认选择输入流中的第一个视频流。
如果您的输入流有多个视频流,则可能需要对此进行调整。
audio_packet_size 整数( 可选,默认值: 188 )
仅适用于camera entity。用于将音频流式传输到 HomeKit 客户端的 RTP 数据包大小。
video_packet_size 整数( 可选,默认值: 1316 )
仅适用于camera entity。用于将视频流式传输到 HomeKit 客户端的 RTP 数据包大小。
video_codec 字符串( 可选,默认: libx264)
仅适用于camera entity。用于转码的 FFmpeg 视频编解码器。当视频源已使用(MPEG4)copy编码时,该选项可减少 CPU 负载。
该选项仅适用于自定义 FFmpeg 构建并在 Raspberry Pi 上启用 GPU 硬件加速。H264h264_omx
audio_codec 字符串( 可选,默认: libopus)
仅适用于camera entity。用于转码的 FFmpeg 音频编解码器。copy当音频源已经用libopus.
device 列表( 可选) 包括所有匹配deviceID 的设备触发器。建议通过选项在 UI 中进行配置。
设置
要在 Home Assistant 中启用 HomeKit 集成,请将以下内容添加到您的confirugation.yaml中:
# Example for HomeKit setup
homekit:
复制代码
Home Assistant 启动后,entity(取决于过滤器)如果
受支持 ,就会暴露给 HomeKit 。要添加它们:
打开 Home Assistant 界面。一张新卡片将显示配对二维码, pin code 如下例所示。注意:如果未显示 PIN 码,请检查 Home Assistant UI 左下角的 “ 通知 ” (铃铛图标)。 打开 Apple 家庭 App 。 单击 添加配件 ,然后扫描二维码或选择 没有代码或者无法扫描? 并选择 Home Assistant Bridge 。 未经授权的配件 单击确认添加 继续添加 。 输入 PIN 代码(如果您扫描了二维码,请跳过此步骤)。 单击右上角的 继续 和 最后按设置进行操作 完成 。 Home Assistant Bridge 附件现在应该在 家庭 App 中列出。
设置完成后,您应该能够通过Apple 的 Home 和Siri 控制 Home Assistant 集成。
移动 Home Assistant 安装 如果您想在移动到新的Home Assistant 设备或安装时保留HomeKit 配对,除了复制配置文件之外,您还需要复制.storage/homekit.*配置目录中的文件。请记住,该文件夹通常默认隐藏,具体取决于您的操作系统。
在复制它之前,请确保首先完全停止旧的和新的Home Assistant 实例,否则它将无法工作。
注意事项
配件编号
目前,此集成使用entity_id来生成唯一accessory id (aid)的HomeKit. aid用于识别设备并保存为其所做的所有配置。但是,这意味着如果您决定更改entity_id没有 的unique_id,则在应用程序中为此配件所做的所有配置Home都将丢失。
设备限制
HomeKit 附件协议规范仅允许aid每个桥最多 150 个独特的附件( )。配置过滤器时请注意这一点。如果您计划超过150 个设备的限制,则可以创建多个网桥。如果您需要某些entity的特定配置,请entity_config确保将它们添加到通过配置的网桥中YAML。
多个 HomeKit 实例
如果您通过 UI 创建 HomeKit 集成(即Settings -> Devices& Services ),则必须仅 通过 UI 进行配置。虽然 UI 目前仅提供有限的配置选项,但任何通过文件配置在 UI 中创建的 HomeKit 实例的尝试configuration.yaml都将导致另一个 HomeKit 实例在不同的端口上运行。
建议仅编辑在UI 中创建的 UI 中的HomeKit 实例,同样,仅在 YAML 中编辑在YAML 中创建的 HomeKit 实例。
配件模式
当向 HomeKit 公开相机、基于 Activity 的遥控器(remote支持 Activity)、Lock 或电视媒体播放器(media_player具有设备类tv)时,mode必须设置为accessory,并且相关include过滤器应设置为仅包含单个entity。
在 UI 中快速添加所有附件模式entity:
通过 UI 创建一个新 bridge (在你的 ha 的设置 -> 设备及服务 )。 选择 media_player 、 remote 、 lock 和camera类 。 正常完成流程。 将为必须在附件模式下运行的每个 entity 创建额外的 HomeKit 条目,这些条目将为每个还没有的 entity 创建。 如果您已经为非附件模式 entity 创建了另一个 HomeKit 桥,则可以安全地删除新桥。 配对对应的bridge或配件 。
要在附件模式下添加单个entity:
配置 filter
默认情况下,除了分类entity(配置、诊断和系统entity)之外的所有entity都包括在内。要限制哪些entity暴露给HomeKit,您可以使用该filter参数。请记住,只能添加
受支持的组件 。
# 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
复制代码
filter效果如下:
1.啥也不写
包括所有 entity
2.只写了 includes entity 中列出的 entity 包括:包括
entity 匹配 domain 包括:包括
entity 匹配 glob 包括:包括
否则:排除 exclude 中列出的 entity :排除
entity 匹配 domain 排除:排除
entity 匹配 glob 排除 : 排除
否则:包括
4.写了 Domain 和 / 或 glob 包含(可能也有排除)
entity 中列出的 entity 包括:包括
entity 中列出的 entity 排除:排除
entity 匹配 glob 包括:包括
entity 匹配 glob 排除 : 排除
entity 匹配 domain 包括:包括
否则:排除
5.写了domain 和 / 或 glob 排除(不包括 domain 和 / 或 glob )
entity 中列出的 entity 包括:包括
exclude 中列出的 entity :排除
entity 匹配 glob exclude: 排除
entity 匹配 domain 排除:排除
否则:包括
6.没有 domain 和 / 或全局包含或排除
entity 中列出的 entity 包括:包括
否则:排除
以下字符可用于entityglob:
*- 星号代表零个、一个或多个字符
?- 问号代表单个字符
不包括分类entity(配置、诊断和系统entity),除非它们在包含模式下被UI 显式匹配include_entity_globs或include_entities选择。
Docker 网络隔离
即使在启用了网络隔离(例如,不使用主机网络)的临时 Docker 容器内,该advertise_ip选项也可用于运行此集成。
您可能需要在其
网络配置 中设置Home Assistant 使用的默认网络接口。
要使用advertise_ip,请将选项添加到您的homekit配置中:
homekit:
advertise_ip: "你的docker宿主机的静态IP地址"
复制代码
重新启动您的HomeAssistant实例。此功能需要在您的Docker 主机上运行 mDNS 转发器,例如,avahi-daemon在reflector模式下。
防火墙
如果您在 Home Assistant 系统上配置了防火墙,请确保打开以下端口:
UDP : 5353 TCP : 21063 (或 port 在集成设置中配置 / 使用)。
支持的组件 当前支持以下集成:
零件
类型名称
描述
alarm_control_panel
安全系统
所有安全系统。
automation / input_boolean / remote / scene / script / vacuum
开关
全部表示为开关。
input_select / select
开关
表示为带有每个选项按钮的电源板。
binary_sensor
传感器
支持 co2 , door , garage_door , gas , moisture , motion , occupancy , opening 和 smoke 设备类。其他一切都默认为 occupancy 设备类。
camera
相机/摄像头
所有摄像头设备。目前不支持 HomeKit 安全视频。
climate
恒温器
所有“天气 ”设备。
cover
车库开门器
支持 所有 open 和 close, 和有 garage 或者 gate 作为他们的 device_class .
cover
窗帘
支持的所有窗帘的 set_cover_position
cover
窗帘
所有通过数值映射支持 open_cover 和 close_cover 的窗帘开合百分比。(open -> >=50; close -> <50)
cover
窗帘
所有支持 open_cover , stop_cover 和 close_cover 通过值映射的内容。 ( open -> >70 ; close -> <30 ; stop -> 之间的每个值 )
device_tracker / person
设备追踪器
支持 occupancy 设备类。
fan
风扇
支持 on / off , direction,oscillating。
fan
风扇
支持 speed 并 speed_list 通过值映射的所有风扇: speed_list 假定包含按升序排列的值。 为了 匹配 HomeKit 的风扇速度概念, HomeKit 的数值范围映射到 speed_list 的第一个条目 speed_list 应该= off (例如: speed_list = [ off , low , high ]; off -> <= 33 ; low -> 33 和 66 ; high - > 之间 > 66 )
humidifier
加湿器/除湿机
加湿器和除湿器设备。
light
灯/光源
支持 on / off , brightness 和 rgb_color
lock
门锁
支持 lock / unlock .
media_player
媒体播放器
表示为一系列开关,它们控制 on / off 、 play / pause 、 play / stop 或 mute 取决于列在 entity_config中的 supported_features 实体和 mode参数 。
media_player
电视媒体播放器
所有 device_class是 tv的媒体播放器。 在 HomeKit 中表示为电视和遥控器配件,取决于entity的 supported_features, 可以 控制 实体 on / off 、 play / pause 、 select source或 [size=12.6667px]volume increase / decrease
需要 iOS 12.2/macOS 10.14.4 或更高版本。
sensor
温度 传感器
所有用 °C 或 °F 表示 unit_of_measurement 或者 temperature 的传感器类别 device_class 。
sensor
湿度传感器
所有传感器都具有 百分比 “ %”作为他们的 unit_of_measurement 和 humidity 的传感器类别 device_class .
sensor
空气质量传感器
所有用 pm25作为 entity_id和 device_class的传感器。
sensor
一氧化碳传感器
所有用 co 作为 device_class 的传感器。
sensor
二氧化碳传感器
所有用 co2 作为 entity_id 和 device_class 的传感器。 sensor
光传感器
所有用 lm([size=12.6667px]流明 )或 lx(lux光度值)作为 unit_of_measurement和 device_class 的传感器。
Switch
开关
默认情况下表示为开关。但可以使用 type 在 entity_config中更改 。
water_heater
热水器
所有 water_heater 设备。
device_automation
设备自动化配件
所有支持设备自动化的设备。
设备触发器 桥接设备触发器表示为无状态可编程开关上的单个按钮。这允许 HomeKit 自动化在设备触发器触发时运行。由于Apple Home 应用程序目前只显示按钮的编号而不显示名称,因此用户可能会发现在应用程序Eve for HomeKit中识别按钮的名称更容易。
iOS 内置电视遥控器小组件(可以在快捷访问列表中添加) TelevisionMediaPlayer显示为可在控制中心的 iOS 内置电视遥控器 小部件中控制的实体。supported_features 根据实体的不同,播放、暂停、音量增大和音量减小应该是开箱即用的。但是,如果您的电视可以通过media_player实体之外的其他方式进行控制(例如,对 IR 发射器的服务调用),则可以创建自动化来利用这些事件。
当在控制中心远程小部件中按下一个键时,homekit_tv_remote_key_pressed将触发该事件。密钥名称将在key_name字段中的事件数据中可用。
例子:
automation:
trigger:
platform: event
event_type: homekit_tv_remote_key_pressed
event_data:
key_name: arrow_right
# 通过boardlink红外发射器发送“右箭头”指令
action:
service: broadlink.send
host: 192.168.1.55
packet: XXXXXXXX
复制代码
活动/事件
HomeKit 集成发出 homekit_state_change 事件。这些事件可以在自动化中使用,以了解何时从 HomeKit 更改实体的状态。
# 处理HomeKit事件的例子
automation:
trigger:
- platform: event
event_type: homekit_state_change
event_data:
entity_id: cover.garage_door
service: open_cover
action:
- service: persistent_notification.create
data:
message: "车库门已通过HomeKit开启"
复制代码
故障排除
所有或部分设备间歇性无响应 HomeKit 严重依赖 您的家庭Hub来跟踪蓝牙设备。此外,每个家庭集线器都必须跟踪您桥接的每个 HomeKit 配件。如果您有许多配件,尤其是相机或蓝牙设备,请考虑在较旧的家庭Hub上禁用 HomeKit 。
以下测试是使用 Home Assistant 2021.6 (HAP-python 3.5.0) 和 iOS/tvOS 14.6 进行的
在使用 400 种配件进行测试时,以下家用集线器显示出强劲的结果:
HomePod HomePod Mini Apple TV 4k Gen 2 (使用以太网而不是 Wi-Fi 时的最佳效果)
在使用 300 种配件进行测试时,以下家用集线器显示出强劲的结果:
Apple TV 4k Gen 1 (使用以太网而不是 Wi-Fi 时效果最佳)
据报道,以下家庭集线器在大量配件方面存在问题:
Apple TV HD (狗都不买) 各种 iPad 型号
通过 YAML 创建时重置
删除 设备和服务 面板 HomeKit 中的集成。 重新启动 Home Assistant 。 配置将自动从 YAML 重新导入。 配对桥接器或配件 。
通过集成面板创建时重置
HomeKit 在集成 面板中删除集成。 HomeKit 在集成 面板中重新创建集成。 配对桥接器或配件 。
配对时出错
如果您在配对过程中遇到任何问题,请确保将以下内容添加到您的列表configuration.yaml中以尝试确定问题。
logger:
default: warning
logs:
homeassistant.components.homekit: debug
pyhap: debug
复制代码
按照上述说明进行重置。
用排除法简化配置
homekit:
filter:
include_entities:
- demo.demo
复制代码
PIN 未显示为持久状态
您可能已经配对了Home Assistant Bridge。如果没有,请按照上述说明进行重置。
Home Assistant Bridge 未出现在 Home App 中(用于配对)
这通常与设置和网络相关。请务必检查以下其他问题,但可能有效的事情包括:
检查您的路由器配置 尝试使用 Wi-Fi 和 LAN 更改默认 端口
请记住,iOS 设备需要与 Home Assistant 设备位于同一本地网络中才能进行配对。
Home Assistant bridge 没有出现在家庭 App 中(用于配对) - Docker
设置network_mode: host在您的docker-compose.yaml. 如果您还有其他问题,此
问题 可能会有所帮助。
您也可以尝试avahi-daemon在reflector模式下与选项一起使用advertise_ip,见上文。
HomeAssistant 桥没有出现在家庭 App 中(用于配对 - VirtualBox
将网络模式配置为networkbridge。否则 Home Assistant Bridge 将不会暴露在网络中。
配件没有出现在 Home App 中(用于配对) - Libvirt QEMU/KVM 虚拟机与 macvtap 适配器
配对挂起 - zeroconf 错误
配对失败之后,您可能会看到错误消息,NonUniqueNameException您可能需要default_interface: true在zeroconf集成配置中启用并设置唯一名称,例如name: MyHASS42.
如果您之前已配对(甚至不成功),您可能需要删除您的.homekit.state文件才能再次成功配对。请参阅
配对期间的错误 。
配对挂起 - 仅适用于调试配置
当过滤器设置为仅包含时配对工作正常demo.demo,但正常配置失败。查看
特定实体不起作用
配对挂起 - 没有报告错误
确保不要尝试添加超过 150 个附件,请参阅 设备限制 。在极少数情况下,您的实体之一不能与 HomeKit 组件一起使用。使用 过滤器 找出哪一个。随意在 home-assistant 存储库中打开一个新问题,以便我们解决它。 检查日志,然后搜索 Starting accessory Home Assistant Bridge on address . 确保 Home Assistant Bridge 连接到正确的接口。如果没有,请显式设置 homekit.ip_address 配置变量。
正常使用中的问题
桥接自发解除配对
多个用户报告说,iOS12 及更早版本的设备会自发删除配对。确保对 Home 具有管理员访问权限的所有 iOS 设备都运行 iOS 13 或更高版本。如果您无法将设备更新到 iOS 13,Home请在设备 iCloud 设置中禁用。
我的实体没有出现
检查您的实体的域是否
受支持 。如果是,请检查您的
过滤器 设置。确保拼写正确,尤其是使用include_entities.
HomeKit 不适用于第二个 Home Assistant 实例
要将 HomeKit 与同一本地网络上的多个不同 Home Assistant 实例集成,您需要为其中至少一个设置自定义名称。
配置/名称
特定实体不起作用
尽管我们尽了最大努力,但有些实体还不能与HomeKit 集成一起使用。结果将是配对完全失败或所有Home Assistant 配件将停止工作。使用过滤器来识别导致问题的实体。最好尝试配对并逐步包括更多实体。如果它有效,请取消配对并重复,直到找到导致问题的那个。为了帮助其他人和开发者,请在这里打开一个新问题:
home-assistant/issues/new 如果您有任何iOS 12.x 设备登录到您的iCloud 帐户,则媒体播放器实体device_class: tv可能会触发此情况。过滤实体或从 iCloud 中签署 iOS 12.x 设备应该可以在重新启动其他设备后解决问题。
配件都列为无响应
有报告称路由器中的IGMP 设置会导致 HomeKit 出现问题。这导致所有 Home Assistant HomeKit 配件在Home Assistant(重新)启动几分钟后停止响应的情况。如果您遇到此问题,请仔细检查路由器的 IGMP 设置。默认 IGMP 设置通常效果最好。
配件无响应 - 重新启动或更新后
无法识别链接的电池传感器
尝试从 HomeKit 中删除实体,然后再次添加。如果您将此配置选项添加到 HomeKit 中的现有实体,则您对此实体的配置选项所做的任何更改都不会出现,直到从 HomeKit 中移除配件然后重新添加。请参阅
重置附件 。
我的媒体播放器没有显示为电视配件
媒体播放器实体device_class: tv将在运行 iOS 12.2/macOS 10.14.4 或更高版本的设备上显示为电视配件。如果需要,请尝试从 HomeKit 中删除该实体,然后再次添加它,尤其是在media_player之前作为一系列开关公开的情况下。对现有配件所做的任何更改(包括更改的受支持功能)都不会出现,直到该配件从 HomeKit 中移除然后重新添加。请参阅
重置附件 。
通用媒体播放器 有一个示例,说明如何使用它来包装现有实体,使它们能够用作 HomeKit 中的电视附件。
无法控制电视媒体播放器的音量?
音量和播放/暂停控件将显示在远程应用程序或控制中心上。如果您的电视支持通过 Home Assistant 进行音量控制,您将能够使用设备上的侧面音量按钮控制音量,同时在屏幕上选择遥控器。
相机视频未流式传输
相机流不稳定或缓慢
如果您的相机支持原生H.264 流,家庭助理可以避免转换视频流,这是一项昂贵的操作。要在通过YAML 配置时启用本机 H.264 流,video_codec请将copy. 要在通过 UI 设置HomeKit 时允许本地 H.264 流,请转到 UI 中的设置 ->设备和服务 ,单击HomeKit Bridge 的选项 Cameras that support native H.264 streams,然后选中屏幕上的相机复选框。
多个摄像头流
可以使用stream_count配置选项配置多个流。如果更改流的数量,则必须
重置附件 。
相机音频未流式传输
确保support_audio在True相机的实体配置中。
相机动作通知
可以通过linked_motion_sensor配置设置链接运动传感器以启用运动通知。
门铃按钮通知
可以通过linked_doorbell_sensor配置设置链接门铃传感器以启用运动通知。
有许多摄像头的情况下 ,HomeKit 卡顿或设备响应缓慢
HomeKit 相机快照在快照期间会占用 HomeKit 连接。为避免此问题,请在
附件模式下 为每个相机创建一个单独的HomeKit实例。
重置配件
您可以使用homekit.reset_accessory具有一个或多个实体 ID 的服务来重置配置可能已更改的配件。这在将媒体播放器的设备类更改为tv、连接电池或 Home Assistant 向现有实体添加对新HomeKit 功能的支持时非常有用。
在较早版本的Home Assistant 中,您可以通过从HomeKit 中删除实体(通过
filter )然后重新添加配件来重置配件。
无论使用哪种策略,配件都会像第一次设置配件一样运行,因此您需要恢复名称、组、房间、场景和/或自动化设置。
取消配对和重新配对
HomeKit 集成会记住每个配对设备的公钥。有时,由于配对失败,设备配对的公钥会丢失。假设一个或多个设备将附件显示为不可用。在这种情况下,可能需要取消配对并重新配对设备,以确保集成具有每个配对客户端的公钥。该homekit.unpair服务将强制删除所有配对并允许与配件重新配对。从 UI 设置 HomeKit 时,这避免了有时耗时的删除和创建新实例的过程。
配件的行为就像是第一次设置配件一样,因此您需要恢复名称、组、房间、场景和/或自动化设置。
END