:::

Home Assistant搭配Broadlink RM4 Pro如何學習「無線電」訊號? / How to Learn RF (Radio Frequency) with Broadlink RM4 Pro in Home Assistant?

2023-1020-111805.png

因為Broadlink RM4 Pro韌體的問題,我們必須要用行動裝置的APP開啟「開始學習」,然後才能用Home Assistant來學習指令。


BroadLink RM4 Pro的遙控器功能 / BroadLink RM4 Pro as a Remote Controller 

https://www.ibroadlink.com/productinfo/762672.html

https://www.ibroadlink.com/productinfo/762672.html 

為了讓Home Assistant能夠發送遙控器的訊號來控制冷氣、電視、手指機器人,我買了BroadLink的RM4 Pro來整合。

Broadlink_Listing_1024x1024_2x-cropped.png

RM4 Pro的功能是萬能遙控器。其萬能的賣點,在於它具備了IR跟RF兩種類型訊號的發送能力。只要透過學習訊號的操作,將訊號保存在RM4 Pro之後,我們就能用RM4 Pro取代遙控器來發送訊號、控制家電。

在無線訊號的兩種類型中,IR是紅外線(infrared)的縮寫。需要用遙控器對準才能控制的家電,大多都屬於IR的類型。最常見的就是冷氣跟電視。

另一方面,RF則是無線電(Radio Frequency)的簡稱,也被稱為「無線射頻」或是「射頻」。如果遙控器不需要對準也能控制的家電,大多都屬於RF類型。家裡常見的RF家電有電風扇與除溼機。

不過需要注意的是,像是RM4 Pro這種RF遙控器只能學習最基本的RF訊號,實際上大部分的RF裝置是無法學習的。RM4 Pro只支援學習315MHz跟443MHz兩種頻段,目前我用過可以學習的裝置大多都屬於後者,使用其他頻段的RF訊號則無法學習。除此之外,現實中我們還會用到各種跟安全性有關的RF裝置,例如鐵卷門的遙控器、汽車鎖定與解鎖的遙控器,這些裝置雖然也是走RF訊號,但額外加上了安全性的設計,讓人無法單純使用RM4 Pro來學習。

https://play.google.com/store/apps/details?id=cn.com.broadlink.econtrol.international

https://play.google.com/store/apps/details?id=cn.com.broadlink.econtrol.international

如果要使用RM4 Pro來學習遙控器指令,最簡單的方法是在行動裝置上安裝BoardLink APP。一開始剛拿到BM4 Pro的時候,我們也需要靠BoardLink APP來為BM4 Pro作初始化的設置,以下我們將BoardLink APP簡稱為APP。

設置的方法很簡單,大致上的流程有:

  1. 將BM4 Pro接上MicrUSB的電源。確認BM4 Pro閃藍光。
  2. 拿重置針戳入BM4 Pro的RESET孔。確認BM4 Pro閃藍光停止,過段時間會再開始閃光。這就表示重置完成。
  3. 打開APP。按照APP的指示來設置BM4 Pro。
  4. 其中一步APP會要你的行動裝置WIFI連到BM4 Pro開啟的熱點。
  5. 連上後APP會自動抓取相關設定,並請你提供目前室內可連上網際網路的SSID與密碼。
  6. 儲存後再配合一些設定,過段時間,BM4 Pro就加入到你的設備清單了。

上述步驟中最重要的是要讓BM4 Pro連上你室內的WIFI,而這個WIFI必須跟Home Assistant處於相同的網路中。一旦設定完成,接下來我們就能在Home Assistant來操控BM4 Pro。


Home Assistant

2023-1020-095030.png

只要在Home Assistant的「整合」新增「BroadLink」,BroadLink整合就能夠自動抓到連上WIFI的BM4 Pro。

2023-1020-101945.png

設定完成後,還要記得把「設備上鎖」的設定解除掉。這樣Home Assistant才能控制BM4 Pro。

2023-1020-102341.png

設置完成後,我們就能在Home Assistant的「開發工具」、「服務」裡,用「Remote: Learn Command」來學習遙控器的訊號。

https://youtu.be/JhPYKHoJsD8 

Simon的影片有相當完整的操作細節介紹,有需要的話可以跟著影片慢慢設定即可。

無法學習RF指令 / Learn Command: RF is not working

2023-1020-102700.png

