Logitech Harmony Hub

harmony 集成允许您控制您的 Harmony Hub 设备 的状态。

支持的设备:

  • Harmony Hub
  • Harmony Companion
  • Harmony Pro
  • Harmony Elite
  • Harmony Pro 2400

配置

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

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

手动配置步骤

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

  • 浏览到您的 Home Assistant 实例。

  • 转到 设置 > 设备与服务

  • 在右下角,选择 Add Integration 按钮。

  • 从列表中选择 Logitech Harmony Hub

  • 按照屏幕上的说明完成设置。

注意: 根据固件的不同,您可能需要启用XMPP才能使该集成正常工作。通过您的Harmony应用程序,进入:菜单 > Harmony设置 > 添加/编辑设备和活动 > 遥控器和集线器 > 启用XMPP

在配置Logitech Harmony Hub后,可以在设置中通过 设置 -> 设备与服务 >> 您的Logitech Harmony Hub 调整默认活动和发送命令到设备之间的秒数。

配置文件

启动时,每个设备将在您的Home Assistant配置目录中写入一个文件,格式为:harmony_UNIQUE_ID.conf。文件将包含:

  • 所有已编程活动名称和ID号的列表
  • 所有已编程设备名称和ID号的列表
  • 每个已编程设备的所有可用命令的列表

当Harmony HUB有新的配置时,该文件将被覆盖,无需重启Home Assistant。

动作 remote.turn_off

关闭从当前活动开始时打开的所有设备。

数据属性 可选 说明
entity_id 目标实体ID。

动作 remote.turn_on

开始活动。如果没有指定活动,将启动configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more]中的默认 activity。指定的活动可以是活动名称或从写入您Home Assistant配置目录的配置文件中的活动ID。

数据属性 可选 说明
entity_id 目标实体ID。
activity 要启动的活动ID或活动名称。

示例

在文件 ‘harmony_REMOTENAME.conf’ 中,您可以找到可用的活动,例如:

{
    "Activities": {
        "-1": "PowerOff",
        "20995306": "观看电视",
        "20995307": "玩游戏",
        "20995308": "听音乐"
    }
}

使用活动名称 ‘观看电视’,您可以通过自动化执行以下操作以开启该活动:

actions:
  - action: remote.turn_on
    target:
      entity_id: remote.bed_room_hub
    data:
       activity: "观看电视"

动作 remote.send_command

向一个设备发送单个命令或一组命令,设备ID和可用命令在启动时被写入配置文件。您可以选择指定希望重复命令的次数以及在重复命令之间想要的延迟。

数据属性 可选 说明
entity_id 目标实体ID。
device 要发送命令的设备ID或设备名称。
command 要发送的单个命令或命令列表。
num_repeats 重复命令的次数。
delay_secs 发送每个命令之间的秒数。

在文件 ‘harmony_REMOTENAME.conf’ 中,您可以找到可用的设备和命令,例如:

{
    "Devices": {
        "电视": {
            "commands": [
                "PowerOff",
                "PowerOn"
            ],
            "id": "327297814"
        },
        "接收器": {
            "commands": [
                "PowerOff",
                "PowerOn",
                "音量增加",
                "音量减少",
                "静音"
            ],
            "id": "428297615"
        }
    }
}

一个典型的动作来发送多个按钮按下的示例如下:

action: remote.send_command
target:
  entity_id: remote.tv_room
data:
  command:
    - PowerOn
    - 静音
  device: 接收器
  delay_secs: 0.6

或者

action: remote.send_command
target:
  entity_id: remote.tv_room
data:
  command:
    - PowerOn
    - 静音
  device: 428297615
  delay_secs: 0.6

动作 harmony.change_channel

向Harmony HUB发送更改频道命令

数据属性 可选 说明
entity_id 目标实体ID。
channel 要更改到的频道号。

一个典型的更改频道的动作如下:

action: harmony.change_channel
target:
  entity_id: remote.tv_room
data:
  channel: 200

动作 harmony.sync

强制同步Harmony设备和Harmony云。

数据属性 可选 说明
entity_id 目标实体ID。

示例

可以利用模板传感器在前端显示当前活动。

template:
  - sensor:
    - name: '家庭房间Harmony遥控器'
      state: >
        {{ state_attr('remote.family_room', 'current_activity') }}
    - name: '卧室Harmony遥控器'
      state: >
        {{ state_attr('remote.bedroom', 'current_activity') }}

下面的示例展示如何使用Harmony遥控器的当前活动控制一个input_boolean开关。当遥控器状态发生变化且Kodi活动开始时,开关将打开;当遥控器状态发生变化且当前活动为“PowerOff”时,开关将关闭。

automation:
  - alias: "从Harmony Hub开启观看电视"
    triggers:
      - trigger: state
        entity_id: remote.family_room
    conditions:
      - condition: template
        value_template: '{{ trigger.to_state.attributes.current_activity == "Kodi" }}'
    actions:
      - action: input_boolean.turn_on
        target:
          entity_id: input_boolean.notify
  - alias: "从Harmony Hub关闭电源"
    triggers:
      - trigger: state
        entity_id: remote.family_room
    conditions:
      - condition: template
        value_template: '{{ trigger.to_state.attributes.current_activity == "PowerOff" }}'
    actions:
      - action: input_boolean.turn_off
        target:
          entity_id: input_boolean.notify