自從把家裡的塗鴉裝置接入 Home Assistant 後用的一直都是 HA 官方的塗鴉整合,但畢竟是經過雲端每次控制時都會有0.5~1秒的延遲,而且網路一斷都直接控制不了,解決方法就是用 LocalTuya 來整合塗鴉裝置。
但塗鴉麻煩的一個地方就是若要用直接控制必須取得裝置內的 Local Key,除了要透過雲端 API 獲得外還要買價值高達25000美金/年的 IoT Core 服務,一般人到底誰買得起???
經過一段時間的爬文終於找到了個叫 TinyTuya 的東西可以直接取得所有的裝置資訊,當然也包含了”珍貴”的 Local Key。不過 TinyTuya 也是要經過塗鴉雲端,只是好像不需要 IoT Core,而我之前用 HA 官方整合的時候就有設定過了。授權可參考下圖:
還有一個授權是 IoT Core,但已經過期
注意事項
使用 TinyTuya 前必須設定好塗鴉雲端專案。可參考 HA 官方說明: https://www.home-assistant.io/integrations/tuya/
安裝 Python
由於 TinyTuya 是用 Python 寫的所以要先下載安裝 Python
Python 官網: https://www.python.org/downloads/
安裝 TinyTuya
安裝好 Python 後打開 CMD 輸入下方指令安裝 TinyTuya
python -m pip install tinytuya
TinyTuya 安裝完後用下方指令開始調出塗鴉的裝置資訊
python -m tinytuya wizard
輸入 API Key 與 Secret,這個對應的就是雲端專案裡的 Access ID 與 Access Secret
然後隨便輸入一個 Device ID,可以在雲端專案的 Devices 或 Tuya APP 裡找到
選擇伺服器地區,要與雲端專案的伺服器地區相同
之後詢問 Download DP Name mappings? 跟 Poll local devices? 都輸入 n 按 Enter 就好
執行完後專案裡所有裝置資訊會存在 devices.json 檔案,就可以從裡面找到 Local Key 囉!
這時候就可以用 LocalTuya 設定裝置了,不過要注意的是如果裝置重新配對 Local Key 就會重新產生,所以沒事別去重設裝置。