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