IMG_5188.JPG

之前有整合過紅外線產品進入Home assistant,

這次要用Broadlink Pro的RF功能,

將433Mhz遙控器控制的電燈吊扇整合入HA。

Broadlink Pro購買連結

Broadlink萬能遙控器目前有分地區,

非國際版的無法加入他的專用app內使用,

但是依然可以用HA控制,

所以陸版或國際版目前沒有差。

三個綠燈後會跟你說地區不對,

不用管他,

路由器確認Broadlink有連上wifi就好,

接著將萬能遙控器加入ha,

可以參考之前的教學連結

將Boardlink萬用遙控器加入Home assistant,拷貝紅外線碼,並顯示於Homekit控制空調(Samba share的使用)

 

接下來是學習RF碼,

到開發工具->服務->遙控:learn command如下圖設定,

就可以學習訊號,

下圖以學習風扇開機鍵為範例

截圖 2021-08-06 下午3.01.14.png

執行服務後,

HA會叫你長壓按鍵

截圖 2021-08-04 上午10.52.45.png

然後鬆開再按一次

截圖 2021-08-04 上午11.04.21.png

這個步驟要很有耐心,

博聯的燈號跟HA會不一致,

有時你都不知道要長壓還是要按一下,

多試幾次才能學到對的碼,

