This project is a Philips Hue Play HDMI Sync Box
custom component for
Home-Assistant.
-
Copy the files from the
custom_components/hue_sync_box/
folder into thecustom_components/hue_sync_box/
of your Home-Assistant installation. -
Configure the remote following the instructions in
Configuration
. -
Restart the Home-Assistant instance.
-
If the code was installed and configured properly, you will get a permanent notification. See
Notifications
section on the Home-Assistant menu. -
Go to
Developer Tools
>Services
and selecthue_sync_box.get_access_token
. -
Add the detail for the entity id of the Hue Sync Box and call the service.
-
Go to your Philips Hue Play HDMI Sync Box and keep the off button pressed for 3 seconds until the light blinks green.
-
Within 5 seconds, call again
hue_sync_box.get_access_token
.- The notification should confirm that the access token was captured correctly.
- If not, kindly repeat the steps starting on
hue_sync_box.get_access_token
.
This component is set up as a remote and should be configured in your
configuration.yaml
as a remote
.
remote:
- platform: hue_sync_box
name:
ip_address:
name
: Name of the remote (e.g. Hue Sync Box).ip_address
: Local IP address of your Philips Hue Play HDMI Sync Box. The IP should be static for this solution work permanently.
remote:
- platform: hue_sync_box
name: Hue Sync Box
ip_address: 192.168.1.100
This component offers the following services:
-
remote.learn_command
: Not supported. -
remote.send_command
: Not supported. -
remote.turn_on
: Turns on the Sync Box. Default sync mode ispassthrough
which means that it just allows the HDMI to work without syncing. This is equivalent to changing sync mode topassthrough
. However, since remote supportsactivity
field, you can use it to change the defaultsync_mode
.
fields:
entity_id:
description: Name(s) of entities to turn on.
example: "remote.living_room_tv"
activity:
description: Name of the sync mode (Passthrough, Powersave, Video, Music, Game)
example: Game
remote.turn_off
: Turns off the Sync Box. This prevents HDMI from passing through. If you want HDMI to work but not sync, change sync mode topassthrough
instead. This is equivalent to changing the sync mode topowersave
.
fields:
entity_id:
description: Name(s) of entities to turn off.
example: "remote.living_room_tv"
remote.toggle
: Turns on or off depending on current status.
fields:
entity_id:
description: Name(s) of entities to toggle.
example: "remote.living_room_tv"
hue_sync_box.get_access_token
: Gets a new access token for the integration. This should only be used and called during the initial set up. SeeInstallation
section for more details.
fields:
entity_id:
description: "Name(s) of the entities whose access token to get"
example: "remote.living_room_tv"
hue_sync_box.set_brightness
: Sets the brightness of the light during sync mode.
fields:
entity_id:
description: "Name(s) of the entities to set"
example: "remote.living_room_tv"
brightness:
description: "Brightness (0-200)"
example: "75"
hue_sync_box.set_hdmi_input
: Sets the HDMI input for the Sync Box. The current version has inputs 1 to 4.
fields:
entity_id:
description: "Name(s) of the entities to set"
example: "remote.living_room_tv"
hdmi_input:
description: HDMI input number (1-4)
example: "1"
hue_sync_box.set_intensity
: Sets the intensity of a particular sync mode. If nosync_mode
is passed, it will use the current sync mode. However, intensity is only supported for active modes likegame
,music
andvideo
and not for others likepassthrough
orpowersave
. While intensityExtreme
is the name used on the Hue Sync App, the API usesIntense
instead. As such, bothExtreme
andIntense
values are accepted and equivalent.
fields:
entity_id:
description: "Name(s) of the entities to set"
example: "remote.living_room_tv"
intensity:
description: Intensity Level (Subtle, Moderate, High, Extreme)
example: "Extreme"
sync_mode:
description: "Name of the sync mode (Video, Music, Game)"
example: Game
hue_sync_box.set_sync_mode
: Sets the sync mode of the Sync box. Active syncing modes arevideo
,music
andgame
. The sync modepassthrough
allows HDMI to be used without syncing; whilepowersave
switches off the Sync Box and prevents HDMI to be used.
fields:
entity_id:
description: "Name(s) of the entities to set"
example: "remote.living_room_tv"
sync_mode:
description: Name of the sync mode (Passthrough, Powersave, Video, Music, Game)
example: "Video"
In addition to be able to control the Philips Hue Play HDMI Sync Box, the remote also offers states and attributes useful for your scrips and automations.
The state of the remote will show the hdmi active state. In other word,
if the sync mode is game
, music
, video
or passthrough
, the HDMI would be
used and the state will be on. However, if the sync mode is powersave
the
hdmi active state would be false and the state would be off.
The attributes will contain details about the sync box. In particular:
brightness
: Brightness of the lights.hdmi_active
: Whether HDMI input is active.hdmi_source
: HDMI Input selected.inputs
:input1
: Input 1 name.input2
: Input 2 name.input3
: Input 3 name.input4
: Input 4 name.
intensity
: Intensity of current mode.name
: Name of the sync box.sync_active
: Whether syncing is active.sync_mode
: Syncing mode state.
This component has been built using the following resources:
- Home-Assistant Community post for this integration
- HDMI Sync Box API documentation
- Hue Sync Box support issue on ebaauw/homebridge-hue
- Philips Hue Play HDMI sync post on the Home-Assistant community
If this is helpful, feel free to Buy Me a Beer
; or check other options on the Github ❤️ Sponsor
link on the top of this page.