Home Assistant透過BM4 Pro學習IR指令的過程非常順利,但當我們要學的訊號改為RF無線電的時候,BM4 Pro就怎樣都學不起來。

Screenshot_20231020-102759_BroadLink.png

但是如果在APP裡面學習RF指令,運作起來倒是都沒有什麼問題。

這是為什麼呢?

https://community.home-assistant.io/t/broadlink-rm4-pro-rf-learning-not-supported/250734/3

https://community.home-assistant.io/t/broadlink-rm4-pro-rf-learning-not-supported/250734/3

scoutamis123也遇到了類似的問題,並提出了一套繞彎路的解決方法。實際使用雖然可行,但這還真的很怪。簡單來說,問題點就在於Home Assistant使用BroadLink整合無法真的啟動BM4Pro硬體的「按鍵學習」中「接收指令」的功能。雖然Home Assistant可以讓BM4Pro開始學習遙控器的指令,但不管遙控器怎麽按,BM4Pro都不會接收並儲存遙控器的訊號。

為了克服這個問題,我們必須要搭配APP的「按鍵學習」來使用。以下是我參考scoutamis123的建議再整理的做法。


在Home Assistant裡用BM4Pro學習RF指令 / Learning RF Command in Home Assistant

前置作業 / Preparement

在開始學習之前,我們需要準備好以下物品:

2023-1020-105041.png

Home Assistant做好可以Learn Command的準備。其中目標(Target)、Device (你自行定義)、Command (你自行定義)、Comment Type: rf、Alternative一定要設定。確保右下角的「執行服務」是可點選的狀態。有時候Alternative關閉時可以學到指令,有時候需要開啟才能學到指令。

2023-1020-105154.png

在Home Assistant開啟另一個視窗,做好Send Command的準備。其中目標、Device、Command一定要設定,確保右下角的「執行服務」是可點選狀態。

其他還需要準備的部分如下:

  1. BM4 Pro設備本體。
  2. 遙控器。要跟BM4 Pro擺在一起,越靠近越好。
  3. 行動裝置上的APP,開啟到準備開始學習RF按鍵的前一步。

學習訊號 / Learn Command

接下來的做法有點複雜,我們一步一步來看。

20231019_225931.jpg

第一步,在APP上開啟學習按鍵的功能。

20231019_225934.jpg

此時APP會倒數30秒,BM4Pro會亮起紅色的指示燈,以下動作要在這30秒內完成。

20231019_225942.jpg

第二步,在Hoem Assistant裡按下「執行服務」。此時BM4Pro不會有變化,紅色指示燈持續亮著。

20231019_225949.jpg

第三步,按下遙控器的按鈕。如果BM4Pro有收到訊息,紅色指示燈會熄滅。

20231019_230039.jpg

我們要確保Home Assistant的「執行服務」出現綠色的打勾。這樣表示有接收到訊號。但要注意的是,如果「執行服務」超過10秒鐘,它也會出現綠色的打勾。因此這個綠色打勾不見得是成功的訊號。

此時APP的畫面可能是倒數30秒結束、但沒有學到訊號。也可能會接收到遙控器的訊號。但這些都跟Home Assistant的設定無關。

2023-1020-105312.png

第四步是到Send Command按下「執行服務」。如果出現綠色勾勾,表示有正確學習到。如果出現紅色的警告訊息,表示學習失敗。可能需要回到Learn Command的設定畫面,把Alternative打開或關閉,然後再回到第一步重新學習看看。


結語 / Conclusion

Copy_of_20231019_225949.jpg

我不太確定這到底是不是BM4Pro這個型號才跟Home Assistant不合,但真沒想到知名的BroadLink設定起來竟然還有這麼大的坑,出乎意料之外。

https://community.home-assistant.io/t/guide-how-to-learn-broadlink-rf-codes/62119/121

https://community.home-assistant.io/t/guide-how-to-learn-broadlink-rf-codes/62119/121

nick2525提供了另一個做法,但看起來更加複雜。

這個教訓告訴我們,應該要把所有想要用的功能都先在Google搜尋搜尋一次才是。不能單純相信設備支援443MHz的RF功能就買下去啊……


文章最後要來問的是。你用過那些智慧家庭的裝置呢?

  1. 智慧插座:控制電力開關。
  2. 智慧溫度計、溼度計:偵測環境訊息。
  3. 智慧遙控器:控制其他家電。
  4. 其他:在下面留言吧!