Skip to main content

Extended SDCP / PJ Talk library to control Sony projectors

Project description

pySDCP-extended

Extended Sony SDCP / PJ Talk projector control.

Python 3 library to query and control Sony Projectors using SDCP (PJ Talk) protocol over IP.

Features

  • Auto discover projector using SDAP (Simple Display Advertisement Protocol)
  • Set a custom PJ Talk community & UDP advertisement SDAP port and TCP SDCP port
  • Show response error message from the projector
  • Get/Set
    • Power
    • Input (HDMI 1 + 2)
    • Calibration preset
    • Picture muting
    • HDMI dynamic range
    • Aspect ratio/zoom
    • Any command from protocol.py using _send_command() (Example)
  • Get
    • Lamp hours
    • Model name
    • Serial number

Protocol Documentation

Supported Projectors

Supported Sony projectors should include:

  • VPL-HW65ES
  • VPL-VW100
  • VPL-VW260
  • VPL-VW270
  • VPL-VW285
  • VPL-VW315
  • VPL-VW320
  • VPL-VW328
  • VPL-VW365
  • VPL-VW515
  • VPL-VW520
  • VPL-VW528
  • VPL-VW665
  • VPL-XW6100

Installation

pip install pysdcp-extended

Examples

Sending any command will initiate auto discovery of the projector if none is known and will carry on the command. So just go for it and maybe you get lucky

import pysdcp_extended

my_projector = pysdcp_extended.Projector()

my_projector.get_power()
my_projector.set_power(True)

Skip discovery to save time or if you know the IP of the projector

my_known_projector = pysdcp.Projector('10.1.2.3')
my_known_projector.set_HDMI_input(2)

You can also set a custom PJ Talk community and tcp/udp port. By default "SONY" will be used as the community and 53862 as udp port for SDAP advertisement and 53484 as tcp port for SDCP

my_known_projector = pysdcp.Projector(ip='10.1.2.3', community="THEATER", udp_port=53860, tcp_port=53480)

Commands from protocol.py

While you can use the build in functions like get_power() or set_HDMI_input() you can also directly send any command from protocol.py like this If you need to use more commands, just add to protocol.py, and send it like this:

from pysdcp_extended.protocol.py import *

my_projector._send_command(action=ACTIONS["SET"], command=COMMANDS_IR["CURSOR_UP"])

Please note that commands in COMMANDS_IR work as fire and forget and you only get a response if there is a timeout.

Credits

This plugin is an extended fork of pySDCP by Galala7 which is based on sony-sdcp-com NodeJS library by vokkim.

See also

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysdcp_extended-0.2.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysdcp_extended-0.2.1-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file pysdcp_extended-0.2.1.tar.gz.

File metadata

  • Download URL: pysdcp_extended-0.2.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pysdcp_extended-0.2.1.tar.gz
Algorithm Hash digest
SHA256 929b1174870cc235a205e7028f41d4bd7e780a1857a239aa71a52a8ae7143703
MD5 33cb5be9e9c9352b080276296ff2346e
BLAKE2b-256 6bff4ad1e62699593f8a9d8a136cedbb1dc4c481d41b6a0bad471af0e0e98644

See more details on using hashes here.

File details

Details for the file pysdcp_extended-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pysdcp_extended-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 030d12a65e24628981a8caf1c456139a7eee48efbca44c5e5b3640c7a1a7d4ac
MD5 234d0ed77967df9781850a6e9d3b94e0
BLAKE2b-256 fd7bf92a629145a424e90a2385742cb718dd266ff65459f21748d466c611a112

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page