把涂鸦设备搬回局域网:Tuya-Local 本地控制与 Home Assistant 配置指南

把涂鸦设备搬回局域网:Tuya-Local 本地控制与 Home Assistant 配置指南

【免费下载链接】tuya-localLocal support for Tuya devices in Home Assistant项目地址: https://gitcode.com/GitHub_Trending/tu/tuya-local

Tuya-Local 是 Home Assistant 的一个第三方集成,让 WiFi 版涂鸦(Tuya)设备不再绕道 Tuya 云,直接通过局域网与设备通信;本文梳理它的工作方式、凭据获取、完整配置流程,以及配好之后常见的故障怎么定位。

场景引入:控制请求为什么总要先出家门

用原厂 App 或 Tuya 云端集成时,你点一下"关灯",请求要先发到 Tuya 的服务器,再由服务器转发给设备,链路长、有延迟,家里宽带一断,面板上的实体全部失联。Tuya-Local 的做法是把这条链路砍短:它在你的局域网里直接和涂鸦设备建立连接、加解密通信,命令和状态都不经过云。需要说明的是,设备自己通常仍会向云上报状态,所以它主要解决的是速度与可靠性,而不是一个严格的安全隔离手段;顺带的好处是,本地接口有时能暴露云端 API 不开放的功能。

它是怎么做到的:数据点映射与协议协商

理解下面两个概念,后面排查问题就快了。

  • 数据点(dps):涂鸦设备把开关、模式、温度、目标湿度等功能都编号成一个个数据点(如 dp1 是开关、dp2 是模式),本地协议收发的就是这些数字。Tuya-Local 靠 devices/ 目录下的 YAML 文件,把某个型号设备的 dps 翻译成 Home Assistant 的实体(switch、climate、humidifier 等)。
  • 协议版本:设备与主机之间的通信有 3.1、3.2、3.3、3.4、3.5、3.22 等版本,集成默认用auto探测。较新版本会用 local key 解密收到的数据,3.1 则只在发送命令时用到它——这个差异直接决定了"密钥填错"时的症状(见排坑一节)。

设备型号不同,同一个 dp 含义也可能不同,所以配置流程里有一步"选择设备类型":集成会把你设备实际上报的数据点和内置的 1000+ 份设备配置做比对,只列出至少部分匹配的型号供你挑选。

另有一个硬件层面的限制要先知道:多数涂鸦设备只允许一条本地连接。如果你在配 Tuya-Local 的同时,手机上的 Tuya/SmartLife App 或其他本地集成也连着同一台设备,就会出现互相挤占、时好时坏的情况。

动手前准备:拿齐设备 ID、local key 和固定 IP

配一台设备需要四个值,缺了任何一个都走不到下一步:

参数是什么拿不到的后果
host设备的 IP 或主机名连不上设备
device_id设备的唯一标识无法建立会话
local_key本地通信加密密钥新协议版本下连接测试直接失败;3.1 设备则到控制时才暴露
protocol_version协议版本,一般填auto选错版本可能导致无响应或只读

三条路径拿到凭据

  • 云辅助配置(推荐):在集成的配置页里直接用 Tuya 或 SmartLife App 的账号登录,集成会自动拉出你的设备列表、填好device_id和local_key,并尝试在局域网里定位 IP。好处是不需要注册 Tuya IoT 开发者账号;登录令牌几小时后过期且不保存,但在不重启 Home Assistant 的前提下,可以连续添加多台设备只登录一次。
  • Tuya IoT 开发者门户:登录后在 Cloud 的设备列表里找到 Device ID,再用 API Explorer 的"Query Device Details in Bulk"(批量查询设备详情)功能查出local_key。注意 Tuya 现在对这一能力做限时开通,试用期只能每 6 个月续一次,建议趁早把 key 记下来。
  • tinytuya 命令行扫描:在 Home Assistant 主机上运行python -m tinytuya wizard,按提示填入开发者门户的 API Key、Secret 和数据区域后,它会扫描局域网里的涂鸦设备,把id、key、node_id(网关子设备用)以及数据点描述写进devices.json。

在路由器里固定设备 IP

建议先给设备绑定静态 IP(DHCP 保留)后手动填写。虽然集成允许把 IP 填成Auto让它自己发现设备,但这种方式在以下情况会失败:装了 localtuya、手机上 App 连着部分设备、或者网络不是单一简单子网;而且即便能成功,每次重连都要先扫一遍网络,恢复速度也慢。手动填固定 IP 是更稳的做法。

