Broadlink

Broadlink integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 允许您控制和监控 Broadlink 通用遥控器、智能插头、电源插座、开关和传感器。

需要制造商的应用程序才能将新设备连接到网络。

支持以下设备:

  • 恒温器: Hysen HY02B05HFloureon HY03WE
  • 电源插座: MP1-1K3S2UMP1-1K4S
  • 传感器: e-Sensor
  • 智能插头: SP mini, SP mini+, SP mini 3, SP1, SP2, SP2-CL, SP2-UK/BR/IN, SP3, SP3-EU, SP3S-EU, SP3S-US, SP4L-EUSP4M-US
  • 通用遥控器: RM mini, RM mini 3, RM pro, RM pro+, RM plus, RM4 mini, RM4 pro, RM4C miniRM4 TV mate
  • Wi-Fi 控制开关: BG1, SC1
  • 智能灯泡: LB1, LB2

配置

要将 Broadlink integration 添加到您的 Home Assistant 实例中,请使用此 My 按钮:

Broadlink 可以被 Home Assistant 自动发现。如果发现了实例, 它将显示为 已发现。您可以立即进行设置。

手动配置步骤

如果没有自动发现,请不要担心!您可以设置一个 手动集成条目:

实体和子域

不再需要设置平台,除了自定义 IR/RF 开关。一旦设备配置完成,所有实体将自动创建。

entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 默认情况下与设备同名。要更改名称、图标或实体 ID,请在前端选择实体并选择右上角的设置图标。如果您认为某个实体不有用,也可以在那里禁用它。完成后不要忘记选择 更新 以保存更改。

entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 分为四个子域:

气候

climate 实体允许您监控和控制 Broadlink 恒温器。

遥控器

remote entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 允许您学习和发送通用遥控器的代码。配置具有 IR/RF 功能的设备时,它们会自动创建。

学习命令

使用 remote.learn_command 学习 IR 和 RF 代码。这些代码按设备分组并存储为 存储文件夹 中的命令。稍后可以使用 remote.send_command 操作发送它们。

数据属性 可选 描述
entity_id 遥控器的 ID。
device 要控制的设备名称。
command 要学习的命令名称。
command_type 命令类型。ir(默认)或 rf
alternative 切换命令指示器。

学习 IR 代码

要学习 IR 代码,请使用设备名称和要学习的命令调用 remote.learn_command

# 示例 configuration.yaml 条目
script:
  learn_tv_power:
    sequence:
      - action: remote.learn_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command: power

当 LED 闪烁时,将遥控器对准 Broadlink 设备并按下要学习的按钮。

之后,您可以使用相同的数据调用 remote.send_command 发送代码。您还可以访问存储文件夹中的代码以构建自定义 IR/RF 开关或使用前缀 b64: 发送它。

学习 RF 代码

学习 RF 代码分两步进行。首先使用 command_type: rf 选项调用 remote.learn_command

# 示例 configuration.yaml 条目
script:
  learn_car_unlock:
    sequence:
      - action: remote.learn_command
        target:
          entity_id: remote.garage
        data:
          device: car
          command: unlock
          command_type: rf

当 LED 第一次闪烁时,按住按钮以扫描频率。然后等待 LED 再次闪烁并再次按下按钮以捕获代码。

代码将以与 IR 代码相同的方式存储。您不需要指定 command_type 来发送它们,因为此信息存储在代码的第一个字节中。

提示: 使用操作后单击侧边栏中的通知并按照说明操作,以确保您在正确的时间按下按钮。

学习一系列命令

为了简化学习过程,您可以提供要依次学习的命令列表:

# 示例 configuration.yaml 条目
script:
  learn_tv_commands:
    sequence:
      - action: remote.learn_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command:
            - turn on
            - turn off
            - volume up
            - volume down

使用此操作后,系统会提示您按下与提供的顺序相同的按钮。检查通知以保持进度并确保您在正确的时间按下正确的按钮。

学习备用代码

某些协议需要切换位以区分一次按钮按下和另一次按钮按下。在这种情况下,学习备用代码将显著提高设备的响应率。

