admin 管理员组

文章数量: 1087139


2024年8月31日发(作者:数据库增删改查快速开发)

近期,我们得知有很多发烧友客户,希望 Powered by Tuya 的设备能够支持这个平台

的接入,并使用 Home Assistant App/Web 控制 Powered by Tuya 的设备。

在万众期待下,我们发布新插件啦~发烧友们,赶紧冲鸭!

01 背景

为什么选择 Home Assistant ?

我们为什么会选择 Home Assistant ? 正因为他无法抵抗的自身魅力~

Home Assistant 是一款基于 Python 的智能家居开源项目,支持众多品牌的智能家

居设备,可以轻松实现设备的语音控制、自动化等。它有一个简单的、适合移动设备的界

面来控制用户所有设备,且不会将任何数据存储在云端,以保护个人隐私。

其身为 Github 最火的 IoT 智能硬件开源项目,现有44k star,14.3k Fork,

中 Community Members 达到 130 k。可基于树莓派硬件创造很多种智能

家居玩法,在开发者领域有着比较高的口碑和用户群体。

适合人群都有哪些 ?

爱好者/玩家:如果你是全屋智能硬件的玩家,会自行购买智能产品,构建自己的全屋

智能解决方案,那么,这里欢迎你!

个人开发者/发烧友:如果你拥有 Powered by Tuya 设备中的其中一款,想要实现不

同产品和品牌间的互联互通以及全屋智能设备联动,那么,你也必须来!

软硬件集成商( ISV/IHV ):你可以基于 Home Assistant 平台以及 Tuya 插件,

直接集成或二次开发,为客户提供涂鸦生态的智能硬件接入服务,如开发 Drive 驱动的软

件开发服务以及构建定制化的全屋智能控制系统(Web/App/树莓派软件等)

系统集成商 (SI):你可以基于 Home Assistant 平台及 Tuya 插件,适配涂鸦生态

的智能硬件,开发相关的 Drive 驱动,集成到自己的智能硬件生态体系中(如 Control4 ),

为客户提供完整的硬件方案接入和软件平台服务。可以调用 Tuya Open API 接口,云云

对接。

02 Hass Tuya 插件技术原理

Hass Tuya 插件技术有哪些?

Python :

Python 是一种解释型的高级通用编程语言。Python 的设计理念通过使用显性缩进

来强调代码可读性。具有解释性、编译性、互动性和面向对象的特点。由于其开放源代码

的特性,Python 已经被移植(也就是使其工作)到许多平台。

树莓派(Raspberry Pi):

其只有信用卡大小的微型电脑,其系统基于 Linux,由于其价格低廉、功能强大,自

问世以来,受到众多计算机发烧友和创客的追捧,在 IoT 开源领域有很高的人气。

Open API :

涂鸦打造的物联网云端开放能力,覆盖设备控制、全屋管理、场景自动化等核心场景

的通用能力。开发者可以基于 Open API,快速搭建智慧商业、智慧工业等行业解决方案。

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议):

它是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构

建于 TCP/IP 协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的

代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽

占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

( Home Assistant 插件原理图)

Home Assistant 本体基于 Python 语言开发,由于 Python 跨平台特性,其支持

部署在树莓派、Windows、Mac、Linux等主流操作系统内。

Home Assistant 插件通过涂鸦云端 Open API 接口,从涂鸦云获取到用户设备信

息,在 Home Assistant UI 端( Web 或 App )上展现。

你可通过 Open API 接口,下发标准指令给涂鸦云,涂鸦云通过 MQTT(Open IoT

Hub)下发到设备,实现设备控制。

设备状态变更,通过 MQTT 上报到涂鸦云,然后涂鸦云通过 MQTT 下发给 Home

Assistant 插件,插件更新本地设备缓存,通知 Home Assistant,UI 端刷新设备显示。

( Home Assistant插件时序图)

03 驱动开发

Home Assistant 通过提供一系列基础的 Entities,来帮助开发者们降低插件开发难

度。我们在将 PBT(Powered by Tuya)设备接入 Home Assistant 时,通过开发Hass

Tuya插件驱动来实现。

整体包括两个部分,即“驱动基础逻辑”和“驱动设备类”。

“驱动基础逻辑”不同驱动基本相似,主要为涂鸦设备添加到 Home Assistant 系

统内逻辑。

“驱动设备类”主要功能为 Tuya 设备物模型与 Home Assistant 物模型映射,实

现通过根据 Home Assistant Entity <-> 功能点 <-> 涂鸦“标准指令集” dp code 逻

辑。

04 业务场景

IoT 本地融合

Home Assistant 因为其开源特性,吸引了大量开发者自发开发插件接入了不同厂商

的硬件设备,如 Xiaomi、Hikvision、Honeywell、Yeelight 等等。通过Home Assistant

Tuya 插件,基于 Home Assistant 可以快速搭建融合多种厂商硬件设备和涂鸦硬件的

IoT 本地融合系统。

( Home Assistant 插件生态)

Python 系统接入涂鸦云

Home Assistant Tuya 插件基于 tuya-iot-py-sdk 开发。tuya-iot-py-sdk 为基于

基于涂鸦云 API 封装的 python SDK,它将网络请求鉴权逻辑、token 刷新逻辑、Open

IoT Hub 对接逻辑、MQTT 重连逻辑进行封装,通过 python 函数的方式提供给 SDK 调

用方,从而使 SDK 调用方,不需要关系具体的逻辑实现,只需要像调用普通 python 函

数一样,使用即可。

您如果开发的系统基于 python 语言,可通过该 SDK,快速接入涂鸦云,降低接入

学习成本。

在这里,你能获得什么?

Home Assistant 拥有中立开源的特性,如果你是普通开发者,更易学习。

在使用过程中,你可以在兴趣推动和社区影响下,能通过自身的编程能力,参与进

Tuya 插件的完善迭代,也能基于 Tuya 插件,开发自己的 Home Assistant 插件,深入

了解涂鸦生态能力。

05 附 言

Home Assistant Tuya 插件已上线,支持”自定义开发“和”全屋智能 PaaS”云项

目类型,欢迎了解体验。

- END -


本文标签: 设备 插件 涂鸦 智能 硬件