两个容易忽略的细节

  • 重新配对会换 key:local key 在每次配对应设备时会变化。如果你拿到 key 之后又用厂商 App 重新绑定了设备,旧 key 就作废了。
  • 哪些设备不适合本地:门窗传感器、烟雾报警器这类纯电池供电的设备基本无法本地支持(掉电管理限制);通过网关连接的子设备支持有限,每个子设备占用一条连接,而网关通常只允许 1~3 条。子设备要用网关的device_id、IP、local_key加上子设备自己的node_id来添加。

配置走一遍:凭据、设备类型与命名三阶段

用 HACS 装上集成

第三方集成建议通过 HACS 安装。给 HACS 添加自定义仓库时,仓库地址使用https://gitcode.com/GitHub_Trending/tu/tuya-local,装完重启,"添加集成"列表里就会出现 Tuya Local。

三阶段配置页逐项填

入口在"设置 → 设备与服务 → 添加集成",选 Tuya Local:

  1. 第一阶段(连接信息):填host、device_id、local_key,protocol_version不确定就选auto。提交时集成会立刻尝试连接设备并读取数据。做对了长什么样:这一步直接通过,进入下一屏;如果是较新协议版本而 key 填错,会在这里就报错,属于"错得很明显"。
  2. 第二阶段(选择设备类型):从按数据点过滤后的型号列表里选你的设备。做对了长什么样:选完后设备生成的实体(开关、气候、传感器等)和你实际设备的功能对得上——灯能调光、风扇有档位、湿度计数值正常。
  3. 第三阶段(命名):给设备起一个名字,它会成为所有实体名的前缀。多台同类型设备时,名字务必区分开。

选错类型怎么办

不同设备类型会生成不同的实体,集成不建议在保留实体的情况下改类型——如果选错了,把该设备删掉、从头再走一遍三阶段即可。如果你预期中的型号没出现在列表里,通常是固件版本不同导致数据点不匹配,可以先看 Home Assistant 日志里集成打出的实际 dps,再按 devices/README.md 的说明反馈为"新设备支持"请求。

配好之后能玩什么:两个具体的自动化场景

场景一:夜间自动调除湿目标,命令之间留延迟

涂鸦设备普遍不耐受快速连发多条命令,轻则离线 30 秒到几分钟,重则重启。集成内置了速率限制并会把部分命令合并成一条消息,但跨实体发送时覆盖不到。所以写自动化时,建议在同一台设备的两条命令之间加延迟(0.5~2 秒之间按设备实测调整)。多数设备支持一条消息带多个设置,例如 climate 的set_temperature可以顺带把 preset 一起下发;也有少数设备只认"一条消息只改一个 dp",这类设备只能走"多命令 + 延迟"的路线。

场景二:红外发射器当万能遥控器

Tuya 的 IR/RF 发射器会被暴露为remote实体,支持学习命令。用remote.learn_command服务把发射器放进学习模式,对着按原遥控器即可存入一条命令(如"TV 的 power"),学习结果持久保存、重启不丢。之后既可以用remote.send_command回发,也可以把学到的 IR 码通过 tuya-local 的send_learned_ir_command服务转发给其他infrared发射器,等于用一台涂鸦 IR 盒子带动家里所有红外家电。

调优与排坑:按现象定位原因

现象可能原因处理办法
配完能连上,但命令没有响应协议版本被探测错(3.2 / 3.22 / 3.4 和 3.3 互相误判较常见)在配置里手动指定协议版本再试;3.22 是开启 device22 检测的特殊选项
3.1 设备配置成功,一控制就失败3.1 的 local key 只在发送时校验,配错 key 不会在安装阶段暴露重新核对 key 后重配
设备偶尔离线几十秒、甚至重启短时间内连发多条命令,超过设备承受力自动化中在命令间加延迟;多设备自动化可先操作别的设备再回来补发第二条
断网一段时间后设备彻底不理你部分设备长时间连不上 Tuya 服务器后会停止响应有反馈称同时屏蔽 DNS 和 TCP 到 Tuya 的连接时表现更好,可按此思路在路由器上做限制
时好时坏、实体频繁掉线手机上 App 或其他本地集成占用了设备唯一的本地连接关掉相关 App、移除同设备上的其他本地集成,保证同一时刻只有一个本地客户端
列表里找不到自己的型号固件升级或同型号不同固件导致数据点变化查看日志中的实际 dps,按新设备流程反馈;注意设备 OTA 升级后原有配置也可能失效

延伸与资源:文档、配置目录与社区入口

  • 项目主文档与安装说明:README.md
  • 支持的 1000+ 设备清单(按加热器、空调、净化器等分类):DEVICES.md
  • 手动查找 device ID / local key / IP 的完整指引:DEVICE_DETAILS.md
  • 全部设备配置 YAML(每份文件就是一个型号的 dps → 实体映射):custom_components/tuya_local/devices/
  • 如何为新设备编写配置文件:devices/README.md
  • 集成各实体平台的测试用例,可当作"某类设备应该生成哪些实体"的参照:tests/