当一个按钮用于多种用途时,切换位很常见,例如电源按钮可以打开和关闭电视,音量按钮可以用于短按或长按。

如果代码有时有效,有时无效,您可以尝试使用 alternative: true 选项重新学习它:

# 示例 configuration.yaml 条目
script:
  learn_tv_power_button:
    sequence:
      - action: remote.learn_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command: power
          alternative: true

当 LED 第一次闪烁时,按下要学习的按钮。然后等待 LED 再次闪烁并按下相同的按钮。这样,将为同一命令学习两个不同的代码,并在每次调用时交替发送它们。

学习代码存储位置

学习的代码存储在 /config/.storage/ 中名为 broadlink_remote_MACADDRESS_codes 的 JSON 文件中。您可以使用文本编辑器打开此文件并复制代码以设置 自定义 IR/RF 开关 或将其作为 base64 代码 发送,但请注意:.storage 文件夹中的文件 不应手动编辑

发送命令

在使用 remote.learn_command 操作学习 IR 和 RF 代码后,您可以使用 remote.send_command 发送它们。您还可以使用此操作发送从其他地方获取的 base64 代码。

数据属性 可选 描述
entity_id 遥控器的 ID。
command 要发送的命令名称或以 b64: 为前缀的 base64 代码。
device 要控制的设备名称(base64 代码可选)。
num_repeats 命令重复的次数。
delay_secs 每次发送之间的间隔(秒)。

发送命令

要发送已学习的命令,请使用设备名称和要发送的命令调用 remote.send_command

# 示例 configuration.yaml 条目
script:
  tv_power:
    sequence:
      - action: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command: power

重复发送命令

使用 num_repeats: 多次发送相同的命令:

# 示例 configuration.yaml 条目
script:
  turn_up_tv_volume_20:
    sequence:
      - action: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command: volume up
          num_repeats: 20

发送一系列命令

您可以提供要依次发送的命令列表:

# 示例 configuration.yaml 条目
script:
  turn_on_ac:
    sequence:
      - action: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          device: air conditioner
          command:
            - turn on
            - turn off display

发送 base64 代码

有时您可能需要发送从其他地方获取的 base64 代码。为此使用 b64: 前缀:

# 示例 configuration.yaml 条目
script:
  turn_on_tv:
    sequence:
      - action: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          command: b64:JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=

发送一系列 base64 代码

您可以像发送普通命令一样发送一系列 base64 代码:

# 示例 configuration.yaml 条目
script:
  turn_on_ac:
    sequence:
      - action: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          command:
            - b64:JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
            - b64:JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=

混合命令和 base64 代码

您可以混合命令和 base64 代码:

# 示例 configuration.yaml 条目
script:
  turn_on_ac:
    sequence:
      - action: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command:
            - turn on
            - b64:JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=

删除命令

您可以使用 remote.delete_command 删除使用 remote.learn_command 操作学习的命令。

数据属性 可选 描述
entity_id 遥控器的 ID。
device 设备名称。
command 要删除的命令名称。

删除命令

要删除命令,请使用设备名称和要删除的命令调用 remote.delete_command

# 示例 configuration.yaml 条目
script:
  delete_tv_power:
    sequence:
      - action: remote.delete_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command: power

删除多个命令

您可以提供要删除的命令列表:

# 示例 configuration.yaml 条目
script:
  delete_tv_commands:
    sequence:
      - action: remote.delete_command
        target:
          entity_id: remote.bedroom
        data:
          device: television
          command:
            - power
            - source
            - menu

选择

select entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 允许您控制 Broadlink 设备的工作日。这些实体在配置支持的设备时会自动创建。

传感器

sensor entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 允许您监控 Broadlink 传感器。这些实体在配置具有传感器的设备时会自动创建。

灯光

light entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 允许您控制 Broadlink 灯光。您可以打开和关闭它们,调整亮度,调整颜色或设置色温。这些实体在配置具有灯光的设备时会自动创建。

时间

time entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 允许您控制 Broadlink 设备的时间。这些实体在配置支持的设备时会自动创建。

开关

