Home Assistant 群里炸開(kāi)鍋了:涂鴉發(fā)布新插件啦! 趕緊沖!
什么?聽(tīng)說(shuō)了沒(méi)?涂鴉智能發(fā)布新 Home Assistant 插件啦!
看到了!群里都炸開(kāi)鍋啦!趕快沖沖沖!
近期,我們得知有很多發(fā)燒友客戶(hù),希望 Powered by Tuya 的設備能夠支持這個(gè)平臺的接入,并使用 Home Assistant App/Web 控制 Powered by Tuya 的設備。
在萬(wàn)眾期待下,我們發(fā)布新插件啦~發(fā)燒友們,趕緊沖鴨!
01 背景
我們為什么會(huì )選擇 Home Assistant ? 正因為他無(wú)法抵抗的自身魅力~
Home Assistant 是一款基于 Python 的智能家居開(kāi)源項目,支持眾多品牌的智能家居設備,可以輕松實(shí)現設備的語(yǔ)音控制、自動(dòng)化等。它有一個(gè)簡(jiǎn)單的、適合移動(dòng)設備的界面來(lái)控制用戶(hù)所有設備,且不會(huì )將任何數據存儲在云端,以保護個(gè)人隱私。
其身為 Github 最火的 IoT 智能硬件開(kāi)源項目,現有44k star,14.3k Fork,reddit.com 中 Community Members 達到 130 k??苫跇?shù)莓派硬件創(chuàng )造很多種智能家居玩法,在開(kāi)發(fā)者領(lǐng)域有著(zhù)比較高的口碑和用戶(hù)群體。
?
?
愛(ài)好者/玩家:如果你是全屋智能硬件的玩家,會(huì )自行購買(mǎi)智能產(chǎn)品,構建自己的全屋智能解決方案,那么,這里歡迎你!
個(gè)人開(kāi)發(fā)者/發(fā)燒友:如果你擁有 Powered by Tuya 設備中的其中一款,想要實(shí)現不同產(chǎn)品和品牌間的互聯(lián)互通以及全屋智能設備聯(lián)動(dòng),那么,你也必須來(lái)!
軟硬件集成商( ISV/IHV ):你可以基于 Home Assistant 平臺以及 Tuya 插件,直接集成或二次開(kāi)發(fā),為客戶(hù)提供涂鴉生態(tài)的智能硬件接入服務(wù),如開(kāi)發(fā) Drive 驅動(dòng)的軟件開(kāi)發(fā)服務(wù)以及構建定制化的全屋智能控制系統(Web/App/樹(shù)莓派軟件等)
系統集成商 (SI):你可以基于 Home Assistant 平臺及 Tuya 插件,適配涂鴉生態(tài)的智能硬件,開(kāi)發(fā)相關(guān)的 Drive 驅動(dòng),集成到自己的智能硬件生態(tài)體系中(如 Control4 ), 為客戶(hù)提供完整的硬件方案接入和軟件平臺服務(wù)??梢哉{用 Tuya Open API 接口,云云對接。
02 Hass Tuya 插件技術(shù)原理
Hass Tuya 插件技術(shù)有哪些?
Python :
Python 是一種解釋型的高級通用編程語(yǔ)言。Python 的設計理念通過(guò)使用顯性縮進(jìn)來(lái)強調代碼可讀性。具有解釋性、編譯性、互動(dòng)性和面向對象的特點(diǎn)。由于其開(kāi)放源代碼的特性,Python 已經(jīng)被移植(也就是使其工作)到許多平臺。
樹(shù)莓派(Raspberry Pi):
其只有****大小的微型電腦,其系統基于 Linux,由于其價(jià)格低廉、功能強大,自問(wèn)世以來(lái),受到眾多計算機發(fā)燒友和創(chuàng )客的追捧,在 IoT 開(kāi)源領(lǐng)域有很高的人氣。
Open API :
涂鴉打造的物聯(lián)網(wǎng)云端開(kāi)放能力,覆蓋設備控制、全屋管理、場(chǎng)景自動(dòng)化等核心場(chǎng)景的通用能力。開(kāi)發(fā)者可以基于 Open API,快速搭建智慧商業(yè)、智慧工業(yè)等行業(yè)解決方案。
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議):
它是一種基于發(fā)布/訂閱(publish/subscribe)模式的"輕量級"通訊協(xié)議,該協(xié)議構建于 TCP/IP 協(xié)議上,由 IBM 在 1999 年發(fā)布。MQTT 最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開(kāi)銷(xiāo)、低帶寬占用的即時(shí)通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設備、移動(dòng)應用等方面有較廣泛的應用。
( Home Assistant 插件原理圖)
Home Assistant 本體基于 Python 語(yǔ)言開(kāi)發(fā),由于 Python 跨平臺特性,其支持部署在樹(shù)莓派、Windows、Mac、Linux等主流操作系統內。
Home Assistant 插件通過(guò)涂鴉云端 Open API 接口,從涂鴉云獲取到用戶(hù)設備信息,在 Home Assistant UI 端( Web 或 App )上展現。
你可通過(guò) Open API 接口,下發(fā)標準指令給涂鴉云,涂鴉云通過(guò) MQTT(Open IoT Hub)下發(fā)到設備,實(shí)現設備控制。
設備狀態(tài)變更,通過(guò) MQTT 上報到涂鴉云,然后涂鴉云通過(guò) MQTT 下發(fā)給 Home Assistant 插件,插件更新本地設備緩存,通知 Home Assistant,UI 端刷新設備顯示。
( Home Assistant插件時(shí)序圖)
03 驅動(dòng)開(kāi)發(fā)
Home Assistant 通過(guò)提供一系列基礎的 Entities,來(lái)幫助開(kāi)發(fā)者們降低插件開(kāi)發(fā)難度。我們在將 PBT(Powered by Tuya)設備接入 Home Assistant 時(shí),通過(guò)開(kāi)發(fā)Hass Tuya插件驅動(dòng)來(lái)實(shí)現。
整體包括兩個(gè)部分,即“驅動(dòng)基礎邏輯”和“驅動(dòng)設備類(lèi)”。
“驅動(dòng)基礎邏輯”不同驅動(dòng)基本相似,主要為涂鴉設備添加到 Home Assistant 系統內邏輯。
“驅動(dòng)設備類(lèi)”主要功能為 Tuya 設備物模型與 Home Assistant 物模型映射,實(shí)現通過(guò)根據 Home Assistant Entity <-> 功能點(diǎn) <-> 涂鴉“標準指令集” dp code 邏輯。
04 業(yè)務(wù)場(chǎng)景
Home Assistant 因為其開(kāi)源特性,吸引了大量開(kāi)發(fā)者自發(fā)開(kāi)發(fā)插件接入了不同廠(chǎng)商的硬件設備,如 Xiaomi、Hikvision、Honeywell、Yeelight 等等。通過(guò)Home Assistant Tuya 插件,基于 Home Assistant 可以快速搭建融合多種廠(chǎng)商硬件設備和涂鴉硬件的 IoT 本地融合系統。
( Home Assistant 插件生態(tài))
Home Assistant Tuya 插件基于 tuya-iot-py-sdk 開(kāi)發(fā)。tuya-iot-py-sdk 為基于基于涂鴉云 API 封裝的 python SDK,它將網(wǎng)絡(luò )請求鑒權邏輯、token 刷新邏輯、Open IoT Hub 對接邏輯、MQTT 重連邏輯進(jìn)行封裝,通過(guò) python 函數的方式提供給 SDK 調用方,從而使 SDK 調用方,不需要關(guān)系具體的邏輯實(shí)現,只需要像調用普通 python 函數一樣,使用即可。
您如果開(kāi)發(fā)的系統基于 python 語(yǔ)言,可通過(guò)該 SDK,快速接入涂鴉云,降低接入學(xué)習成本。
Home Assistant 擁有中立開(kāi)源的特性,如果你是普通開(kāi)發(fā)者,更易學(xué)習。
在使用過(guò)程中,你可以在興趣推動(dòng)和社區影響下,能通過(guò)自身的編程能力,參與進(jìn) Tuya 插件的完善迭代,也能基于 Tuya 插件,開(kāi)發(fā)自己的 Home Assistant 插件,深入了解涂鴉生態(tài)能力。
05 附 言
Home Assistant Tuya 插件已上線(xiàn),支持”自定義開(kāi)發(fā)“和”全屋智能 PaaS”云項目類(lèi)型,歡迎了解體驗。
具體 Github 地址,立即點(diǎn)擊 https://github.com/tuya/tuya-home-assistant
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。