開始用Home Assistant後就逐漸把家中崁燈裡的傳統燈泡換成智慧燈泡,透過區域網路控制可以整合在Home Assistant內,比起使用各家廠商提供的APP有很多優點,像是反應時間較快、不用安裝多餘的APP(我有APP潔癖)、不受限於伺服器狀況、不受限於連外網路是否正常以及不用擔心有什麼隱私資料外流這些事情。
目前使用中的38顆燈泡都是米家LED智慧燈炮Lite彩光版(名字真長?),型號是MJDPL03YL,大廠Yeelight代工,好用到我還囤了15顆在防潮箱內。它的優點是便宜,大概是可調色溫的燈泡中最便宜的,缺點則是米家APP並沒有提供開啟區域網路控制這個選項,正常情況下Home Assistant無法透過區域網路整合它。
比較早的解法是先以米家APP正常配對,再透過修改版本的Yeelight APP開啟區域網路控制(官方版本APP看不到這個燈泡的型號),但在某個時間之後,因Yeelight的伺服器有異動,修改版本的Yeelight APP再也連不上伺服器,這個方法也就沒有用了。
後來發現透過名為python-miio的套件就可以辦到,先安裝python-miio(當然要先有python)
$ pip3 install python-miio
再安裝Microsoft C++ Build Tools
https://visualstudio.microsoft.com/visual-cpp-build-tools/
在命令列中輸入
$ miiocli yeelight --ip IP --token TOKEN set_developer_mode 1
並將上面的IP換成燈泡的IP位址,TOKEN換成燈泡的token(token可以從XiaoMi Gateway3這個整合中找到)。
例如
$ miiocli yeelight --ip 192.168.88.171 --token 34d31ca690146e836xxxxxxxxxxxxxxx set_developer_mode 1
若出現以下這個訊息表示區域網路控制已經成功開啟,可以正常接入Home Assistant的Yeelight整合裡。
Setting developer mode to True
['ok']
喔對了,那些只有配對時才會用到的APP我都裝在已淘汰的手機上,平常眼不見為淨。