Home Assistant Tapo 集成
这是一个用于从 home assistant 控制 Tapo 设备的自定义集成。
该集成的核心由基于 @K4CZP3R 工作的 plugp100](https://github.com/petretiandrea/plugp100) python 库提供。
请帮助我完成 new roadmap
Sponsors
Gold Sponsors
白银赞助商
警告
Tapo 协议
Tapo 正在使用名为 KLAP 的新协议更新其设备固件。此集成支持该协议,但如果您运行的是旧版本,您的设备可能无法正常工作。请通过 HACS 保持此集成处于最新状态!
本地集成
尽管该集成通过 LAN 工作,但 tapo 设备需要互联网访问权限以与 tapo 云同步,特别是用于凭据,缺少互联网访问可能导致“Invalid authentication error”。必须为设备设置静态 IP。
身份验证
由于某些未知原因,包含大写字母的电子邮件会抛出“Invalid authentication”错误。在打开新问题之前,请在 Tapo App 设置中检查您的电子邮件地址。如果您的电子邮件包含大写字母,该集成将无法工作。我已打开一个解释此问题的 issue #122,我会尽快修复。作为临时解决方案,您可以使用全小写的电子邮件地址创建新账户。
功能
发现
该集成现在支持原生 tapo 发现!要启用它,您必须在 tapo 配置文件中添加至少一个 tapo 设备或此行
tapo:
discovery: true # you can omit "discovery" by default, using "tapo:" will enable discovery automatically.
这将启用 Tapo 设备发现。并非所有 Tapo 设备都支持 Tapo 发现,因此如果找不到设备,请尝试手动添加。 Tapo 集成发现会过滤掉不支持的设备!
截图

您可以通过以下方式编辑 configuration.yaml 来禁用集成发现:
tapo:
discovery: false
设备 IP 跟踪
当使用 DHCP 家庭助手发现时,MAC 地址跟踪功能现已禁用,因为 HA 现在会自动跟踪 MAC 地址。
请确保已在您的 configuration.yaml 上启用 DHCP 发现(默认已启用)。
[破坏性变更] MAC 地址跟踪功能现已禁用,因为 HA 不推荐此功能。跟踪现由 HA 本身执行。
支持的设备
- 纯异步的 home assistant 方法
- 支持 tapo
H100网关和警报器 - 对 tapo
H200网关的支持目前正在进行中! - 支持
T31x温湿度传感器网关的设备 - 支持
T100运动传感器网关的设备 - 支持
T110智能门网关的设备 - 支持
S220、S210开关网关的设备 - 支持
S200B按钮和S200D旋钮网关的设备(按钮按压和旋钮旋转事件报告给 HA,不支持双击) - 支持 tapo 排插(
P300)。特别感谢 @alxlk 通过最大一次性贡献支持我,使我能够购买该设备 - 支持 tapo 开关(
P100、P110、P105、P115、P125、P110M) - 支持 tapo 排插(
P304M),具备独立插座支持和通过 PR #933 实现的能源监控 - 支持带色或不带色的 tapo 灯泡(
L530、L510、L520、L630、L610、L530B、L530E) - 支持带色或不带色的 tapo 灯带(
L900) - 部分支持 tapo 灯带(
L920、L930(包括灯光效果))。仅 RGB 功能可用,灯带的可寻址功能不可用。 - 支持能源监控(
P110、P115、P110M) - 支持带或不带调光器的 tapo 灯光开关(
S500、S500d、S505d) - 支持 @delatt 提供的 KE100
- 支持额外的 tapo 传感器:
overheat和wifi_signal - 允许通过 home assistant UI 使用 config flow 进行配置
- 允许从
configuration.yaml进行配置。支持的域为switch、light、sensor
附加功能
- 手动更改 IP 地址。现在您可以更改 Tapo 设备的 IP 地址,而无需移除并重新添加该设备。
- 诊断设置
- 固件更新控制
如何安装
此集成是 HACS 商店的一部分,因此您无需再将此仓库添加为自定义仓库。(需要 HACS >= 1.6.0)
或者直接在 HACS Store 中搜索 Tapo Controller 查找并安装它。
之后您需要重启 Home Assistant!
如何添加 Tapo 设备(在安装集成之后)
使用 UI
- Be sure the integration is installed successfully
- Insert host (ip address), username and password for control your tapo device (the same used for tapo app). If you have a problem in this phase, like "invalid auth" error, please see #122, and if error persists write a comment in the same issue
- Wait for connection. The integration will automatically recognize if the tapo device is a switch or light or something else :)
通过 configuration.yaml 进行配置
[突发]
此集成的最新版本移除了 configuration.yaml 设备配置支持。 这是为了遵循 home assistant 最佳实践 https://developers.home-assistant.io/docs/configuration_yaml_index/ 和 https://github.com/home-assistant/architecture/blob/master/adr/0010-integration-configuration.md#decision
Beta 版本
要使用 beta 版本,您只需像安装发布版本一样,从 HACS 下载并安装 beta 版本。
欢迎贡献!
请提交一个 pull request,欢迎任何贡献。
开发
此仓库现在使用 uv 进行本地开发,而不是 pip。
uv sync --group dev
uv run hass
uv run pytest tests/
uv run pre-commit run --all-files
