Skip to main content

Sony Projector (IP Control)

Sony home-cinema projectors — the VPL-VW and VPL-HW series — are controlled over the wired LAN using Sony's ADCP / PJ Talk IP-control protocol. GEM connects to the projector on TCP port 53595 and drives power and HDMI input selection while polling the projector every few seconds for its current power state, active input, and any error the projector reports.

This driver controls a single projector as a device. It does not create a control zone of its own — you call its commands directly, from a button, or (most commonly) from the On/Off macros of the AV zone that serves the room. See "Using the projector in an AV zone" below.

What's controlled

  • Power on and off.
  • Input selection — dedicated commands for HDMI 1 and HDMI 2, plus a raw pass-through command for any other source (HDBaseT, DVI, component, etc.).
  • Live status polling — every 5 seconds GEM asks the projector for its power state and its active input, and records the result on the device. Because these are stored on the device, they are also available as attribute-change triggers and show live on any control that subscribes to the device.
  • Error reporting — when the projector rejects a command or reports a fault, GEM stores the code on the device's error attribute and clears it again once the projector reports no error.

Prerequisites

  • A network-capable Sony VPL-VW / VPL-HW projector reachable on the LAN.
  • IP control (ADCP) enabled in the projector menu — typically under Network → IP Control (wording varies by model and firmware).
  • ADCP authentication set to "None." This driver connects without an authentication step and does not implement Sony's digest-style PJ Talk password exchange. If the projector's IP control is password-protected, the connection is refused and commands never take effect.
  • TCP port 53595 reachable between GEM and the projector. Most VPL-VW / VPL-HW models use this port by default.

Setup

  1. On the projector, open the menu and enable Network → IP Control (ADCP), and confirm the control port — the default is 53595.
  2. Set ADCP authentication to None (some menus phrase this as a "No password" mode).
  3. Give the projector a static IP, or a DHCP reservation so its address never moves.
  4. In GEM, open Devices, click Add Device, and choose the Sony Projector (IP Control) driver.
  5. Set the Projector IP Address field. TCP Port defaults to 53595 — leave it unless your projector or network was re-mapped.
  6. Pick the AV subsystem and the projector device type (GEM pre-selects the projector device type for this driver), then save.

On connect, GEM begins polling the projector every 5 seconds for power (power_status ?) and input (input ?), so the device's live state appears within a few seconds of a successful connection.

Selecting inputs

The two most common inputs have dedicated commands — hdmi_1 and hdmi_2 — which select HDMI 1 and HDMI 2 respectively. Use these in macros or on a button.

For any other source, use the passthrough command and put the raw ADCP input string in the command argument. For example, a command value of input "hdbaset1" selects the HDBaseT input. The projector reports these source names back to GEM, and GEM recognizes the following:

hdmi1, hdmi2, video1, svideo1, rgb1, rgb2, dvi1, network, usb_a, usb_b, hdbaset1, option1, web_content.

note

The value GEM stores on the input attribute is the projector's reported source, with one adjustment: HDMI sources are normalized from hdmi1 / hdmi2 to hdmi_1 / hdmi_2. All other inputs are stored exactly as the projector reports them (hdbaset1, video1, and so on). If you build an attribute-change trigger on input, match hdmi_1 — not hdmi1.

Using the projector in an AV zone

A projector is the video side of a room. GEM does not bind it to an AV zone the way it binds an amplifier or receiver (those attach as the zone's Volume Device for audio). Instead, drive the projector's power and input from the room's macros:

  1. Open AV Zones and edit (or create) the zone for the theater or display room. The zone's audio device — the receiver or amp — goes in the Volume Device field; the projector is separate.
  2. Add the projector's power_on command (and the right input command, e.g. hdmi_1) to the zone's On macro, and power_off to the Off macro, so powering the room on raises the projector and selects the correct input. (Per-source input switches belong in the source macros under AV Sources — e.g. a Blu-ray source's on-macro selects the projector's HDMI input.)

You can also call any of the projector's commands directly from the Commands screen or from any macro.

Attributes

Device — required

AttributeTypeDescription
ipstringProjector LAN IP address.

Device — optional

AttributeTypeDefaultDescription
portint53595ADCP TCP port. Most VPL-VW / VPL-HW models default to this.
status_intervalint5000How often GEM polls the projector for power and input, in milliseconds. Minimum 1000.

Device — runtime (set by the driver)

These are written by GEM from the projector's replies, so they are readable on the device and usable as attribute-change triggers. You do not set them by hand.

AttributeValuesDescription
power_stateon / offCurrent power. The projector's standby reply is recorded as off.
inpute.g. hdmi_1, hdmi_2, hdbaset1, video1Active input (see the note under Selecting inputs for the HDMI naming).
errore.g. busy, cmdLast error the projector reported, with the err_ prefix removed. Cleared when the projector reports no error.

This is a single-device driver: it does not use a zone Address and exposes no zone-level attributes.

Commands

CommandSendsNotes
power_onpower "on"Turn the projector on.
power_offpower "off"Turn the projector off (standby).
hdmi_1input "hdmi1"Select the HDMI 1 input.
hdmi_2input "hdmi2"Select the HDMI 2 input.
get_powerpower_status ?Query the power state.
get_inputinput ?Query the active input.
passthrough(raw)Send any raw ADCP command string, supplied in the command argument — e.g. input "hdbaset1".
keypress(raw)Send a raw ADCP string, supplied in the key argument.

After connecting, GEM issues power_status ? and input ? on its own every 5 seconds, so you normally do not need to call the get_* commands by hand.

Known limitations

  • Power reads as on or off only. GEM records the projector's on, off, and standby replies; standby is stored as off. Transitional warm-up and cool-down states the projector reports while the lamp/laser ramps are not decoded, so during those seconds the last-known reading does not change.
  • Only HDMI 1 and HDMI 2 have dedicated commands. Every other input (HDBaseT, DVI, component, computer, USB, network, web content) is reached through the passthrough command with a raw input "…" string — there is no per-input friendly command for them.
  • No lamp/laser hours, picture mode, brightness, or geometry control. This driver covers power, input selection, and status/error readback. Other ADCP features are not exposed as commands.
  • No authentication. The driver requires the projector's ADCP authentication to be set to None; password-protected IP control is not supported.

Troubleshooting

SymptomCheck
Connection refusedIP control (ADCP) is disabled on the projector, or ADCP authentication is enabled. Enable IP control and set authentication to None.
The error attribute repeatedly shows a codeRead the code: cmd means the projector rejected the command as unknown — most often the wrong control port, or a command the model doesn't support; busy means the projector is still warming up and not yet accepting commands.
A passthrough input command does nothingConfirm the raw string exactly matches the projector's ADCP syntax, including the quotes — e.g. input "hdbaset1", not input hdbaset1.
GEM shows the projector offlineConfirm the IP address (set a DHCP reservation so it does not move), that the projector is on the same reachable network, and that TCP port 53595 is not blocked between GEM and the projector.
Power reading seems stuck for a few seconds after on/offExpected — the warm-up / cool-down transitional states are not decoded; the reading updates once the projector reports steady on or standby.

See also

  • AV Zones — set the room's audio device as the Volume Device, and call the projector's power/input commands from the zone's On/Off macros.
  • AV Sources — where a per-source input-switch macro lives.
  • Devices — adding and editing devices.
  • Commands — running a device command directly.
  • Attributes — reading the projector's live power_state / input / error values and triggering on them.
  • Macros — driving the projector from automation.