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
- https://www.digis.ru/upload/iblock/f5a/VPL-VW320,%20VW520_ProtocolManual.pdf
- https://docs.sony.com/release/VW100_protocol.pdf
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
- homebridge-sony-sdcp - Homebridge plugin to control Sony Projectors (based on Galala7/pySDCP)
- ucr2-integration-sonySDCP - SDCP integration for Unfolded Circle Remote devices
Metadata
Release files for pysdcp-extended 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysdcp_extended-0.2.1.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysdcp_extended-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 kB
Release files / pysdcp_extended-0.2.1.tar.gz
| Download URL | pysdcp_extended-0.2.1.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
929b1174870cc235a205e7028f41d4bd7e780a1857a239aa71a52a8ae7143703
|
|
BLAKE2b-256 checksum How to use checksums |
6bff4ad1e62699593f8a9d8a136cedbb1dc4c481d41b6a0bad471af0e0e98644
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pysdcp_extended-0.2.1-py3-none-any.whl
| Download URL | pysdcp_extended-0.2.1-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
030d12a65e24628981a8caf1c456139a7eee48efbca44c5e5b3640c7a1a7d4ac
|
|
BLAKE2b-256 checksum How to use checksums |
fd7bf92a629145a424e90a2385742cb718dd266ff65459f21748d466c611a112
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|