Hyperion


The hyperion platform allows you to integrate your Hyperion into Home Assistant. Hyperion is an open source Ambilight implementation which runs on many platforms.

NOTE: Hyperion-NG is supported, the original discontinued Hyperion is not supported by this integration.

Configuration

To use your Hyperion light in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
light:
  - platform: hyperion
    host: IP_ADDRESS

Configuration Variables

host string Required

The IP address of the device the Hyperion service is running on.

port integer (Optional, default: 19444)

The port used to communicate with the Hyperion service.

name string (Optional)

The name of the device used in the frontend.

priority integer (Optional, default: 128)

The priority for color and effects, make sure this is lower then the streaming sources priority in hyperion itself (typically lower than 200 is appropriate).

Effects

The effect list is dynamically pulled from the Hyperion server. The following extra effects will be available:

  • BOBLIGHTSERVER: Use a Boblight-Server configured in Hyperion.
  • GRABBER: Use a ‘Platform Capture’ grabber that is configured in Hyperion.
  • V4L: Use a ‘USB Capture’ V4L device that is configured in Hyperion.
  • Solid: Use a solid color only.

Examples

To start Hyperion with an effect, use the following automation:

automation:
- id: one
  alias: Turn Hyperion effect on when light goes on
  trigger:
    - platform: state
      entity_id: light.hyperion
      to: 'on'
  action:
    - service: light.turn_on
      data:
        entity_id: light.hyperion
        effect: "Full color mood blobs"

To have the lights playing an effect when pausing, idle or turn off a media player like Plex you can use this example:

- alias: Set hyperion effect after playback
  trigger:
    - platform: state
      entity_id: media_player.plex
      to: 'off'
    - platform: state
      entity_id: media_player.plex.plex
      to: 'paused'
    - platform: state
      entity_id: media_player.plex.plex
      to: 'idle'
  action:
    - service: light.turn_on
      data:
        entity_id: light.hyperion
        effect: "Full color mood blobs"

To capture the screen when playing something on a media_player you can use this example:

- alias: Set hyperion when playback starts
  trigger:
    - platform: state
      entity_id: media_player.plex
      to: 'playing'
  action:
    - service: light.turn_on
      data:
        entity_id: light.hyperion
        effect: V4L