Home Assistant 的 Anker Solix 集成
这个 Home Assistant 自定义组件集成利用了 anker-solix Python 库,通过 Anker 云实现与 Anker Solix 设备的无缝集成。它最初是为监控 Anker Solarbank E1600 而开发的。Api 库已添加对其他 Anker 设备(如太阳能微型逆变器(MI80)、Solarbank 2 E1600 和 Anker 智能电表)的支持,并可通过集成使用。Anker 电力云还支持便携式电源站(PPS)或家用电力面板,一旦这些设备的 Api 数据结构已知,未来可能会添加。
免责声明:
🚨 这个自定义组件是一个独立项目,与 Anker 没有任何关联。它的开发目的是为 Home Assistant 用户提供工具,将 Solarbank E1600 集成到他们的智能家居中。最初,Api 库和集成仅为监控 Anker Solarbank 而开发。目前,也可以监控 Anker 逆变器,并且额外的增强功能允许修改其设备设置。所提及的任何商标或产品名称均为其各自所有者的财产。 🚨
使用条款和条件:
这个集成利用了一个非官方的 Python 库与 Anker Power 云服务器 Api 进行通信,该 Api 也被官方 Anker 移动应用程序使用。Api 访问或通信可能随时更改或中断,恕不另行通知,因此也可能改变或中断集成功能。此外,使用非官方 Api 库可能会带来风险,如因不当设置而导致的设备损坏或制造商保修失效,无论是由不当使用、库故障、Api 变更或其他原因造成。
🚨 用户对可能因使用此集成或底层 Api Python 库而导致的制造商保修失效或任何损害承担全部风险。用户在使用集成前必须接受这些条件。同意自动包括未来的集成或 Api 库更新,这些更新可能会扩展集成功能以包括额外的设备设置或监控能力。 🚨
Anker 账户信息
由于 Anker 云 Api 的工作方式,一个带有电子邮件/密码的账户不能同时用于 Anker 移动应用和云 Api。出于安全原因,Anker 云在任何时候只允许每个账户有一个用户请求令牌。每个客户端的新身份验证请求都会创建一个新令牌,并在服务器上删除之前的令牌。因此,在您的移动应用账户中使用此集成将使您在移动应用中的登录失效。然而,从 Anker 移动应用 2.0 版本开始,您可以与"家庭成员"共享您定义的电力系统。建议使用不同的电子邮件地址创建第二个 Anker 账户,并与第二个账户共享您定义的电力系统。
注意:
系统成员无法管理共享系统的任何设备或查看其详细信息。您在应用中只能看到系统概览。使用 Api 时也是如此:您无法使用共享账户查询设备详细信息,因为您没有这些数据的必要权限。但是,共享账户足以通过集成监控概览值,而不会限制您使用主账户在 Anker 应用中管理设备设置(如果需要)。
由于此集成的初始版本不支持许多设置功能,建议使用共享账户进行集成,以监控您的电力设备值并将其集成到您的家庭能源仪表板中。系统所有者账户可以在 Anker 移动应用中使用,以保持对设备的完全控制能力。 从 1.1.0 版本开始,集成支持大多数相关的系统和 solarbank 参数更改,包括修改 solarbank 时间表。要使用这些功能,您必须在集成中使用所有者账户。同样,您可以在 Anker 移动应用中使用共享账户。 有关详细使用说明,请参阅信息
限制
- 所使用的API库绝非官方API,且由于完全没有文档,因此非常有限
- API或登录可能随时中断,或API请求可能被移除/添加/更改,从而导致底层API库中使用的某些端点方法失效
- API库已针对Anker云服务器(欧盟和COM)进行了验证。然而,各国分配到这两个服务器的情况尚不清楚,根据您账户选择的国家,API登录可能失败或在集成中无法显示有效设备或传感器
- 集成提供的传感器和实体取决于使用的是Anker所有者账户还是成员账户
- 集成中使用的Anker账户将无法继续在Anker移动应用中使用,因为云API一次只允许1个活跃的客户端用户令牌。新的客户端认证请求会从服务器上移除现有的用户令牌。这意味着集成会踢出应用用户,反之亦然
- 观察到蓄电池或逆变器设备可能会不时失去WiFi连接,无法向云端发送数据。在WiFi断开期间,报告的数据可能是过时的。您可以使用终端设备的云状态传感器来验证云连接状态和潜在的过时数据
- 该集成仅支持在电力系统中定义的电力设备。虽然它可能也会显示未在系统中定义的独立设备,但这些独立设备不会通过云API提供任何使用或消耗数据,因此不会显示任何电力实体
- 未来可能会添加其他可以添加到电力系统并由Anker Power云管理的设备,前提是开发人员能获得示例API响应数据
注意:
要导出Anker电力系统配置的随机化示例数据,请参阅anker-solix Python库和工具export_system.py。您可以在那里开一个问题并上传包含导出json文件的压缩包,同时附上您设置的简短描述。确保在导出配置之前通过Anker移动应用将您的设备添加到电力系统中。独立设备几乎不会通过云API提供数据。
支持的传感器和设备
此集成将设置以下平台并支持以下设备:
平台 | 描述 |
---|---|
sensor | 显示来自Anker Solix API的信息 |
binary_sensor | 显示来自Anker Solix API的信息 |
switch | 通过Anker Solix API修改设备设置,临时禁用API通信以允许在应用中并行使用账户 |
select | 从可用选项中选择设置 |
button | 按需触发设备详情刷新 |
number | 更改某些实体的值 |
service | 调度可应用于蓄电池输出预设实体的服务 |
设备类型 | 描述 |
---|---|
system | Anker应用中定义的Anker Solix"电力系统" |
solarbank | 系统中配置的Anker Solix蓄电池: - A17C0:Solarbank E1600(第1代) - A17C1:Solarbank 2 E1600 Pro - A17C3:Solarbank 2 E1600 Plus - A17C2:Solarbank 2 E1600(可能在发布后支持) |
inverter | 系统中配置的Anker Solix逆变器: - A5140:MI60逆变器(停止服务) - A5143:MI80逆变器 |
smartmeter | 系统中配置的Anker Solix智能电表: - A17X7:三相WiFi智能电表 |
smartplugs | 系统中配置的Anker Solix智能插座: - A17X8:2500 W智能插座(尚不支持) |
Solarbank 2设备和智能电表的特别说明:
Anker在Solarbank 2电力系统中改变了向API云传输数据的机制。虽然Solarbank 1电力系统每60秒向云端传输一次功率值,但Solarbank 2似乎使用不同的间隔进行API云更新,这可能导致无效的数据响应和不可用的实体。请参阅信息中的Solarbank 2设备和智能电表的配置选项考虑,了解更多详情以及如何避免不可用实体。
其他设备既不受支持,也未经过API库或HA集成的测试。
要添加其他Anker电力设备,请查看anker-solix Python库并为开放问题或API探索做出贡献,因为大多数设备既无法由开发人员测试,也无法在其API使用、参数、结构和字段被完全理解、解释并实现到API库之前添加到HA集成中。
注意:
虽然集成可能显示您可以用Anker账户管理的独立设备,但集成使用的云API不包含或接收未定义到电力系统的独立设备的功率值或其他许多详细信息。您在移动应用的设备详情中看到的实时数据要么通过本地蓝牙接口提供,要么通过MQTT云服务器提供,所有设备都会向其报告实际值,但仅限于应用中提示的时间。因此,无法为独立设备的更多详细实体增强集成。
通过 HACS 安装(推荐)
使用此按钮:
或按照以下步骤:
- 在 Home Assistant 前端打开 HACS 面板。
- 导航到"集成"选项卡。
- 点击右上角的三个点,选择"自定义仓库"。
- 添加一个新的自定义仓库:
- URL:
https://github.com/thomluther/hacs-anker-solix
- 类别: 集成
- URL:
- 点击"保存",然后点击
Anker Solix
集成上的"安装"。
遗憾的是,HACS 不会自动安装可选的实体图片,这些图片必须位于 HA 安装配置文件夹中的 Web 可访问 www
文件夹内。请参阅可选实体图片以获取手动复制图片文件的说明。
安装注意事项:
- 观察到在向 HACS 添加仓库时可能会出错,尽管它已被添加。你可以检查是否能在可安装的 HACS 集成列表中找到 Anker Solix。如果找不到,请尝试再次添加仓库。
- 在 HACS 中添加自定义仓库并安装集成后,你必须重启 Home Assistant 以使自定义集成文件夹中的更改生效
- HA 2024.02 将在问题下自动报告所需的重启
- HA 重启后,你可以像正常的核心集成一样通过 HA UI 安装和配置集成:
- 转到"配置" -> "集成",点击"+"并搜索"Anker Solix"。现在应该会列出为社区集成
手动安装
- 使用你选择的工具打开 HA 配置目录(文件夹)(在其中可以找到
configuration.yaml
)。 - 如果你没有
custom_components
目录(文件夹),需要创建一个。 - 在
custom_components
目录(文件夹)中创建一个名为anker_solix
的新文件夹。 - 从本仓库的
custom_components/anker_solix/
目录(文件夹)下载所有文件。 - 将下载的文件放入你创建的新目录(文件夹)中。
- 重启 Home Assistant
- 在 HA UI 中转到"配置" -> "集成",点击"+"并搜索"Anker Solix"
可选实体图片
如果你想使用 INFO 中示例截图所示的可选实体图片,你需要将集成安装路径中的 images
文件夹复制到 Home Assistant 安装配置文件夹的 www
文件夹中。如果你使用 Home Assistant OS 设备,可以优先使用 Studio Code Server 或 File Explorer 等文件管理插件在安装后复制此文件夹:
- 导航到 HA 安装的
CONFIG
文件夹(configuration.yaml 所在位置) - 导航到
custom_components/anker_solix/
文件夹,复制包含实体图片的images
子文件夹 - 返回
CONFIG
文件夹,导航到或创建www/community/anker_solix
文件夹结构(如果不存在) - 将
images
文件夹粘贴到创建的anker_solix
社区子文件夹中
一旦图片在 www/community/anker_solix/images/
中可用,它们将在集成(重新)创建实体时被使用,例如首次创建或重新加载配置条目时。
确保重新加载 HA UI 浏览器窗口(不使用缓存)以正确显示实体图片。
集成配置在 UI 中完成
有关如何配置和使用集成的详细说明,请参阅 INFO。
注意:当你对集成文件夹内容进行更改时,需要重启 Home Assistant 以使这些更改在启动 Home Assistant 的容器或虚拟环境中生效。这同样适用于手动或通过 HACS 更新集成时。
问题、问答和其他讨论
如果你遇到问题,查看现有问题或开启新问题,并提供详细的问题描述。你可能需要为集成配置启用调试输出。在发布之前请检查你的调试输出。虽然敏感的登录信息会被屏蔽,但 API 返回的唯一设备信息不会被屏蔽(序列号、ID 等)。在提供调试输出之前,你可能想要全局更改这些信息。
如果你有问题、观察、建议或想分享你的经验,欢迎开启新的讨论主题。
欢迎贡献!
如果你想为此项目做出贡献,请阅读贡献指南。 作为起点,你可能想为你的母语添加更多翻译。
致谢
表达你的感谢
如果你喜欢这个项目,请在GitHub上给它一个星标
附加资源
如果你需要更多关于这个主题的帮助,请查看以下外部资源:
博客文章
视频
YouTube视频 "在Home Assistant中集成Anker SOLIX"(🇩🇪)
YouTube视频 "Anker Solix - Home Assistant集成和能源面板 ⚡"(🇩🇪)
剧透:E1600无法实现零电网输出? 在考虑给定限制的情况下,满足某些要求时,效果比最初预期的要好。
YouTube视频 "充分利用Home Assistant的Anker SOLIX 2 Pro"(🇩🇪)
剧透:这显示了在2.0.1版本支持Solarbank 2之前的集成功能