switch entities实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 允许您控制和监控 Broadlink 智能插头、电源插座和开关。您可以打开和关闭它们,并且可以监控它们的状态和功耗(如果可用)。这些实体在配置具有开关的设备时会自动创建。

您还可以定义自定义 IR/RF 开关以使用通用遥控设备进行控制。

设置自定义 IR/RF 开关

第一步是通过配置流程正常配置设备。然后将这些行添加到您的 configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中:

# 示例 configuration.yaml 条目
switch:
  - platform: broadlink
    mac: MAC_ADDRESS
    switches:
      - name: Philips TV
        command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
        command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=

上面的示例创建了 switch.philips_tv,它使用提供的 MAC 地址的通用遥控器发送 IR/RF 代码。

Configuration Variables

mac string Required

通用遥控器的 MAC 地址。

switches list Required

包含所有自定义开关的列表。

name string Required

开关的名称。

command_on string (Optional)

作为“打开”命令发送的 base64 代码。

command_off string (Optional)

作为“关闭”命令发送的 base64 代码。

您可以为同一个遥控器配置多个开关:

# 示例 configuration.yaml 条目
switch:
  - platform: broadlink
    mac: MAC_ADDRESS
    switches:
      - name: Philips TV
        command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
        command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
      - name: LG TV
        command_on: JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcREhITEgAFGwABH0oSAAwzAAEfShEADQU=
        command_off: JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcREhITEgAFGwABH0oSAAwzAAEfShEADQU=

上面的示例创建了 switch.philips_tvswitch.lg_tv,它们与同一个通用遥控器相关。

重要: 始终为您的开关使用唯一名称。一个好的选择是将名称前缀为设备所在的区域,例如卧室电视。

使用 e-Control 遥控器

如果您已经在 e-Control 应用程序中学习了您的遥控器,可以使用此方法将它们“复制”到 Home Assistant。

首先在 e-Control 中获取或学习您要添加到 Home Assistant 的所有遥控器

  1. 下载

    此处 获取脚本。

  2. 从应用程序中导出数据

    在移动设备上打开 e-Control 应用程序。在左侧菜单中选择“分享”,然后选择“分享给 WLAN 中的其他手机”。它将生成您需要的文件。

  3. 从 Android 设备获取数据

    将 Android 设备连接到计算机并浏览 SD 卡/外部存储文件夹“/broadlink/newremote/SharedData/”。您需要获取以下文件并将它们放在与此脚本相同的文件夹中:

    jsonSubIr jsonButton jsonIrCode

  4. 安装要求

    运行 pip install simplejson。您必须在将用于运行脚本的 Python 版本中安装 simplejson。您可以通过尝试再次安装并确认看到“Requirement already satisfied”来确保已安装当前版本。

  5. 从设备获取数据

    导航到下载的文件夹并运行 python getBroadlinkSharedData.py。按照屏幕上的步骤操作。注意:这些脚本仅在 Python 2.7 上测试过。

  6. 安装 python-broadlink 库:

    git clone https://github.com/mjg59/python-broadlink.git
    cd python-broadlink
    sudo python setup.py install
    
  7. 测试代码 使用您已下载的 sendcode 脚本测试从设备获取的代码。 您需要使用 RM Pro IP 地址和 MAC 地址以及十六进制格式的代码编辑脚本。 运行脚本时,您知道代码有效时会收到消息。 代码已发送… 并非每个代码都有效。

  8. 将十六进制代码转换为 base64。 使用 工具将十六进制代码转换为 base64 以用于 Home Assistant。