學到的碼可以參考上面連結查詢。(學到快吐血

 

然後有些前置作業要先做好,請參考Home assistant介面介紹

 

接著建立/config/packages/study_fan.yaml

內容如下,請依自己的實體id跟學到的RF碼修改,

RF碼查詢請參考上方的舊文章。

以下程式碼可以到https://github.com/percy10442/ha_template_fan下載,

橘色的部份是要修改的地方。

 

fan:
  - platform: template
    fans:
      study_fan:
        friendly_name: "書房電風扇"
        value_template: "{{ states('input_boolean.study_fan_state') }}"
        percentage_template: "{{ states('input_number.study_fan_speed_percent')|float }}"
        turn_on:
          service: script.study_fan_on
        turn_off:
          service: script.study_fan_off
        set_percentage:
          service: script.study_fan_set_speed_percent
          data:
            percentage: "{{ percentage }}"
        speed_count: 5  #我家有5段,假如家裡只有4段就是4,以此類推

#電風扇風速bar,我設5段0~100,每20為間隔
input_number:
  study_fan_speed_percent:
    name: Study Room Fan Speed Percent
    initial: 0
    min: 0
    max: 100
    step: 20   #我家有5段,假如家裡只有4段就是25,以此類推

#模擬判斷電風扇狀態
input_boolean:
  study_fan_state:
    name: Study Room Fan State

#對應腳本

#關電扇
script:
    study_fan_off:
      alias: Study room Fan Off
      sequence:

       #控制博聯關電扇
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sgCiAAUjBSIaDxkPBcIZEAQjBSIZDwYiBSQYDxkQBCMZDxkQGA8YEAQkGA8ZDwUjBSMFIwUjBSMEJBkPGBAEwxkOBiMEIxkQBCMFIxkPGQ8FIxkPGQ4ZDxkPBSMZDxkPBSMFIgUjBSMGIwQjGQ8ZDwXCGQ8FIwUkGA8FIwUiGg8ZDwQkGBAYDxkRFxAEJBgPGQ8EJAQkBCMFIwUjBSMZDxkQBAAF3AAAAAAAAA==

       #電扇狀態變為off
        - service: input_boolean.turn_off
          data:
            entity_id: input_boolean.study_fan_state       

   #開電扇
    study_fan_on:
      alias: Study room Fan On
      sequence:
        - service: input_boolean.turn_on
          entity_id: input_boolean.study_fan_state
        - service: switch.turn_on
          target:
            entity_id: switch.0x54ef44100001154b_channel_1  #連接的智能開關
        - delay:
            milliseconds: 1000
        - service: input_number.set_value
          entity_id: input_number.study_fan_speed_percent
          data:
            value: "60"
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sgCAABgQBSIZEBgSBCMFIwUjBSQEIxkPGRAEJATCGRAEIwUjGQ8FIgYjGQ4aDgUjGQ8ZDxkPGQ8FIxkPGBAFIgUjBSMFIgYiGRAYEAUiBcMZDwUjBCQYEAQjBSMZDxkPBSMZDhkRFxAYEAQkGBEXDwUkBCUEIwUkBCMZDxkPBSMFAAXcAAAAAAAAAAA=
    #電扇百分比控制
    study_fan_set_speed_percent:
      alias: Study room Fan Set Percentage
      sequence:
        - service: input_number.set_value
          entity_id: input_number.study_fan_speed_percent
          data:
            value: "{{ percentage }}"
        - delay:
            milliseconds: 500
        - service: >
            {% if states("input_number.study_fan_speed_percent")|int == 20 %}
              script.study_fan_1
            {% elif states("input_number.study_fan_speed_percent")|int == 40 %}
              script.study_fan_2
            {% elif states("input_number.study_fan_speed_percent")|int == 60 %}
              script.study_fan_3
            {% elif states("input_number.study_fan_speed_percent")|int == 80 %}
              script.study_fan_4
            {% elif states("input_number.study_fan_speed_percent")|int == 100 %}
              script.study_fan_5
            {% else %}
              script.study_fan_off
            {% endif %}

      #電扇百分比判斷
        - service: >
            {% if states("input_number.study_fan_speed_percent")|int == 20 %}
              input_boolean.turn_on
            {% elif states("input_number.study_fan_speed_percent")|int == 40 %}
              input_boolean.turn_on
            {% elif states("input_number.study_fan_speed_percent")|int == 60 %}
              input_boolean.turn_on
            {% elif states("input_number.study_fan_speed_percent")|int == 80 %}
              input_boolean.turn_on
            {% elif states("input_number.study_fan_speed_percent")|int == 100 %}
              input_boolean.turn_on
            {% elif is_state('switch.0x54ef44100001154b_channel_1', 'off') %}    #電扇連結的智能開關關閉,電扇的狀態也變為關閉
              input_boolean.turn_off
            {% else %}
              input_boolean.turn_off
            {% endif %}
          entity_id: input_boolean.study_fan_state   

    #博聯控制電扇風速1
    study_fan_1:
      sequence:
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sjEyAB4MCSAJIB0MCSAJIB4MHQwJIB0MHQwdDB0MCSAdDB0MHQwKHwogCSAJIB4MCSAeDAm/AAAAAAAA

    #博聯控制電扇風速2
    study_fan_2:
      sequence:
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sgD+AAbBGhAEIwUiGg4GIgYjGBAZDgUjGQ8ZDxkOGg4GIhoOGg4FIgYiBiMFIhoOBiIaDwQjBcIaDgYiBSIaDwUjBSIaDxkPBSIZDxoOGRAYDwUjGQ8ZEAQjBCMFIwUkGBAEIxkPBSMFwhkOBiIGIxkOBSMGIhkPGQ8FIxkPGQ8ZDxkPBSIZDhoPBSMFIgYiBiIZEAQjGQ8FIwXCGQ8FIwUjGQ8FIwUiGg4ZDwYiGRAYDxkPGRAEJBgPGQ8EIwUjBSQEIxkPBSIZEAQkBcEaDwUiBSMZDwUjBSIaDxkPBSIaDhkPGQ8ZDwUiGg8ZDgYjBSIFIwUjGQ8FIxkPBSIGAAXcAAAAAAAAAAAAAA==

    #博聯控制電扇風速3
    study_fan_3:
      sequence:
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sgCAABgQBSIZEBgSBCMFIwUjBSQEIxkPGRAEJATCGRAEIwUjGQ8FIgYjGQ4aDgUjGQ8ZDxkPGQ8FIxkPGBAFIgUjBSMFIgYiGRAYEAUiBcMZDwUjBCQYEAQjBSMZDxkPBSMZDhkRFxAYEAQkGBEXDwUkBCUEIwUkBCMZDxkPBSMFAAXcAAAAAAAAAAA=

    #博聯控制電扇風速4
    study_fan_4:
      sequence:
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sgCoAAYiBiMEIxkPBSMFIxkOBsIaDgUjBSIaDwUjBSIaDxkOBiIZDxkQGA8ZDwUjGQ8ZDgYiBSQEIwUjGRAEIwUjGQ8FwhkPBSIGIhoPBSIFIxoOGQ8FIxkPGQ8ZDxkPBSIaDxgPBSIGIwUiBiMZDwUjBSIaDgXCGg8FIgUkGA8FIwUjGQ8ZDwUjGQ8ZDxkOGRAEJBgPGRAEIwUjBSMFIxgPBSMFIxkPBQAF3A==

    #博聯控制電扇風速5
    study_fan_5:
      sequence:
        - service: remote.send_command
          target:
              entity_id: remote.shu_fang_yao_kong_remote
          data:
            command: b64:sgD+AAbCGQ8FIwUjGQ8FIwQjGQ8ZEAQjGQ8ZDxkQGA8FIhkQGBEEIwUlBCMFIwUiBiMYEAQjBcMYEAUjBCQYEAQjBSQYEBgQBCQYDxgQGBAYEQQkGBAYEAQjBCUEJAQkBCQEJRcRBCQEwxgRBCMFIxkQBCQEJRcRFxAEJBgPGRAYDxkPBSMZDxgQBCQEJAQkBCQEIwUkFxAEJATDGRAEJAUjGBAEJQQkGBIWEQQkFxEYERYSFhEEJRcSFhEEJQQkBCQEJAQkBCQYEQQkBMMYEgQkBCMZDwUjBSQXEBgQBCQYEBgQGBAYEAQkFxAZDwQkBCMFJAQkBCMFIxkPBCQFAAXcAAAAAAAAAAAAAA==

 

然後建立實體介面就完成了

Home Assistant教學總目錄

 

如果我的文章對你有幫助,歡迎送我喝杯咖啡喔

Buy Me A Coffee 建立免費、漂亮的個人贊助頁面,接收 PayPal 小額付款


arrow
arrow
    全站熱搜

    派西 發表在 痞客邦 留言(2) 人氣()