Philips Hue Play HDMI sync

GREAT!!! It works.

If anybody needs to do sth similar here is what I did:

configuration.yaml

rest_command:
  syncbox_input1:
    url: https://  BRIDGE IP  /api/v1/execution
    method: PUT
    headers:
      Authorization: "Bearer   TOKEN  "
    payload: '{"hdmiSource":"input1"}'
    content_type:  'application/json; charset=utf-8'
    verify_ssl: false
  syncbox_input2:
    url: https://  BRIDGE IP  /api/v1/execution
    method: PUT
    headers:
      Authorization: "Bearer   TOKEN  "
    payload: '{"hdmiSource":"input2"}'
    content_type:  'application/json; charset=utf-8'
    verify_ssl: false
  syncbox_input3:
    url: https://  BRIDGE IP  /api/v1/execution
    method: PUT
    headers:
      Authorization: "Bearer   TOKEN  "
    payload: '{"hdmiSource":"input3"}'
    content_type:  'application/json; charset=utf-8'
    verify_ssl: false
  syncbox_input4:
    url: https://  BRIDGE IP  /api/v1/execution
    method: PUT
    headers:
      Authorization: "Bearer   TOKEN  "
    payload: '{"hdmiSource":"input4"}'
    content_type:  'application/json; charset=utf-8'
    verify_ssl: false


  syncbox_standby:
    url: https://  BRIDGE IP  /api/v1/execution
    method: PUT
    headers:
      Authorization: "Bearer   TOKEN  "
    payload: '{"mode":"powersave"}'
    content_type:  'application/json; charset=utf-8'
    verify_ssl: false
  syncbox_passthrough:
    url: https://  BRIDGE IP  /api/v1/execution
    method: PUT
    headers:
      Authorization: "Bearer   TOKEN  "
    payload: '{"mode":"passthrough"}'
    content_type:  'application/json; charset=utf-8'
    verify_ssl: false

In lovelace

      - cards:
          - type: vertical-stack
            cards:
              - type: button
                tap_action:
                  action: call-service
                  service: rest_command.syncbox_passthrough
                hold_action:
                  action: none
                show_icon: true
                show_name: true
                icon: 'mdi:power-on'
                name: 'On'
              - type: button
                tap_action:
                  action: call-service
                  service: rest_command.syncbox_standby
                hold_action:
                  action: none
                show_icon: true
                show_name: true
                icon: 'mdi:power-off'
                name: 'Off'
                entity: switch.transmission_switch_2
          - hold_action:
              action: none
            icon: 'mdi:set-top-box'
            name: UPC
            show_icon: true
            show_name: true
            tap_action:
              action: call-service
              service: rest_command.syncbox_input1
            type: button
          - hold_action:
              action: none
            icon: 'mdi:amazon'
            name: Fire
            show_icon: true
            show_name: true
            tap_action:
              action: call-service
              service: rest_command.syncbox_input2
            type: button
          - hold_action:
              action: none
            icon: 'mdi:google-chrome'
            name: Chrome
            show_icon: true
            show_name: true
            tap_action:
              action: call-service
              service: rest_command.syncbox_input3
            type: button
          - hold_action:
              action: none
            icon: 'mdi:disc-player'
            name: DVD
            show_icon: true
            show_name: true
            tap_action:
              action: call-service
              service: rest_command.syncbox_input4
            type: button
        type: horizontal-stack

Result:

HueSyncBox

P.S. I also created scripts so I can call them through vocal commands in google home.
Script example:

script_hue_sync_input_1:
  alias: Hue Sync Input 1
  sequence:
  - service: rest_command.syncbox_input1
1 Like