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