Sony BDP-CE Blu-ray Player (UBP-X700) IP Control

Sharing a small integration I built for controlling a Sony Blu-ray player over the network.

I want my theater to be able to bring up and turn down the lights when I’m watching a movie. I couldn’t find an integration that would allow me to do that with the my UBP-X700, so I tossed Claude at the problem based on a Crestron forums post that mentioned someone had a module that worked. Based on the ports I found open on the player, it was able to figure out that it used an old, undocumented Sony protocol (sometimes called CERS/IRCC) that Sony never published docs for. Enough of it is reverse engineered against my own UBP-X700 to get real control out of Home Assistant.

What it provides

  • A real media_player entity — config flow, no YAML.
  • Power on/off (with Wake-on-LAN for power-on from full standby — the player drops off the network entirely in standby, no other way to reach it).
  • Play/pause/stop/eject over the network.
  • Whether the player is actively showing content, so it’s usable as a trigger in automations (I use this to drive theater lighting — lights dim when something’s actually playing, come back up when you’re sitting at the top level menu).
  • Disc format (e.g. “UHD BD-ROM”) shown where the media title would normally go.

What it doesn’t do

  • It can’t tell playing from paused. I checked every status the device exposes while the player was sitting paused — identical to playing, byte for byte. So the entity’s “playing” state really means “content is on screen” (as opposed to “sitting at a menu”), not literally “the disc is moving.” If your automation needs to know when someone hits pause specifically, this won’t do it — and I’m not sure anything can over this protocol.
  • No movie titles or artwork. The API only reports the physical disc format (BD, BD-ROM, UHD), never a title. I looked — the player almost certainly reads the on-screen title locally off the disc itself, and none of the remote-control protocols (including this one) expose it.
  • It’s only been tested against a UBP-X700. I think it’s likely other players from the same generation (and maybe some AV receivers/TVs that share this control scheme) work too, but I haven’t verified that myself.

Setup notes

Pairing needs a display — the PIN shows up as on-screen text over HDMI, since this player has no front panel. You’ll also want Remote Start and Auto Home Network Access Permission turned on in the player’s network settings before pairing.

Links

Happy to take issues/PRs, especially reports from other BDP-CE-era devices, or if someone finds an actual play/pause signal I missed (I’d read the protocol notes first — I chased that one for a while before concluding it’s not there).

1 Like

Thank you, works great (also ubp-x700). I would like to note that remote start is only required for power-on functionality. I would look into this integration (not for ha) to see if it has anything you might want to use as well: GitHub - albaintor/integration-sonybluray: Unfolded Circle integration for Sony Bluray players · GitHub It claims to support many functions and models.