>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Python

驯服涂鸦动物园,告别中国云服务

假设你买了一台智能 heater、一个灯泡或一个漏水传感器。包装盒上骄傲地印着涂鸦或SmartLife的标志。你连接设备、安装应用,一切似乎都正常工作。但一旦网络出现波动,或者中国的服务器开始闹别扭,你的"智能"家就变成了南瓜车。似曾相识吧?

我们中的许多人来到Home Assistant正是为了从云服务的控制中夺回对家的掌控权。但涂鸦一直有一个陷阱:官方集成通过他们的API工作,要么是付费的,要么有有限的试用期,要么就是慢得离谱。tuya-local项目从根本上解决了这个问题——它让设备直接通过本地网络与你的服务器通信。

这个项目的意义是什么

简而言之:这是一个用于Home Assistant的自定义组件,让你可以绕过中间商通过Wi-Fi控制涂鸦设备。

这里的主要亮点不仅仅是速度(虽然响应确实变得几乎即时)。核心价值在于该集成可以"挖掘出"官方云端根本没有展示的功能。例如,气候设备的特定运行模式,或详细的能耗统计数据——这些功能中国方面在应用中隐藏了,但没有通过API暴露出来。

顺便说一句,该项目支持的不仅仅是Wi-Fi设备。如果你有涂鸦网关,可以通过它连接Zigbee外设,尽管作者坦诚警告:用于同时本地连接的集线器功能非常有限。

tuya-local能做什么

该仓库声称支持超过一千种设备。这不仅仅是"开/关"——而是复杂实体的完整操作。

  1. 气候和供暖。智能对流器、空调和加湿器可以配合所有传感器和预设工作。
  2. 照明。对不同协议(从3.1到3.5)的支持让你甚至能让之前无法配合的挑剔灯具实现本地工作。
  3. 安防。支持部分锁型号。它实现了一个巧妙的拦截解锁密钥的方案,这在开源集成中相当罕见。
  4. 家用电器。从宠物喂食器(支持喂食计划)到红外转发器,可以直接从Home Assistant界面学习命令。

如何轻松搞定配置

以前,设置本地涂鸦就像召唤恶魔的仪式:你必须创建开发者账户、通过控制台提取密钥,然后饱受折磨。tuya-local大大简化了这个过程。

该集成有两条设置路径。第一条是"云助手"。你用SmartLife账户登录一次,集成会自动拉取设备列表及其密钥,然后仅在本地工作。这让你免去了每六个月在涂鸦IoT门户上续期试用版的麻烦。

第二条路径是手动配置。如果你是一个已经自己获取了所有ID和密钥的偏执狂,你只需将它们输入设备卡片即可。

logo

需要注意的问题和陷阱

当然,这里有一些细节需要注意。涂鸦不是一个单一标准——它更像是不同固件版本的大杂烩。

首先,许多设备只能保持一个活动的本地连接。如果你手机上有应用开着,或者有另一个集成在运行(例如旧的),新的连接就根本无法到达硬件。

其次,电池供电的设备(门磁或烟雾传感器)没有集线器就无法本地工作。它们为了省电会进入休眠状态,只在"ping"数据到云端时才醒来。你无法欺骗物理定律——对于这些设备,最好使用带有合适棒的Zigbee版本。

第三,如果你完全在路由器上屏蔽了设备的互联网访问,某些硬件会开始表现异常。它们可能会陷入无限重启循环。作者建议在这种情况下,不仅要屏蔽TCP,还要屏蔽来自设备的DNS请求。

为什么这比替代方案更好

有一个流行的替代方案——。我两个都用过。在手动配置每个特定数据点(DP)方面更灵活,但这也是它的致命弱点:配置一个复杂的恒温器就变成了一小时摆弄表格。

tuya-local走的是现成配置路线。如果你的设备在支持列表中,你只需选择它的类型,所有传感器/按钮就会自动出现。这节省了大量时间。如果你的设备不受支持,你可以通过发送带有数据转储的日志来帮助项目——那里的社区非常活跃。

如果你的家逐渐被涂鸦设备占领,安装这个集成是必须的。仅凭灯光即时亮起这一点,而不是信号往返法兰克福或上海后才响应,就值了。

该项目已经成熟,拥有坚实的设备数据库和合理的配置逻辑。是的,涂鸦仍然是一个"动物园",但有了这个工具在手,你至少能得到一根像样的鞭子和一袋训练零食。

如果你有以下情况,值得一试:

  • 你厌倦了云API延迟。
  • 你有一个使用标准方法不太好接入HA的特定涂鸦设备。
  • 你希望即使ISP宕机时自动化也能正常工作。

你可以通过名称在HACS中找到该项目,或直接在GitHub上:make-all/tuya-local

相关项目