要將Broadlink萬用遙控器加入Homekit,
需要在Home assistant進行以下設定,
首先到設定裡的整合->新增整合->Broadlink->主機則輸入萬能遙控器的IP,
取得Broadlink IP方法如下,打開博聯app查詢,以這個為例就是192.168.0.171
然後有些前置作業要先做好,請參考Home assistant介面介紹
接著進入packages資料夾建立一個"aircondition_remote.yaml",
檔案名稱任意.yaml,英文小寫就好,
然後輸入以下指令
smartir:
climate:
- platform: smartir
name: 客廳空調
unique_id: livingroom_ac
device_code: 1024 #依據你的空調
controller_data: remote.ke_ting_yao_kong_remote #博聯在home assistqant的名稱
temperature_sensor: sensor.temperature_xxxxx #溫濕度計在home assistqant的名稱
humidity_sensor: sensor.temperature_xxxxx #溫濕度計在home assistqant的名稱
power_sensor: sensor.xxxx #判斷冷氣開關的sensor在home assistqant的名稱
上面的程式碼意義請參考來處
https://github.com/smartHomeHub/SmartIR/blob/master/docs/CLIMATE.md
因為我家冷氣是panasonic PX,
device_code是1024,
controller_data:要到開發工具->狀態->實體打remote就會自動顯示
temperature_sensor,humidity_sensor如果之後有整合其他智能家居的溫濕度就可以填入相關的實體名稱,
power_sensor則可以利用門窗傳感器黏在出風口判斷。
接著到https://github.com/smartHomeHub/SmartIR,
按Code下載,
解壓縮後將smartir放進custom_components
然後回到home assisstant的使用者打開進階模式跟重啟
重啟完整後homekit就會有冷氣控制器了,
假如要顯示在home assistant上則要到總覽開啟,
操作如下。
假如你家的冷氣都不在device_code裡,
你就必須自行拷貝冷氣遙控器的紅外碼,
到/config/custom_components/smartir/codes/climate/1024.json一個一個更改紅外線碼,
以下內容為例,
綠色就是冷氣關機碼,
藍色就是16度冷氣風量小的紅外線碼,
"commands": {
"off": "JgC8AXM5Dw4OKw0QDBEMEA8ODBEODg8ODg8ODg4PDBAPKwwQDRAODwwQDw4ODw4ODysOKw4rDg8ODwwtDBANEA4PDg4PDg4PDBAPDgwRDg4NEAwRDg4NEAwQDRAODwwQDw4MEQwQDRAODwwQDRAODw4ODw4MEQwQDSwPKwwQDRAMEQ4ODw4OAAFKcjoODg0tDg4NEAwRDBAPDgwRDg4PDgwRDg4ODw4rDBEMEA0QDg8MEA8ODg8MLQ4rDisPDg4PDC0ODw0PDRAMEQ4ODw4ODw4ODw4ODw4ODRAODw4ODRAMEA0tDg4NLQ4ODRAODw4ODS0ODg0sDysMEA0QDg8MEA0QDg8MEA0QDg8OKwwtDw4OKw0QDg4ODw4rDRAMEQwQDw4MEQ4ODw4MEQ4ODRAMEQwQDg8MEA0QDg8ODg0QDC0NLQ4rDg8ODg4PDBEODg0QDBAPDgwRDC0OKw0tDBANEA4PDBAODwwRDg4ODw4ODRAODwwQDRAMEQ4ODRAMLQ0QDg8MEA0QDBEODg0sDw4MEQ4ODRAODw4ODRAODwwQDRAMEQ4ODw4MEQwQDRAODg0tDisMEQ4rDg8ODg8rDgANBQAAAAAAAAAAAAAAAA==",
"cool": {
"low": {
"16": "JgC8AXE7DBANLQwQDRAMEQwQDRAMEQwQDRAMEQwQDRAMLQwRDBAPDg4PDBAPDg4PDC0MLQ0sDRANEA4rDRAMEA8ODBEMEA0QDg8MEA8ODBEODg0QDBEODg0QDBEMEAwRDg4PDg4PDg4NEA4PDBANEAwRDg4NEA4PDC0MLQ0QDBANEAwRDBANAAFLczkNEAwtDg8MEA8ODBEODg0QDBEMEA0QDBEMEA4rDw4ODwwQDw4MEQ4ODRAOKw0tDC0ODwwQDSwNEAwRDg4PDgwRDBANEAwRDBANEAwRDg4ODw4rDg8ODg0tDisOKw0QDBEMEA4PDBEODg4PDisODwwQDRAODwwQDRAMEQwQDRAOKw8rDg4OKw8ODC0PKw4ODRAMEQwQDRAMEQwQDg8MEQwQDRANEAwQDBEMEA0QDBEMEA8ODisNLQ4rDBEMEA4PDBEMEA0QDBAPDgwRDisMLQ8rDg4NEAwRDg4ODw4PDBANEAwQDRAMEQwQDRAMEQwQDRAOKw0QDg8MEA0QDg8MEA0sDw4ODwwQDw4MEQ4ODw4MEQwQDRAMEQwQDRAMEQwQDRAMLQ4rDw4ODwwQDw4MEQwtDAANBQAAAAAAAAAAAAAAAA==",
學習代碼可以參考官方網站
https://www.home-assistant.io/integrations/broadlink/
以我學習電視紅外線為例,
我同時拷貝了所有的按鍵寫成腳本,
然後執行,
當LED閃爍時,將遙控器指向Broadlink設備,然後按要學習的按鈕,
home assistant左下角的通知提示就會告訴你現在要拷貝哪個紅外線碼,
按完後他會存在.storage(隱藏資料夾)的broadlink_remote_MACADDRESS_codes
腳本寫法如下
# Example configuration.yaml entry
script:
learn_chimei_commands: #自己設定的腳本名稱
sequence:
- service: remote.learn_command
target:
entity_id: remote.zhu_wo_yao_kong_remote #查詢的遙控器實體名稱
data:
device: chimei #自己設定的電視名稱
command: #自己設定想拷貝的各種狀態
- power
- up
- down
- left
- right
- back
- home
- youtube
- volume up
- volume down
- ok
- menu
建議要加入home assistant的萬能遙控器可以選擇boardlink的,
便宜又有大神整理好,
比較方便。
如果我的文章對你有幫助,歡迎送我喝杯咖啡喔