欢迎使用 Home Assistant 的 Eufy 安全集成 Alpha 版本。恭喜您成为勇敢的人并尝试这个版本。
eufy-security-client
eufy-security-ws
来模仿移动应用程序和 Web 门户功能,并将eufy-security-ws
包装为hassio-eufy-security-ws
以便我们可以将其用作家庭助理附加组件。event duration in seconds
为单位)。请检查此处:https://github.com/bropat/eufy-security-client#known-working-devices
在接下来的步骤中,您将至少安装一个附加组件和两个集成。
在 Home Assistant 生态系统中,如果您使用受监督或基于 HASS 操作系统的设置,则可以使用 Home Assistant 的Add-ons
页面来安装它们。如果您运行的是 Core,或者您的设置中没有Add-ons
选项,则需要安装 docker 并自行运行这些容器。您将在各个步骤中看到相应的命令。如果您有兴趣构建 docker 容器,请查看末尾部分
此集成不是 Home Assistant Core 的一部分,因此您必须将其安装为自定义集成。有两种方法可以执行此操作,手动下载和复制文件或使用 HACS(家庭助理社区商店)。我将在这里使用 HACS 方法。
如果您打算将此集成用于视频流目的,并且您的相机不支持基于 RTSP(实时流协议)的流(相机设置中没有连续或 NAS 录制选项),您还需要安装 webrtc 自定义集成其中将包括 go2rtc 二进制文件(go2rtc 也作为独立的附加组件存在)。该附加组件将使我们能够将点对点 (P2P) 字节转换为 RTSP 流,以便您可以在 Home Assistant(带或不带 RTC)或 VLC 播放器中很好地播放它。
如果您打算将此集成用于视频流,并且您的相机支持 RTSP,您可能会享受可靠的流,因为生成 RTSP 流是硬件的责任,并且它比基于 P2P 的流可靠得多。无需将传入的 P2P 字节转换为 RTSP 流。有一些 Eufy Security 的 Android apk 的修改版本可以为不支持的设备启用 RTSP 流,但我还没有尝试过。而且,我个人并没有P2P所需的设备,因为很多时候我无法在本地复制您的问题,需要我们共同努力来调试这些问题。
最后,您的相机不会自行神奇地开始流式传输,您必须调用相应相机实体的turn_on
或turn_off
服务。因此,当您第一次安装所有内容时,在调用这些函数之前,您不会有任何视频。此外,由于低级技术问题,P2P 流可能会随机停止,您可以使用turn_off
和turn_on
重新启动它。您可以在摄像机状态(空闲、准备、流媒体)上触发自动化。
那么,让我们开始吧。
请遵循此处的指南:https://github.com/bropat/hassio-eufy-security-ws
这是 P2P 流媒体的必备条件,对于 RTSP 流媒体来说也很不错。 P2P流将使用go2rtc生成具有特定RTSP地址的流。 RTSP 流式传输将使用它来实现更快的流式传输。
有两种方法可以做到这一点,要么安装附加组件本身,要么安装 Webrtc 自定义集成。我建议您安装 Webrtc 自定义集成,其中包括 go2rtc 和相应的前端卡,以实现更快的流媒体传输。可以通过以下链接安装带或不带 webrtc 的 go2rtc:https://github.com/fuatakgun/WebRTC。该WebRTC是一个定制版本,可以轻松管理条件卡,进一步的设置将依赖于此。
1- 如果您尚未安装,请按照本指南安装HACS
:https://hacs.xyz/docs/setup/download
2- 当HACS
准备就绪时,在HACS
集成中搜索Eufy Security
。
3- 通过 HACS 安装Eufy Security
集成,重新启动您的 Home Assistant 实例。
4-导航到 Home Assistant 的Settings -> Devices & Services
页面 (https://your-instance.duckdns.org/config/integrations)。单击Add Integration
并搜索Eufy Security
(不是Eufy
,确切地说是Eufy Security
)。如果您没有看到它,请首先验证它是否通过 HACS 安装并且您已重新启动它,然后尝试使用其他浏览器。集成列表可能已缓存在您的浏览器中。
5- 输入Eufy Security Add-on IP Address
(受监督安装为 127.0.0.1)和configured port
(默认 3000),然后单击提交。
6-您可能会收到验证码或多因素身份验证 (MFA) 警告,请重新配置集成。验证码将显示在重新配置页面上,并且 MFA 代码将通过电子邮件或短信发送给您。请输入这些值。此后,您可能需要重新启动 Home Assistant 实例。
7-如果您已经安装了webrtc custom integration with go2rtc or standalone go2rtc Add-On
,请将其IP Address
放入集成配置页面。您可以输入127.0.0.1
进行受监督安装。
8-您还可以配置Cloud Scan Interval
、视频分析持续时间、 Custom Name 1
、 Custom Name 2
和Custom Name 3
注意:自定义名称 1、自定义名称 2 和自定义名称 3 是用于表示您在 Eufy Security 应用程序中创建的第一个、第二个和第三个自定义防护(模式)的标签。您可以使用内置警报面板卡触发自定义防护,如下所示:
arm_custom_bypass -> triggers your first custom guard defined in Eufy security app (ordered by 'created date')
arm_night -> trigger second custom guard
arm_vacation -> trigger third custom guard
例如,您在 Eufy Security 应用程序中创建“就寝”模式,默认情况下无法使用警报面板卡触发该模式。但是,使用此集成,您可以从警报面板调用arm_custom_bypass
服务,这将启用您的“就寝”模式。您可以使用上面的步骤 8 调整此模式的显示名称。
这些内置警报面板服务不与任何默认的 Eufy 防护相对应,因此它们被重新设计,以允许使用此集成进一步灵活地触发自定义安全模式。有关更多详细信息,请参阅#145 中的讨论。
9-启用默认情况下禁用的诊断实体。安装后,某些实体被禁用以避免生成过多的数据。这是预期的行为。如果您认为任何实体很重要,只需启用它即可。为此,请选择 eufy_security 集成中的设备之一。然后向下滚动到诊断部分并选择实体之一。在顶部转到设置并打开设置中的Enabled
和Visible
参数。大约 30 秒后,该实体将可用。
本机 Home Assistant 流传输速度相当慢(也许不是?),因此强烈建议您从 HACS 安装 WebRTC 集成。
下面的代码将在相机未流式传输时显示相机图片,并在相机流式传输时显示 webrtc 卡(条件卡)。请将camera.entrance
替换为您的相机实体名称。
type : custom:webrtc-camera
entity : camera.entrance
poster : image.entrance_event_image
ui : true
shortcuts :
- name : Play
icon : mdi:play
service : camera.turn_on
service_data :
entity_id : camera.entrance
- name : Stop
icon : mdi:stop
service : camera.turn_off
service_data :
entity_id : camera.entrance
如果您的相机支持平移和倾斜,您可以将相应的命令添加到 webrtc 界面。
type : custom:webrtc-camera
entity : camera.garden
ptz :
service : eufy_security.ptz
data_left :
entity_id : camera.garden
direction : LEFT
data_right :
entity_id : camera.garden
direction : RIGHT
data_up :
entity_id : camera.garden
direction : UP
data_down :
entity_id : camera.garden
direction : DOWN
Debug (device)
和Debug (station)
传感器属性,以便我可以提取这些传感器。如果无法从设备状态中提取这些传感器,请明确提及。button
、 switch
和select
实体,请使用它们。turn_on
和turn_off
- 集成将检查您的设备是否支持 RTSP 和基于回退 P2P 的流媒体start_rtsp_livestream
和stop_rtsp_livestream
- 如果您的设备支持,将使用 RTSP 启动流start_p2p_livestream
和stop_p2p_livestream
- 流将使用 P2P 启动,所有设备都在这里工作generate_image
- 如果相机已经在流式传输,这将为 Home Assistant 生成缩略图ptz_up
、 ptz_down
、 ptz_right
、 ptz_left
、 ptz_360
- 平移和倾斜命令trigger_camera_alarm_with_duration
- 在给定的持续时间内触发相机警报quick_response
- 发送门铃快速响应消息,您可以从设备的Debug (device)
传感器属性中获取voice_id
信息。仅当摄像机实时流式传输(p2p - 而非 rtsp)时才能执行此操作snooze
- 在给定的时间内暂停正在进行的通知。trigger_base_alarm_with_duration
- 在给定持续时间内触发站上的警报reset_alarm
- 重置给定持续时间内正在进行的警报snooze
- 在给定的时间内暂停正在进行的通知。arm_home
- 切换到 Home 状态arm_away
- 切换到离开状态disarm
- 撤防面板alarm_arm_custom1
- 切换到自定义 1,它与您在 Eufy Security 应用程序中创建的第一个、第二个和第三个自定义防护(或模式)相关。alarm_arm_custom2
- 切换到自定义 2alarm_arm_custom3
- 切换到自定义 3geofence
- 切换到地理围栏,这可能不会影响面板的状态,因为它将通过 Eufy 应用程序根据地理位置更改其状态schedule
- 切换到自定义 3,这可能不会影响面板的状态,因为它将通过 Eufy 应用程序根据时间表更改其状态chime
- 在基站上触发铃声(喜欢它) - 我不知道可用铃声的确切列表,请自己尝试。lock
和unlock
unlock
将camera.entrance
替换为您自己的实体名称。
alias : Capture Image on Trigger, Send Mobile Notification with Actions, Snooze or Alarm via Actions
description : " "
trigger :
- platform : state
entity_id :
- binary_sensor.entrance_motion_detected
- binary_sensor.entrance_person_detected
to : " on "
id : sensor
- platform : event
event_type : mobile_app_notification_action
id : snooze
event_data :
action : SNOOZE
- platform : event
event_type : mobile_app_notification_action
id : alarm
event_data :
action : ALARM
condition : []
action :
- choose :
- conditions :
- condition : trigger
id : sensor
sequence :
- delay :
hours : 0
minutes : 0
seconds : 3
milliseconds : 0
- service : notify.mobile_app_fuatx3pro
data :
message : Motion detected
data :
image : /api/image_proxy/image.entrance_event_image
actions :
- action : ALARM
title : Alarm
- action : SNOOZE
title : Snooze
- conditions :
- condition : trigger
id : snooze
sequence :
- service : eufy_security.snooze
data :
snooze_time : 10
snooze_chime : false
snooze_motion : true
snooze_homebase : false
target :
entity_id : camera.entrance
- conditions :
- condition : trigger
id : alarm
sequence :
- service : eufy_security.trigger_camera_alarm_with_duration
data :
duration : 1
target :
entity_id : camera.entrance
mode : single
当事件图片更新时,此触发条件立即启动自动化。在某些安装中,它更可靠且更快。如果以前的自动化给您提供过时的图像或导致问题,请尝试以下不同的触发器和条件:
trigger :
- platform : state
entity_id :
- image.entrance_cam
id : sensor
condition :
- condition : template
value_template : >-
{{ as_timestamp(states.image.entrance_cam.last_changed) == as_timestamp(states.image.entrance_cam.last_updated) }}
service : lock.unlock
data :
code : " testtest "
target :
entity_id : lock.safe
首先,检查所有问题(打开或关闭)以找出是否有任何类似的问题,而不是重复它。重点关注启用推送通知设置、降低摄像头流媒体/录制质量以及消除任何网络级隔离/限制。大多数问题都可以通过这些来消除。稍后,如果您发现类似的问题,请直接+1,一遍又一遍地共享相同的日志根本没有帮助。最后,按照模板创建您的问题。我稍后可能会提出后续问题。
只要您按照设置说明进行操作,我就非常乐意调试个别问题。我需要您与我分享您有问题的相机,以便我可以使用我自己的机器来调试问题。对于每个调试请求,请创建一个 github 问题,以便我们可以从那里进行跟踪。完成后不要忘记删除共享设置:)
要安排时间,请使用此链接:https://calendly.com/fuatakgun/office-hour