使用 iOS 和 Windows 获取代码

  1. 使用 e-Control 应用程序学习所有适合的遥控器的代码。根据遥控器,尝试为按钮和/或遥控器添加有用的名称。这意味着您只需运行此过程一次,并有助于快速将它们添加到 Home Assistant。通过导航到汉堡图标,选择 share and select,然后选择 Share to other phones on WLAN 导出应用程序中的文件。

  2. 安装要求

    • 在 Windows PC 上下载并安装 Python 2.7。
    • 运行 pip install simplejson。您必须在将用于运行脚本的 Python 版本中安装 simplejson。您可以通过尝试再次安装并确认看到“Requirement already satisfied”来确保已安装当前版本。
    • 下载并安装 iBackup Viewer
    • 下载 这些 GitHub 文件。确保将它们放在 Windows 的 \Python27 路径中。确保下载的 getBroadlinkSharedData.py 位于此目录中。
  3. 将 iPhone 插入 Windows PC,打开 iTunes 并创建设备的非加密备份。

  4. 打开 iBackup viewer,然后选择您创建的 iOS 备份。导航到应用程序图标,然后向下滚动直到找到 e-control.app,选择它。选择并提取 Documents/SharedData 部分中的 jsonButton、jsonIrCode 和 jsonSublr 文件。将这些文件放在与 getBroadlinkSharedData.py 相同的位置。

  5. 现在打开命令提示符并导航到上述文件所在的目录,例如 C:\Python27。现在运行命令 python getBroadlinkSharedData.py,您应该会看到类似的内容:

    C:\Python27>python getBroadlinkSharedData.py
    ID: 1 | Name: TV
    ID: 2 | Name: Upstairs
    ID: 3 | Name: Sort in order
    ID: 4 | Name: Soundbar
    ID: 5 | Name: TV
    ID: 6 | Name: Xbox One
    ID: 7 | Name: User-Defined Aircon
    ID: 8 | Name: Sort in order
    ID: 9 | Name: User-Defined Aircon
    ID: 10 | Name: Kids Fan
    ID: 11 | Name: Downstairs
    ID: 12 | Name: Ceiling Fan
    ID: 13 | Name: Samsung TV
    ID: 14 | Name: Xbox One
    ID: 15 | Name: SONY SoundBar
    ID: 16 | Name: Fire TV
    ID: 17 | Name: New RF Remote
    

    选择要提取的遥控器 ID:

    Select accessory ID: 5
    [+] You selected:  TV
    [+] Dumping codes to TV.txt
    
  6. 现在应该在同一目录中有一个以遥控器名称结尾的文件,文件名以 .txt 结尾。打开它,它将包含 Home Assistant 所需的 Base64 代码。为了确保这些代码正常工作,您可能需要在 configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件(或您拥有开关的任何位置)中添加 == 到代码末尾。

使用 Windows 和 Broadlink Manager 获取代码

  1. 从此 SourceForge 链接 此处 安装 Broadlink Manager。
  2. 打开应用程序并点击“扫描”以激活您的 Broadlink 设备。
  3. 点击“学习新命令”并按照屏幕上的说明进行操作。
  4. “OnRawData Base64” 是与 Home Assistant 一起使用的值。

