Blink
Blink integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 让你查看 Blink
此集成不允许在 Home Assistant 中实时查看您的 Blink 相机。
设置
您需要您的 Blink 登录信息(用户名,通常是您的电子邮件地址,以及密码)来使用此模块。
配置
设置的首选方法是使用配置流程。转到您的配置中的集成页面,然后单击新的集成 -> Blink。当提示您输入 PIN 时,当前有两种可能性:
-
您会收到一封电子邮件,询问您是否允许 Home Assistant 访问 Blink。在这种情况下,请将 PIN 字段留空,然后点击
提交
。 -
您会收到一封包含 2FA PIN 的电子邮件或短信。在这种情况下,请输入 PIN 并点击
提交
。
您的集成将被设置。由于设置是异步的,您可能会在它们完成从 Blink 服务器提取数据之前看到您的传感器。在几分钟内(最多)该信息应该就会填充。
一旦 Home Assistant 启动并且您验证了访问,blink
集成将创建以下平台(注意:Blink Mini 相机当前不支持任何传感器,也不支持电池状态二进制传感器):
- 一个
alarm_control_panel
用于武装/撤销整个 blink 系统(注意,alarm_arm_home
未实现,实际上不会做任何事情,尽管它在 GUI 中是一个选项)。 - 与您的 Blink 同步模块连接的每个相机都有一个
camera
。 - 每个相机都有一个
sensor
用于温度和 Wi-Fi 信号强度。 - 一个
binary_sensor
用于运动检测、相机武装状态和电池状态。 - 每个相机都有一个
switch
用于启用/禁用运动检测。
由于相机是电池供电的,因此轮询必须小心进行,以免过快耗尽电池,或向 Blink 的服务器发送过多 API 请求。如果希望使用其他轮询速率,请在 Blink 集成系统选项中禁用“启用轮询以获取更新”选项,并使用 homeassistant.update_entity
动作进行轮询。相机还可以通过 trigger_camera
动作手动更新。请注意,所有特定于相机的传感器仅在请求相机的新图像时进行轮询。这意味着不建议依赖这些传感器提供及时和准确的数据。
请注意,每个相机报告两个不同的状态:一个为 sensor.blink_<camera_name>_status
,另一个为 binary_sensor.blink_<camera_name>_motion_enabled
。motion_enabled
属性报告 camera
是否准备好检测运动 不管系统实际上是否被武装。
动作
任何与 blink 相关的 actions动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列。 [Learn more] 顺序调用之间应至少有 5 秒的延迟,以防止调用被限流和忽略。针对相机的动作需要目标参数。
blink.record
触发相机录制新视频片段。
blink.trigger_camera
触发相机拍摄新静态图像。
blink.save_video
将相机上最后录制的视频保存到本地文件。请注意,在大多数情况下,Home Assistant 需要知道该目录是可写的,方法是在您的 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中使用 allowlist_external_dirs
(请参见下面的示例)。
数据属性 | 可选 | 描述 |
---|---|---|
filename |
否 | 保存文件的位置。 |
homeassistant:
allowlist_external_dirs:
- '/tmp'
- '/path/to/whitelist'
blink.save_recent_clips
将相机最近的视频片段保存到本地文件,格式为 %Y%m%d_%H%M%S_{name}.mp4
。请注意,在大多数情况下,Home Assistant 需要知道该目录是可写的,方法是在您的 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中使用 allowlist_external_dirs
。
数据属性 | 可选 | 描述 |
---|---|---|
file_path |
否 | 保存文件的位置。 |
blink.send_pin
发送新 PIN 到 blink。由于 Blink 的 2FA 实现是新的并且正在变化,这样做是为了在用户干预的情况下使集成能够继续工作。目的是在后台处理所有这些,但在登录实现稳定之前加入了此功能。要使用它,请执行操作,并将您从 Blink 收到的 PIN 作为有效载荷(对于简单的“允许此设备”电子邮件,您可以将 pin
值保留为空)。
数据属性 | 可选 | 描述 |
---|---|---|
config_entry_id |
否 | 要发送 PIN 的 Blink 配置。 |
pin |
否 | 从 Blink 收到的 2FA PIN。 |
其他动作
除了上述提到的动作外,还有通用的 camera
、alarm_control_panel
和 homeassistant
动作可用。camera.enable_motion_detection
和 camera.disable_motion_detection
动作允许在 Blink 系统中分别启用和禁用单个相机。alarm_control_panel.alarm_arm_away
和 alarm_control_panel.alarm_disarm
动作允许分别武装和撤销整个系统。homeassistant.update_entity
动作将强制更新 blink 系统。与现有同步模块连接的 Blink Mini 相机无法通过 Home Assistant 单独武装/撤销。
示例
以下是一些示例,展示如何正确使用 Blink 执行操作:
拍摄照片并保存到本地
此示例脚本展示了如何使用您的相机拍摄照片,命名为 My Camera
(这并不一定是 Home Assistant 中的友好名称)。拍照后,图像将保存到名为 /tmp/my_image.jpg
的本地目录。注意,这个例子使用了 相机集成 中找到的动作。
alias: "Blink Snap Picture"
sequence:
- action: blink.trigger_camera
target:
entity_id: camera.blink_my_camera
- action: camera.snapshot
target:
entity_id: camera.blink_my_camera
data:
filename: /tmp/my_image.jpg
离开时武装 Blink
此示例自动化将在离开时武装您的 Blink 同步模块,以检测任何具有启用运动检测的 Blink 相机的运动。默认情况下,Blink 会在所有相机上启用运动检测,因此,除非您在应用中更改了任何内容,否则您已经准备好了。如果您想手动为单个相机启用运动检测,可以利用 相应的相机动作,但请注意,只有当同步模块武装时才会捕捉到运动。
在这里,假设您的 Blink 模块名为 My Sync Module
,并且您已设置 设备跟踪器 进行状态检测。
- alias: "Arm Blink When Away"
triggers:
- trigger: state
entity_id: all
to: "not_home"
actions:
- action: alarm_control_panel.alarm_arm_away
target:
entity_id: alarm_control_panel.blink_my_sync_module
回家时解除 Blink 武装
与之前的示例类似,此自动化将在您到家时解除 Blink 武装。
- alias: "Disarm Blink When Home"
triggers:
- trigger: state
entity_id: all
to: "home"
actions:
- action: alarm_control_panel.alarm_disarm
target:
entity_id: alarm_control_panel.blink_my_sync_module
当检测到运动时将最近的视频保存在本地
当检测到运动时,您可以使用 Blink Home Assistant 集成将最后录制的视频保存在本地,而不依赖 Blink 的服务器来保存您的数据。
以下示例假设您的相机名称(在 Blink 应用中)为 My Camera
,同步模块名称为 My Sync Module
。该文件将保存在 /tmp/videos/blink_video_{YYYMMDD_HHmmSS}.mp4
,其中 {YYYYMMDD_HHmmSS}
将通过 模板 生成时间戳。
- alias: "Save Blink Video on Motion"
triggers:
- trigger: state
entity_id: binary_sensor.blink_my_camera_motion_detected
to: "on"
actions:
- action: blink.save_video
target:
entity_id: camera.blink_my_camera
data:
filename: "/tmp/videos/blink_video_{{ now().strftime('%Y%m%d_%H%M%S') }}.mp4"
按计划将所有最近的视频片段保存在本地
每次刷新 Blink 系统时,所有最近的视频片段列表会更新。 视频片段可在下载列表中(按相机划分)保留长达一个小时, 并且可以在任何时间在一小时到期前下载。 下载后,片段将从列表中移除。
以下示例演示每三分钟保存一次最近的片段。
假设您的相机名称(在 Blink 应用中)为 My Camera
。
该文件将保存在 /tmp/videos/YYYYMMDD_HHmmSS_MyCamera.mp4
。
下载视频文件的文件名无法配置。
- alias: "Save Recent Clips from My Camera"
triggers:
- trigger: time_pattern
minutes: /3
actions:
- action: blink.save_recent_clips
target:
entity_id: camera.my_camera
data:
file_path: /tmp/videos