Home Assistant集成
与Home Assistant集成的最佳方式是使用官方集成。
安装
准备工作
Frigate集成需要先安装并手动配置mqtt
集成。
更多详细信息请参见MQTT集成文档。
此外,必须在Frigate配置文件中启用MQTT,并且Frigate必须连接到与Home Assistant相同的MQTT服务器,这样集成创建的许多实体才能正常工作。
集成安装
可通过HACS作为默认仓库获取。安装步骤:
- 使用HACS安装集成:
Home Assistant > HACS > 点击搜索栏并输入"Frigate" > Frigate
- 重启Home Assistant。
- 然后添加/配置集成:
Home Assistant > 设置 > 设备和服务 > 添加集成 > Frigate
注意:你还需要在Home Assistant配置中启用media_source才能显示媒体浏览器。
(可选)Lovelace卡片安装
要安装可选的配套Lovelace卡片,请参见该卡片的单独安装说明。
配置
配置集成时,你需要提供Frigate实例的URL
,可以指向内部未认证端口(5000
)或认证端口(8971
)。URL可能看起来像http://<host>:5000/
。
Docker Compose示例
如果你在同一设备上使用Docker Compose运行Home Assistant和Frigate,这里有一些示例。
Home Assistant使用主机网络运行
不建议在主机网络模式下运行Frigate。在此示例中,配置集成时应使用http://172.17.0.1:5000
或http://172.17.0.1:8971
。
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
network_mode: host
...
frigate:
image: ghcr.io/blakeblackshear/frigate:stable
...
ports:
- "172.17.0.1:5000:5000"
...
Home Assistant不使用主机网络运行或在单独的compose文件中
在此示例中,建议连接到认证端口,例如配置集成时使用http://frigate:8971
。无需为Frigate容器映射端口。
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
# network_mode: host
...
frigate:
image: ghcr.io/blakeblackshear/frigate:stable
...
ports:
# - "172.17.0.1:5000:5000"
...
Home Assistant插件
如果你使用Home Assistant插件,URL应该是以下之一,具体取决于你使用的插件变体。注意,如果你使用代理插件,不应将集成指向代理URL。只需输入从网络直接访问Frigate时使用的相同URL。
插件变体 | URL |
---|---|
Frigate | http://ccab4aaf-frigate:5000 |
Frigate (完全访问) | http://ccab4aaf-frigate-fa:5000 |
Frigate Beta | http://ccab4aaf-frigate-beta:5000 |
Frigate Beta (完全访问) | http://ccab4aaf-frigate-fa-beta:5000 |
Frigate在单独的机器上运行
如果你在本地网络内的单独设备上运行Frigate,Home Assistant将需要访问端口8971。
本地网络
使用http://<frigate_device_ip>:8971
作为集成的URL,以便需要认证。
services:
frigate:
image: ghcr.io/blakeblackshear/frigate:stable
...
ports:
- "8971:8971"
...
Tailscale或其他私有网络
使用http://<frigate_device_tailscale_ip>:5000
作为集成的URL。
services:
frigate:
image: ghcr.io/blakeblackshear/frigate:stable
...
ports:
- "<tailscale_ip>:5000:5000"
...
选项
Home Assistant > 配置 > 集成 > Frigate > 选项
选项 | 描述 |
---|---|
RTSP URL模板 | 用于覆盖标准RTSP流URL的jinja2模板(例如,用于反向代理)。此选项仅对启用了高级模式的用户显示。参见下方的RTSP流。 |
提供的实体
平台 | 描述 |
---|---|
camera | 实时摄像头流(需要RTSP) |
image | 每个摄像头最新检测对象的图像 |
sensor | 用于监控Frigate性能的状态,所有区域和摄像头的对象计数 |
switch | 用于切换检测、录制和快照的开关实体 |
binary_sensor | 每个摄像头/区域/对象的"运动"二进制传感器实体 |
媒体浏览器支持
该集成提供:
- 带缩略图的跟踪对象录像浏览
- 快照浏览
- 按月、日、摄像头、时间浏览录像
可以通过Home Assistant左侧菜单面板中的"媒体浏览器"访问。
将剪辑投射到媒体设备
该集成支持将剪辑和摄像头流投射到支持的媒体设备。
要使剪辑可以投射到媒体设备,需要音频,可能需要为录制启用音频。
注意:即使你的摄像头不支持音频,也需要启用音频才能接受投射。
通知API
许多人不想将Frigate暴露给网络,因此该集成创建了一些可用于通知的公共API端点。
加载跟踪对象的缩略图:
https://HA_URL/api/frigate/notifications/<event-id>/thumbnail.jpg
加载跟踪对象的快照:
https://HA_URL/api/frigate/notifications/<event-id>/snapshot.jpg
使用Android设备加载跟踪对象的视频剪辑:
https://HA_URL/api/frigate/notifications/<event-id>/clip.mp4
使用iOS设备加载跟踪对象的视频剪辑:
https://HA_URL/api/frigate/notifications/<event-id>/master.m3u8
加载跟踪对象的预览gif:
https://HA_URL/api/frigate/notifications/<event-id>/event_preview.gif
加载核查项目的预览gif:
https://HA_URL/api/frigate/notifications/<review-id>/review_preview.gif
RTSP流
为了使实时流能够正常工作,需要在RTSP端口(默认:8554
)上的<frigatehost>:8554
访问它们。当查看实时摄像头时,Home Assistant将直接连接到该流媒体端口。