使用 Node-RED 获取代码

  1. 在 Node-RED 中安装 Broadlink Control 调色板(点击右上角的汉堡菜单> 设置> 调色板> 安装并输入 Broadlink。点击安装 node-red-contrib-broadlink-control。

  2. 安装后,验证新调色板标题为 broadlink 是否在节点菜单中可用。

  3. 将 RM 节点拖到空白流中并双击以配置节点。

    a. 为您的 RM 设备命名以便于识别
    b. 点击铅笔以编辑设备信息
    c. 输入 Broadlink RM PRO 或 RM Mini 的 MAC 地址
    d. 输入 Broadlink RM PRO 或 RM mini 的 IP 地址
    e. 将目录字段留空。
    
  4. 点击更新,设备字段应显示新添加设备的 MAC 地址。如果没有,只需选择它。

  5. 在操作字段中,选择学习,然后点击完成。

  6. 将注入节点拖到 RM 节点的左侧并链接它们。注入类型无关紧要。保留默认值。

  7. 将模板节点拖到流中 RM 节点的右侧并链接它们。

  8. 双击模板节点进行编辑,选择:

    属性: msg.payload
    格式: Mustache 模板
    模板字段: 输入 '{{payload.data}}'。
    输出为: 纯文本
    
  9. 将调试节点拖到模板节点的右侧并链接它们。

  10. 显示调试消息,部署流并点击注入按钮。

  11. 调试窗口中会显示一条消息:

    3/23/2019, 9:56:53 AMnode: RM_Mini1
    msg : string[47]
    "Please tap the remote button within 30 seconds."
    
  12. 将 IR 遥控器对准 RM 设备并按下所需按钮约 2 秒钟。调试窗口中会显示一组数字。例如:

    '38,0,132,3,19,18,19,18,19,18,19,17,20,54,20,54,20,54,19,18,19,18,19,18,19,17,20,17,20,17,20,54,20,17,19,18,19,18,19,18,19,17,20,17,20,54,20,17,20,54,19,55,19,54,20,54,20,54,19,55,19,0,6,6,150,146,20,54,20,54,20,54,19,18,19,18,19,18,19,17,20,17,20,54,20,54,19,55,19,18,19,17,20,17,20,17,20,17,20,17,20,54,19,18,19,18,19,18,19,17,20,17,20,17,20,54,19,18,19,55,19,54,20,54,20,54,20,54,19,55,19,0,6,6,150,146,20,54,20,54,19,55,19,18,19,17,20,17,20,17,20,17,20,54,19,55,19,54,20,17,20,17,20,17,20,17,20,17,19,18,19,55,19,17,20,17,20,17,20,17,20,17,19,18,19,55,19,18,19,54,20,54,20,54,19,55,19,54,20,54,20,0,6,6,149,147,20,54,19,55,19,54,20,17,20,17,20,17,20,17,20,17,19,55,19,54,20,54,20,17,20,17,20,17,19,18,19,18,19,18,19,54,20,17,20,17,20,17,20,17,19,18,19,18,19,54,20,17,20,54,20,54,20,54,19,...'
    

这是我们需要再次传输以复制相同遥控器功能的代码。

使用 Node-RED 传输代码

  1. 在我们之前创建的同一流上拖动另一个 RM 节点。RM 节点应默认配置为创建的 RM 设备。

  2. 在操作字段中,选择 - 从 msg.payload 设置 -。

  3. 拖动一个注入节点并为其命名一个与遥控器按钮功能相关的有意义的名称,例如“TV On”或“TV Source”。

  4. 拖动一个模板节点并双击它进行配置:

    属性: msg.payload
    格式: Mustache 模板
    模板: 输入以下内容:
    '{
       "action" : "send",
       "data" : [ 38, 0, 34, 1, 40, 15, 40, 15 ] // 在此处输入上面第 12 点中的整个代码,不带尾随“。”。
    }'
    在输出为字段中,选择“解析的 JSON”。
    
  5. 点击完成。

  6. 拖动一个调试节点并将其连接到 RM 节点的输出。

  7. 将注入节点连接到模板节点,将模板节点连接到 RM 节点。

  8. 点击部署以激活流,然后点击注入按钮。调试窗口应显示调试消息。例如:

    {"action":"send","data":   [38,0,152,0,0,1,39,148,19,18,18,19,18,55,19,18,18,19,18,19,18,19,18,55,18,56,18,19,18,55,18,19,18,56,18,18,19,55,18,19,18,19,18,18,18,56,18,19,18,18,19,55,18,56,18,18,19,18,18,19,18,19,18,55,19,18,18,19,18,19,18,19,18,18,18,19,18,19,18,55,19,55,18,19,18,19,18,18,19,18,18,56,18,19,18,18,19,55,18,56,18,18,19,18,18,19,18,19,18,19,18,18,19,18,18,56,18,55,18,19,18,19,18,19,18,18,19,55,18,19,18,55,19,18,18,56,18,19,18,18,19,18,18,19,18,19,18,19,18,18,18,56,18,0,13,5],"status":"OK"}
    

“status”:“OK” 在末尾是 Broadlink RM 设备已连接并已传输有效负载的反馈。

现在您可以添加任意数量的模板节点,每个节点都有特定的代码,并添加任何类型的输入节点以激活模板并传输代码。

使用 broadlink_cli 获取代码

也可以使用 python-broadlink 项目的 broadlink_cli 获取代码。

首先使用发现找到您的 Broadlink 设备:

