Aarlo是 Home Assistant 的自定义组件,可提供对 Arlo 系统的访问。
除其他外, Aarlo还提供:
Aarlo是 Home Assistant 的自定义组件,可提供对 Arlo 系统的访问。
该集成使用 Arlo 摄像头网站提供的API ,但存在一些限制。有关更多详细信息,请参阅已知限制部分。
如果您遇到问题,请查看常见问题解答部分,看看是否存在已知问题以及解决方法或修复。如果没有,请查看错误报告部分,了解有关如何生成调试日志和创建调试报告的信息。
高级自述文件在这里
旧的自述文件仍然可以在这里找到。
本文档假设您熟悉Home Assistant设置和配置。
无论您在本文档中的何处看到/config
它都是指您的Home Assistant配置目录。例如,对于我的安装,它是/home/steve/ha
,由我的 docker 容器映射到/config
。
无论您在哪里看到Arlo,它都指的是Arlo系统的任何部分。
无论您在哪里看到Aarlo,我指的是这个组件。
非常感谢:
Aarlo还提供定制的Lovelace 卡,它将摄像机的最后快照与其当前状态叠加,并允许访问摄像机录制库和实时流媒体。
如果您不熟悉Home Assistant ,我建议您访问社区网站。这里到处都是乐于助人的人,而且总有人遇到过您想要解决的问题。
Aarlo需要一个专用的Arlo帐户。如果您尝试重复使用现有帐户(例如,您在手机上的Arlo应用程序上使用的帐户),该应用程序和此集成将不断争夺登录权限。这是Arlo 的限制。
专用Aarlo帐户需要启用Allow Access Rights
才能设置警报级别并读取某些状态值。
请参阅Arlo文档以获取更多说明。
您需要启用两因素身份验证。设置电子邮件地址以接收验证码。 Aarlo支持其他TFA机制,但电子邮件是最容易使用的。有关更多详细信息,请参阅稍后的双因素身份验证部分。
您只需使用这些安装机制之一。我推荐 HACS。
Aarlo 是默认 HACS 存储的一部分。如果您对使用开发分支不感兴趣,这是最简单的安装方法。
将aarlo
目录复制到/config/custom_components
目录中。
运行安装脚本。运行一次以确保操作看起来正常,然后使用go
参数运行第二次以完成实际工作。如果更新后重新运行脚本,它将覆盖所有已安装的文件。
install /config # check output looks good
install go /config
但是,您安装了源代码,您知道需要将集成添加到Home Assistant中。从主页中选择Settings -> Devices & Services
,然后单击ADD INTEGRATION
并搜索Aarlo
。在第一个屏幕上输入您的帐户详细信息。
场地 | 价值 |
---|---|
用户名 | 您的Arlo帐户用户名 |
密码 | 您的Arlo帐户密码 |
二因素机制 | 选择 IMAP |
TFA 用户名 | 您为 TFA 注册的电子邮件帐户 |
TFA密码 | 电子邮件帐户密码 |
TFA主机 | 用于查找电子邮件的 IMAP 服务器 |
如果您保留Use aarlo prefix
选中,您的所有设备都将采用type.aarlo_*
格式。
单击SUBMIT
。集成将登录Arlo并检索与其关联的设备列表。如果一切正常,您将能够在下一个屏幕上将设备分配到房间。
您可以进一步微调设置。在“集成”页面中单击CONFIGURE
。
微调警报设置:
场地 | 价值 |
---|---|
报警/撤防代码 | 如果需要,请输入代码,否则保留默认值 |
撤防模式名称 | 如果您的 Arlo 帐户具有自定义解除名称,请进行更改 |
家庭模式名称 | 如果您的 Arlo 帐户具有自定义家庭模式名称,请进行更改 |
离开模式名称 | 如果您的 Arlo 帐户具有自定义离开模式名称,请进行更改 |
夜间模式名称 | 如果您的 Arlo 帐户具有自定义夜间模式名称,请进行更改 |
需要手臂代码 | 选择是否需要报警/撤防代码才能布防 |
需要撤防代码 | 选择是否需要报警/撤防代码才能撤防 |
触发时间 | 布防时要等待多长时间 |
报警音量 | 警报器的默认音量 |
夜间模式; Arlo不会拥有其中之一,除非您创建它
如果需要清除报警代码, no code needed
。我会设法让它接受空白条目......
确定哪些二进制传感器可用:
场地 | 价值 |
---|---|
声音检测 | 启用相机上的麦克风 |
运动检测 | 在摄像机上启用运动检测 |
门铃按压器 | 启用门铃按钮 |
哭泣检测 | 对于 Arlo Baby,启用哭泣检测 |
设备连接 | 当设备断开连接时收到通知 |
打开/关闭传感器 | 启用门窗传感器 |
亮度传感器 | 启用光检测 |
篡改检测 | 如果设备打开则启用通知 |
泄漏检测 | 启用泄漏监测设备 |
并非所有传感器都适用于所有设备。
确定哪些传感器可用:
场地 | 价值 |
---|---|
最后捕捉时间 | 每个摄像机传感器指示最后一次录制的时间 |
检测到的摄像机总数 | 相机数量的整数值 |
检测到最近的活动 | 相机最近是否处于活动状态 |
今天捕获的视频/快照数量 | 今天录制的整数值 |
设备电池电量 | 电池剩余电量百分比 |
WiFi信号强度 | WiFi 强度,范围为 1 至 5 |
室温 | 房间条件 |
房间湿度 | 房间条件 |
空气质量 | 房间条件 |
并非所有传感器都适用于所有设备。最近的活动可能应该是binary_sensor 。
启用其他开关:
场地 | 价值 |
---|---|
打开警报器的开关 | 提供一个开关来打开各个警报器 |
一个开关可打开所有警报器 | 提供一个开关来打开所有警报器 |
允许关闭警报器 | 允许通过开关关闭警报器 |
警笛开关音量 | 默认音量级别,从 1 到 10 |
警报器开关持续时间 | 运行闹钟的默认时间 |
切换到请求相机拍摄快照 | 提供相机快照开关 |
相机快照超时 | 行为不良的相机要等待多长时间才能完成 |
切换到静音门铃 | 提供一个使门铃静音的开关。 |
如果您来自较早的地方,则需要注意以下几点:
config flow
机制中。您的所有设备都将显示在集成页面上。yaml
条目。prefix with _aarlo
以保持命名相同。aarlo
域中。pyaarlo
组件现在通过pip
安装,不包含在集成中。.aarlo/session.pickle
,您可能会遇到登录困难。我不愿意将一些更深奥的配置项移到config flow
机制中,如果您进行了任何配置,它们将出现在/config/aarlo.yaml
文件中。有关这些选项的更多信息,请参见此处。
Arlo将使用 SSE 或 MQTT 向Aarlo发送事件信号。我不完全确定决定选择哪个的机制,但我知道添加或删除user_agent
会在两者之间切换。
Arlo最近更新了他们发送到session/v3
API 请求的响应,以指示选择哪个后端。 Aarlo在使用auto
时会解析它。
# This is the MQTT backend. We use the host and port.
' mqttUrl ' : ' ssl://mqtt-cluster-z1.arloxcld.com:8883 '
# This is the SSE backend. We use a fixed host and port.
' mqttUrl ' : ' wss://mqtt-cluster-z1.arloxcld.com:8084 '
如果启用详细调试,您应该能够在Home Assistant日志中找到该值。
从0.8
版本开始, Aarlo应该足够聪明,能够确定要使用哪个后端。但是,如果您发现自己遇到问题,例如缺少运动检测事件或缺少传感器值更新,您可以手动覆盖该设置。在/config/aarlo.yaml
中更改此设置。
aarlo :
# This forces the SSE backend
backend : sse
aarlo :
# This forces the MQTT backend
backend : mqtt
# These might also be needed
mqtt_hostname_check : false
mqtt_host : mqtt-cluster-z1.arloxcld.com
aarlo :
# This forces Aarlo to choose
backend : auto
请注意,删除该设置相当于auto
。
Arlo对Arlo网站登录使用Cloud Flare反机器人保护。该服务不能很好地与Python Requests包配合使用(或者Aarlo如何使用这些请求,我不太确定)。
如果您看到以下错误,则说明您遇到了Cloud Flare问题。
2021-06-03 13:28:32 WARNING (SyncWorker_4) [pyaarlo] request-error=CloudflareChallengeError
这个问题影响了我,我一直在努力完善代码。
Aarlo做了几件事来解决这个问题:
Header
级别。但是,如果您仍然遇到登录问题,您可以尝试几个配置项。
您可以尝试不同的用户代理。这是在/config/aarlo.yaml
中配置的:
aarlo :
# Change the user agent. It can be either arlo, iphone, ipad, mac, firefox or linux
# or random. random will change it each time it tries to login
user_agent : linux
# Or use a custom user agent, everything after the ! will be used
user_agent : !this-is-a-custom-user-agent
您可以将Source
标头与登录请求一起添加。我有一个网站需要这个,另一个则不需要。我认为这可能与用户代理有关。
aarlo :
# This adds the following header "Source: arloCamWeb"
send_source : true
您可以使用以下命令禁用会话缓存:
aarlo :
# This will force a full login on every restart
save_session : false
您可以选择使用不同的ecdh曲线。该主题超出了本文档的范围,请参阅此处获取解释。
aarlo :
# Make this curve the first choice. You can only enter 1 choice.
ecdh_curve : secp384r1
您可以修改/etc/hosts
以指向特定的Arlo Web 服务器
# Remove the # to force the request to go to a particular cloudflare server
#104.18.30.98 ocapi-app.arlo.com
#104.18.31.98 ocapi-app.arlo.com
Arlo将其称为两步验证。您需要为您的Home Assistant特定帐户启用此功能。 Aarlo支持IMAP和PUSH机制,但我建议使用IMAP ,使用PUSH需要手动响应登录请求。
您可以在此处找到有关设置两因素身份验证的说明 Arlo 在此处提供
添加集成时输入两因素身份验证。
按照两因素身份验证说明操作,添加并设置电子邮件验证方法。您可以通过登录 Arlo 主网页并确保它向您发送电子邮件来测试这一点。
对于Gmail和Yahoo (以及其他基于网络的电子邮件客户端),您无法使用常用密码登录,您必须创建一个应用程序特定密码。解释为什么这是必要的超出了本文档的范围,因此请参阅以下页面。
如果您发现无法登录IMAP帐户,请检查应用程序密码要求。
已知以下服务器可以工作:
服务 | 主机名 |
---|---|
邮箱 | imap.gmail.com |
雅虎! | imap.mail.yahoo.com |
按照两因素身份验证说明添加并设置PUSH验证方法。
如果您需要更改传递给 IMAP 客户端的密码列表,请使用以下选项指定它。你不需要这样做。有关详细信息,请参阅 openssl 手册页。
aarlo :
# specify cipher list to use
cipher_list : " HIGH:!DH:!aNULL "
# Use DEFAULT for the cipher list
default_ciphers : True
如果您遇到问题,请创建错误报告,并在错误报告中包含以下信息以帮助调试。如果你不这样做,我就会缠着你,直到你这样做为止。
您可以通过更改configuration.yaml
中的日志记录设置来打开基本的Aarlo调试。
logger :
default : info
logs :
pyaarlo : debug
custom_components.aarlo : debug
您可以通过启用日志记录并将以下内容添加到/config/aarlo.yaml
来打开详细调试。详细调试会生成大量日志,因此最好仅在需要时启用。
aarlo :
verbose_debug : true
Aarlo会将调试日志写入标准Home Assistant日志文件/config/home-assistant.log
。
在向我发送调试之前,您应该对其进行加密。您可以加密此网页上的输出。您可以上传文件或将其复制并粘贴到缓冲区中,然后按Submit
。
此页面不会自动将输出转发给我,因此您必须将其复制并粘贴到文件中并将其附加到错误报告中。
此页面将隐藏日志,因此只有我可以阅读它们,我是解密它的私钥的唯一拥有者,但要小心,除了序列号之外,它可能还包括您的帐户和密码信息。你可以在加密之前隐藏它们,我从来不需要它们。
我并不拥有每件Arlo设备,因此有时,当出现问题或发布新设备时,我需要查看Arlo实际期望此代码发送什么,以及此代码期望从Arlo返回什么。 Aarlo模拟 Web 浏览器连接,以便您可以使用浏览器开发人员工具了解所需内容。
本说明适用于 Chrome,但大多数浏览器(我希望!)都有类似的功能。
More Tools
,最后选择Developer Tools
。您还可以使用快捷键CTRL+SHIFT+I
。Network
选项卡。当您登录时,浏览器和Arlo网站之间传递的数据将开始显示并持续显示在此选项卡中。如果单击Name
下的条目,您可以更详细地检查数据包。
Headers
选项卡显示请求标头中发送的内容。Payload
选项卡显示请求正文中发送的内容Preview
选项卡显示从Arlo发回的回复。 如果将鼠标悬停在name
下的字段上,弹出窗口将显示请求发送到的完整 URL。
我需要记录这一点。
查找包含单词subscribe
URL,这将是Arlo发送回网页的偶数流。当您单击网页上的按钮时,此列表中将显示更多项目。我可以使用此信息来确定如何解析我尚未处理的情况的响应数据包。
例如, Arlo创建了一个带有WOOHOO
按钮的新设备,我没有这样的设备,但您希望在Aarlo中实现WOOHOO
功能。我需要的是按下按钮时数据包的顺序及其回复。执行此操作的唯一真正方法是按下按钮并查看Name
选项卡中出现的新数据包。
然后,您需要将它们复制并粘贴到GitHub上的错误报告中。请参阅上一节,了解如何隐藏敏感数据。
不。他们把所有的时间都花在争论谁拥有控制权。这是Arlo 的限制。
您确定已共享该设备吗?登录 Arlo 网页并确保其显示在那里。如果确实如此,则打开调试日志并使用它们提出错误报告。
确保您已向共享设备的帐户提供了管理员访问权限,这是电池或信号强度更新等操作所必需的。
确保您已为共享设备的帐户提供了管理员访问权限,这是共享基站所必需的。
您是否使用新的Arlo基于位置的界面,在这种情况下,您只能布防或撤防位置,而不能布防单个设备。
无需订阅即可查看提要,但您需要订阅才能查看录制内容。
截至撰写本文时(2024 年 5 月),尚无读取本地录音的选项。所有其他功能都运行良好。
他们确实这么做了。 Arlo 的工作方式与IP摄像机不同,仅在检测到运动时进行记录,因此要求它启动流媒体需要与与您家中的摄像机通信的Arlo服务器进行通信……可能需要几秒钟才能运行。流媒体的工作原理如下:
Camera ---> Arlo Cloud Servers --> Home Assistant --> Your Home Assistant Client
视频流量必须从您的房子流出,然后再返回……
这是已知可以工作的设备的列表。即使此列表中没有明确提及,大多数Arlo设备也可以工作,尽管它们的功能可能有限。
模型 | 姓名 | 特征 |
---|---|---|
ABC1000 | 婴儿 | 动作、音频、环境、哭泣 |
AVD1001 | 有线可视门铃 | 运动 |
AVD2001 | 基本可视门铃 | 运动, 警报器 |
AVD3001 | 有线可视门铃高清 | 运动, 警报器 |
AVD4001 | 有线可视门铃2K | 运动, 警报器 |
FB1001 | Pro 3 泛光灯 | 泛光灯 |
MS1001 | 多合一传感器 | 运动、打开、潮湿、篡改、温度 |
VMB3010 | 基站 | |
VMB4000 | 基站2 | 警笛 |
VMB4500 | 专业基站 | 警笛 |
VMC2030 | 必备相机 | 运动、音频、警报器、聚光灯 |
VMC2040 | 必备的室内摄像机 | 动作、音频、警报器 无电池 |
VMC3030 | 高清摄像头 | 动作、音频 |
VMC3040 | Q相机 | 动作、音频 |
VMC3060 | 必备室内摄像机 2 | 运动,需要观察 |
VMC3052 | Essential XL 相机 | 动作、音频、聚光灯 |
VMC4030 | Pro 2 相机 | 动作、音频 |
VMC4040 | Pro 3 相机 | 运动、音频、警报器、聚光灯 |
VMC4041 | Pro 4 相机 | 运动、音频、警报器、聚光灯 |
VMC4060 | Pro 5 相机 | 运动、音频、警报器、聚光灯 |
VMC5040 | 超级相机 | 运动、音频、警报器、聚光灯 |
VML2030 | 去2相机 | 动作、音频 |
VML4030 | 去相机 | 运动 |
该组件是通过对 Arlo 摄像头网页上使用的API进行逆向工程而编写的。
这些是一般限制:
这些是该网站的限制:
这些是与移动应用程序相比的限制:
最后两条可以概括if the WEB API doesn't support it, neither can the component.
当提出新功能请求时,请记住这一点。