Control WiZ HDMI Sync Box Dynamic Scenes with Home Assistant

Yes — even if Home Assistant doesn’t currently show the Sync mode (e.g., â€œCinematic”) as a visible state, you can still “remember” the mode inside Home Assistant and re-apply it automatically every time the WiZ HDMI Sync Box powers on.

This workaround is useful because the WiZ HDMI Sync Box supports multiple Sync modes (Cinematic / Vibrant / Rhythmic / Relaxation), but the Home Assistant WiZ integration doesn’t always expose that mode reliably as an entity or state (depending on device model and firmware). As a result, Home Assistant often only shows basic On/Off â€” even though the box is switching modes internally.

Solution idea: store the desired mode in Home Assistant, then re-set it on power-up via a local command. In practice, many users control the Sync Box using WiZ’s local UDP protocol on port 38899, sending a sceneId to select the mode — similar to the same local WiZ UDP / “setPilot” mechanism used by WiZ lights:

  • 201 = Cinematic (film-like)
  • 202 = Vibrant
  • 203 = Rhythmic
  • 204 = Relaxation

With that, Home Assistant can reliably enforce your preferred mode whenever the Sync Box turns on, even if the integration doesn’t report the mode back.

Step 1) Assign the Sync Box a fixed IP address
Set a DHCP reservation for it in your router (important because we’ll be addressing it directly by IP).

Step 2) Create a small Python script to send UDP commands
On your Home Assistant system, create this file under /config/wiz_syncbox.py

import socket, json, sys

ip = sys.argv[1]
scene = int(sys.argv[2])

msg = {"id": 1, "method": "setPilot", "params": {"sceneId": scene}}

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(json.dumps(msg).encode("utf-8"), (ip, 38899))
sock.close()Code-Sprache: JavaScript (javascript)

Step 3) Add a shell_command to configuration.yaml
(Replace 192.168.1.50 with your Sync Box’s IP address.)

shell_command:
  wiz_syncbox_set_scene: "python3 /config/wiz_syncbox.py 192.168.1.50 {{ scene }}"Code-Sprache: JavaScript (javascript)

Step 4) Automation: When your receiver turns on, set the Sync Box to your preferred dynamic scene

alias: "Sync Box: Turn on + set Cinematic when Receiver starts playing"
description: "Turns on the Sync Box smart plug and sets the WiZ Sync Box to a dynamic scene (e.g., Cinematic)."

trigger:
  - platform: state
    entity_id: media_player.receiver
    to: "playing"

condition: []

action:
  # 1) Power on the Sync Box (via smart plug)
  - service: switch.turn_on
    target:
      entity_id: switch.sync_box_plug

  # 2) Wait for the Sync Box to boot up
  - delay: "00:00:30"

  # 3) Set the desired WiZ Sync mode / dynamic scene
  - service: shell_command.wiz_syncbox_set_scene
    data:
      scene: 201   # 201=Cinematic, 202=Vibrant, 203=Rhythmic, 204=Relaxation

mode: singleCode-Sprache: PHP (php)

Step 5) Test your configuration.yaml, and if everything looks OK, restart Home Assistant so the changes take effect

Other IDs:

WiZ HDMI TV Sync Box (TV Sync / “Sync” category)

These IDs are specific to the Sync Box’s TV-sync modes:

  • 201 — Cinematic
  • 202 — Vibrant
  • 203 — Rhythmic
  • 204 — Relaxation

Extra status you may see:

  • 205 — “Follow sync” (some lights in the sync area may report this while the Sync Box is driving them)

Standard WiZ Scene IDs (commonly supported on WiZ lights)

These are the classic WiZ “sceneId” values you’ll see across many bulbs/strips:

  • 0 — none
  • 1 Ocean
  • 2 Romance
  • 3 Sunset
  • 4 Party
  • 5 Fireplace
  • 6 Cozy
  • 7 Forest
  • 8 Pastel Colors
  • 9 Wake-up
  • 10 Bedtime
  • 11 Warm White
  • 12 Daylight
  • 13 Cool White
  • 14 Night Light
  • 15 Focus
  • 16 Relax
  • 17 True Colors
  • 18 TV Time
  • 19 Plant Growth
  • 20 Spring
  • 21 Summer
  • 22 Fall
  • 23 Deep Dive
  • 24 Jungle
  • 25 Mojito
  • 26 Club
  • 27 Christmas
  • 28 Halloween
  • 29 Candlelight
  • 30 Golden White
  • 31 Pulse
  • 32 Steampunk

Additional / undocumented IDs (device + firmware dependent)

36 — “Snowy Sky”

  • 37–41 (reported as supported on some RGB bulbs, but not exposed in the app / names unclear)

So: 201–205 are the TV Sync Box / sync-related IDs, while 1–32 are the common WiZ scene IDs used by bulbs/strips, and 36+ may exist depending on firmware/device.