$ ./broadlink_discovery
Discovering...
###########################################
RM2
# broadlink_cli --type 0x2787 --host 192.168.1.137 --mac 34ea34b45d2c
Device file data (to be used with --device @filename in broadlink_cli) :
0x2787 192.168.1.137 34ea34b45d2c
temperature = 27.1

然后在 cli 命令中使用此信息。支持 IR 和 RF 学习。

学习 IR 代码

使用 --learn 获取 IR 代码:

./broadlink_cli --learn --device "0x2787 192.168.1.137 34ea34b45d2c"
Learning...

按下遥控器上的按钮,您将获得代码:

260058000001219512131114113910141114111411141114103911391114103911391139103911391039113911141039111411391015103911141114113910141139111410391114110005250001274b11000c520001274b11000d05
Base64: b'JgBYAAABIZUSExEUETkQFBEUERQRFBEUEDkROREUEDkRORE5EDkRORA5ETkRFBA5ERQRORAVEDkRFBEUETkQFBE5ERQQOREUEQAFJQABJ0sRAAxSAAEnSxEADQU='

学习 RF 代码

使用 --rfscanlearn 获取 RF 代码:

$ ./broadlink_cli --rfscanlearn --device "0x2787 192.168.1.137 34ea34b45d2c"
Learning RF Frequency, press and hold the button to learn...

按住遥控器上的按钮。

您会知道它成功时会看到以下文本:

Found RF Frequency - 1 of 2!
You can now let go of the button
Press enter to continue...

如果尝试失败,您将看到错误:

RF Frequency not found

如果失败发生,您可能只需在 Learning RF Frequency 步骤期间继续按下按钮,因为某些遥控器似乎在按住按钮时不会连续传输。

成功后,执行以下两个选项之一:

  1. 要学习单次按钮按下 RF 代码,请按 Enter 并按照提示操作:

    To complete learning, single press the button you want to learn
    

    短按按钮,您将获得代码:

    Found RF Frequency - 2 of 2!
    b2002c0111211011211121112111212110112122101121112111202210211121112110221011211121112121102210112121111021112221101121211100017b10211111211121102111212210112121111121102111212210211121102210211111211121102122102111112121101121112122101121211000017c10211111211022102111212210112121111022102112202210211121102210221011211022102122102210112121101122102122101121211100017b10211111211121102210212210112122101121102210212210221021112110221011211121112121102210112121111121102122101121221000017b1121101121112111211121211110212210112111211121211121102210211121101121112111212111211011222110112111212111112121100005dc000000000000000000000000
    Base64: b'sgAsAREhEBEhESERIREhIRARISIQESERIREgIhAhESERIRAiEBEhESERISEQIhARISERECERIiEQESEhEQABexAhEREhESEQIREhIhARISERESEQIREhIhAhESEQIhAhEREhESEQISIQIRERISEQESERISIQESEhEAABfBAhEREhECIQIREhIhARISERECIQIRIgIhAhESEQIhAiEBEhECIQISIQIhARISEQESIQISIQESEhEQABexAhEREhESEQIhAhIhARISIQESEQIhAhIhAiECERIRAiEBEhESERISEQIhARISERESEQISIQESEiEAABexEhEBEhESERIREhIREQISIQESERIREhIREhECIQIREhEBEhESERISERIRARIiEQESERISERESEhEAAF3AAAAAAAAAAAAAAAAA=='
    
  2. 要学习按钮按住 RF 代码,请按住要学习的按钮 1-2 秒钟,然后立即按 Enter。

    • 您将看到与上面显示的短按相同的提示。您应该看到它返回不同的 base64 代码。
    • 测试 base64 代码以确保它执行按钮“按住”命令,而不是按钮“按下”命令。
    • 这可能需要一些反复试验才能在按 Enter 扫描代码之前正确按住时间。

从其他项目转换代码

对于旧/棘手的设备,另一种可能性是尝试使用 LIRC 项目收集的数据获取代码。

假设您的(或类似的)设备在这些数据库之一中:

您可以从 irdb2broadlinkha 项目中获取 irdb2broadlinkha.sh 并尝试将代码转换为适合 Home Assistant 的格式。