社区支持走项目代码托管页的 issue 区即可;提报新设备时,附上集成日志里的 LOCAL DPS、设备型号与品牌、以及能找到的数据点说明,被采纳的速度会快很多。

【免费下载链接】tuya-localLocal support for Tuya devices in Home Assistant项目地址: https://gitcode.com/GitHub_Trending/tu/tuya-local

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

MCP协议驱动智能体底座架构设计:从插件思维到接口思维

MCP协议驱动智能体底座架构设计:从插件思维到接口思维

1. 从“插件思维”到“接口思维”的认知跃迁大多数人第一次接触MCP(Model Context Protocol,模型上下文协议)时,脑子里蹦出来的第一个词就是“插件系统”。这也不奇怪,毕竟它的外在表现确实像插件:你写一个…

2026/10/20 12:45:32 阅读更多 →
从零搭建React企业级应用架构:REA分层设计与工程实践

从零搭建React企业级应用架构:REA分层设计与工程实践

1. 项目概述先说结论:REA不是某个框架的名字,也不是一个开源库的缩写,而是我近期在团队内部从零搭建并持续打磨的一套 React 企业级应用架构方案。全称我习惯叫它 React Enterprise Architecture,有人问为什么不叫别的名字&#x…

2026/10/20 12:45:32 阅读更多 →
Matlab实现贝叶斯优化Transformer多输入单输出时序预测

Matlab实现贝叶斯优化Transformer多输入单输出时序预测

最近整理时序预测这块的工作时,我发现一个问题:很多人一上来就搭LSTM,序列一长效果就拉胯;换了Transformer吧,又开始为超参数头疼。手工调参既累又不稳定,尤其是当输入特征有好几个、预测目标只有一个的时候…

2026/10/20 12:45:32 阅读更多 →

最新新闻

汇川电脑版示教器软件部署指南:环境配置与连接排错

汇川电脑版示教器软件部署指南:环境配置与连接排错

简介:汇川机器人电脑版示教器软件是面向工业自动化工程师、产线调试人员及机器人应用开发者的专业级PC端编程与调试工具,用于替代传统手持示教器,实现远程控制、离线仿真、示教点管理与故障诊断,显著提升产线部署与维护效率。资源…

2026/10/20 13:30:26 阅读更多 →
AI原生应用中的自然语言理解(NLU):核心架构设计与落地实践

AI原生应用中的自然语言理解(NLU):核心架构设计与落地实践

这两年“AI原生应用”成了行业里绕不开的词,很多团队把原本做客服、做智能音箱、做文本挖掘的人都拉进同一个项目组,唯一目标就是让产品能够用自然语言理解用户。自然语言理解(NLU)作为AI原生应用最核心的入口环节,正在…

2026/10/20 13:30:26 阅读更多 →
技能管理:从模糊到清晰的系统化拆解与投资策略

技能管理:从模糊到清晰的系统化拆解与投资策略

1. 从“skills”这个标题说起:一个被低估的硬核话题“skills”这个词,单独拎出来看,信息量几乎为零。它不像“如何用Python做数据清洗”那样具体,也不像“三小时搭建个人博客”那样有明确的操作边界。但恰恰是这种模糊性&#xff…

2026/10/20 13:30:26 阅读更多 →
从技能拆解到项目交付:构建可复用的技能栈实战指南

从技能拆解到项目交付:构建可复用的技能栈实战指南

1. 从“skills”这个词说起:为什么它突然成了硬通货“skills”这个词,放在三五年前,大家聊起来多半还是简历上那一栏“专业技能”——写上去好看,面试时被问两句就过去了。但这两年情况完全变了。我身边做技术的、做产品的、做设计…

2026/10/20 13:30:26 阅读更多 →
从零搭建可复用技能体系:skills工程化封装与编排实战

从零搭建可复用技能体系:skills工程化封装与编排实战

1. 从“skills”这个词说起:为什么它突然成了高频词最近不管是刷技术社区还是跟同行聊天,“skills”这个词出现的频率高得离谱。一开始我以为大家只是在聊招聘JD里的技能要求,后来发现完全不是那么回事——有人在讨论“技能封装”&#xff0c…

2026/10/20 13:30:26 阅读更多 →
点微同城源码34.7部署全流程:从环境配置到小程序联调避坑指南

点微同城源码34.7部署全流程:从环境配置到小程序联调避坑指南

简介:点微同城源码34.7是一套面向本地生活服务领域的开源建站方案,适合具备PHP与小程序开发基础、希望快速搭建类似美团或大众点评平台的技术人员与创业者。资源整合了H5网页端与微信小程序前后端代码,并附带全套功能插件,可覆盖信…

2026/10/20 13:29:25 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →