在Home Assistant使用紅外線遙控器Moes UFO-R11 / Using Infrared Remote Control Moes UFO-R11 in Home Assistant
紅外線遙控器Moes UFO-R11可以透過Zigbee2MQTT跟Home Assistant整合在一起,讓我們能夠在Home Assistant裡面直接控制冷氣、電風扇等紅外線遙控的裝置。但是UFO-R11的設定可是出乎意料之外的複雜,讓我們用這篇來記錄一下做法吧。
The Moes UFO-R11 infrared remote control can be integrated with Home Assistant via Zigbee2MQTT, allowing us to directly control infrared-controlled devices like air conditioners and fans within Home Assistant. However, setting up the UFO-R11 is unexpectedly complex. Let's use this post to document the process.
Home Assistant與Zigbee2MQTT的關係 / The relationship between Home Assistant and Zigbee2MQTT
Home Assistant (HA) 是一款開源的居家自動化平台,它內建了多種連結方式,能夠與各種智慧裝置連接。舉例來說,我們可以透過WIFI連接Tuya或Broadlink的設備,或是透過藍芽連線到SwitchBot的手指機器人。那如果我們要連上Zigbee設備的話,一般來說我們都會透過Zigbee2MQTT來居中協調。
Zigbee2MQTT,簡稱z2m,是一個將 Zigbee 裝置橋接到 MQTT 的橋接器,然後z2m會將各式各樣的 Zigbee 裝置整合到 Home Assistant 中。Zigbee2MQTT 就像一座橋樑,連線 Zigbee 裝置和 MQTT 伺服器。它將 Zigbee 裝置的資料轉換成 MQTT 訊息,讓 Home Assistant 可以讀取和控制這些裝置。透過 Zigbee2MQTT,使用者可以擺脫廠商專屬的閘道器或應用程式,自由選擇和組合不同品牌的 Zigbee 裝置,打造更彈性、客製化的智慧家庭環境。
Zigbee紅外線遙控器Moes UFO-R11 / Zigbee infrared remote control Moes UFO-R11
Moes UFO-R11是一款透過Zigbee通訊的智慧型紅外線萬用遙控器,旨在取代家中眾多的紅外線遙控器。它可以學習並發送各種紅外線訊號,控制家中例如冷氣、電視、風扇等支援紅外線遙控的電器。透過連線Zigbee閘道器(Gateway),你可以將Moes UFO-R11整合到智慧家庭系統中,包括Home Assistant,進而使用智慧型手機App或語音助理來控制家電,提升居家生活的便利性。
Moes UFO-R11最特別的地方在於能用兩顆AAA電池來進行供電。我用過許多智慧家電的紅外線遙控器,大多數都是用WIFI連接。WIFI的高耗電量註定了這些裝置必須一直接著電線,這讓我在佈置智慧家電的時候受到了很大的限制。Moes UFO-R11使用的Zigbee協定都相當節能,因此Zigbee裝置大多都可以用電池就能獨立運作。這讓我能將Moes UFO-R11輕鬆放置在家中任何角落。
這下子萬能遙控器總算像是遙控器了,不然一直接著線非常不方便啊。
將UFO-R11加入到Zigbee2MQTT / Add UFO-R11 to Zigbee2MQTT
在使用UFO-R11之前,我們要先將UFO-R11加入z2m。
我們在z2m開啟允許讓裝置加入。
我們打開UFO-R11底下的電池蓋板,然後長按Reset按鈕。
接著Moes UFO-R11應該就能順利加入。
由於UFO-R11本身沒有指示燈,我們很難判斷UFO-R11有沒有正常啟動。如果一直沒能順利加入的話,有時候是電池的問題。我裝充電電池的時候無法順利啟動UFO-R11,但換成鹼性電池就可以運作了。
讓我們進入UFO-R11設備,把它設定一個自己容易記憶的名稱後,切換Exposes頁面。以下的操作大多都會在Exposes頁面這裡進行。
學習紅外線指令 / Learning IR Code
像是Moes UFO-R11這種學習型紅外線遙控器的操作,我們需要關注兩個重點:學習與發送。學習是學習原始紅外線遙控器發出的訊號,將它保存到設備裡面;發送則是將學習到的訊號發送給冷氣或電風扇等裝置。
開啟Zigbee2MQTT中UFO-R11的Expose。我們可以看到learn_ir_code跟learned_ir_code的資訊。前者是開啟學習功能的開關,後者是記錄學習到的訊號。我們先把這個頁面開好,然後來準備硬體的設定。
接下來拿出你的UFO-R11跟原本的紅外線遙控器。
假如我們現在要學習的是「開機」按鈕。
回到Zigbee2MQTT裡,按下learn_ir_code的「ON」。
對UFO-U11按下紅外線遙控器的按鈕。
回到Zigbee2MQTT,此時learned_ir_code應該會出現一長串文字,這就是紅外線指令訊號。紅外線訊號的文字大概會像是這樣:
B4EgphE7AqEGgAPgCwFAG0ABQAdAA+APAUAbQAPgEwHgCx/gCxPgJwEDgSA7AuATR8AbwAdAAQJmAjvggAHAl0AHQANAAcAHwAFAD8ADQAFAC8ABQAtBA+AXAUAn4AcBQQdAA+AHAcAT4AcH4BsBQDNAa0AHwAFAC8ADQAFAC0ABQAfAA0AzQAFAD+ADCwdmAjsCOwI7Ag==
UFO-R11不會保存訊號內容,所以這個紅外線訊號,我是另外用Google Sheet表格來記錄。這個紅外線訊號會在後面發送的時候用到,請好好記下來吧。如果要學習其他訊號,請依樣畫葫蘆地取得紅外線遙控器上面每個按鈕的指令訊號。
發送紅外線指令訊號 / Send infrared command signal
相較於學習指令的容易理解,UFO-R11要發送指令就困難得多。從原理來看,我們要在UFO-R11的ir_code_to_send欄位裡填上紅外線訊號,這樣就能讓它發送訊號。但如果我們要在Home Assistant裡面操作的話,因為紅外線訊號的長度超過了Home Assistant的限制,所以我們得用MQTT發佈的方式將紅外線訊號設定到ir_code_to_send。
腳本內容的YAML如下:
action: mqtt.publish
metadata: {}
data:
evaluate_payload: false
qos: "2"
retain: false
topic: zigbee2mqtt/紅外線遙控器 電池 Zigbee UFO-R11 {Drosera heliamphora}/set
payload: >-
{"ir_code_to_send":
"B8Ug6BEuArUGgANAAQJmAi7gAgEBZgJAG0ABQAdAA8ABAmYCLuAAAUAXwAPAAeAHH4APgAXAK0AHwAGAGQEuAsAH4CMBA8UgLgJAAeADT8ALQE/AC8AHwAHgAw9AJ+ABAeATDeAFAeALKUAT4CMDQIdAA8AzQAtAA8APQAdAD+AHA8AXQAdBA0AHQANAJ0AHQAFAB8ADwBfAD+AvB0AB4Bc74CtrwDNAB0AD4ARjAgIuAg=="}
其中紅字的「紅外線遙控器 電池 Zigbee UFO-R11 {Drosera heliamphora}」是UFO-R11在Home Assistant的名稱,不是Entity ID。而藍字的部分就是紅外線訊號。
這個腳本就能讓紅外線訊號設定到UFO-R11的ir_code_to_send欄位,然後UFO-R11就會發送紅外線訊號。接著UFO-R11會自動清空ir_code_to_send,並等待下一個要發送的訊號,因此我們不需要手動重置ir_code_to_send,不用擔心UFO-R11會重複發送訊號。
值得注意的是,在UFO-R11設定ir_code_to_send、實際發送、清空ir_code_to_send的整個動作大概要3秒鐘。因此我們在Home Assistant發送紅外線訊號的時候,如果要發送多個紅外線指令,指令之間必須加上「delay」3秒以上的設定。這樣才能確保UFO-R11確實發送每一條紅外線指令。
結語 / Conclusion
在使用Home Assistant的這段經驗中,我用過了非常多種「萬能遙控器」。奇怪的是,每種萬能遙控器的學習指令與發送指令的方式都大不相同。本篇介紹的Moes UFO-R11要用z2m學習指令、用MQTT發佈來發送指令;Broadlink RM4 Pro要用Home Assistant的Learn Command學習指令、用Send Command發送指令;塗鴉系列的萬能遙控器則是在塗鴉自己的APP裡面學習指令,然後用「場景」來發送指令。目前看來,塗鴉的邏輯最容易理解,也非常好操作。但一定要用WIFI跟遠端伺服器連線才能運作的這點,還是讓我決定逐步替換塗鴉的WIFI設備。
雖然UFO-R11的學習跟發送都有點麻煩,但設定好之後,運作起來倒是意外地穩定。即時稍微被物品遮擋,紅外線訊號也能順利發送給冷氣。最後就是不知道這2顆AAA電池可以使用多久就是了。沒關係,兵來將擋、水來土掩,到時候冷氣開不起來我就知道了。
那這篇關於Moes UFO-R11跟Home Assistant的整合就介紹到這裡了。文章的最後要來問大家的是,你會想用萬能遙控器跟智慧家居整合嗎?
- 1. 會:回家自動開冷氣、離家自動關冷氣,幸福感UPUP。
- 2. 不會:這麼懶幹嘛,不過就是按個按鈕而已啊。
- 3. 再想想:如果遙控器沒電了怎麼辦? (A:就...換電池而已)
- 4. 好恐怖:這樣駭客不就可以遠端操控我們家的冷氣嗎?太危險了!
- 5. 其他:歡迎在下面留言,分享你的看法吧!
您好,請問 您使用 UFO-R11 時,搭配哪一款 zigbee coordinator 呢? 謝謝...
回覆刪除To Epson Guo,
刪除Zigbee Dongle CC2652P7
在Home Assistant搭配Zigbee2MQTT使用
謝謝您抽空回覆。
刪除再請教您兩個問題:
1. Zigbee Dongle CC2652P7 是哪個牌子和型號?
2. 我看您有使用 Tuya WSD500A,請問也是用 Zigbee Dongle CC2652P7 在 Home Assistant 搭配 Zigbee2MQTT 使用嗎?
先謝謝您。
To Epson Guo,
刪除Zigbee Dongle CC2652P7是從蝦皮的「HA小玩家」買來的:
https://shopee.tw/CC2652P7-zigbee2mqtt%E7%B6%B2%E9%97%9C%E3%80%8Eusb%E7%89%88%E3%80%8FHomeassistant-Z2M-%E6%A8%B9%E8%8B%BA%E6%B4%BE-ha-green-i.55902523.26504654917
Tuya的溫溼度感應器也是這樣子搭配Z2M使用沒錯。
不過我這邊看到的型號不是 WSD500A ,而是TS0201。
https://blogger.googleusercontent.com/img/a/AVvXsEiLc5sTUVzu_r9T-a2AsB9wDw_rXpKnmxTNg9KmBYO-Yd_xlcS_vFzODfQrGLhlvNC3gqA7CIdUfdRc5cZBfsoBzLIkJUSRQ_EY0LOmGDUDNZ6zfON4LCc1FOWejKQBus-GCq30gdIRMNeFalOQRU6Zp-e9cZhdZjFSnjtaPqtYQ1JgeOcvCFoyxQ
謝謝您的抽空回覆。
刪除