pysdcp-extended


Namepysdcp-extended JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/kennymc-c/pySDCP-extended
SummaryExtended SDCP / PJ Talk library to control Sony projectors
upload_time2024-12-11 16:41:42
maintainerNone
docs_urlNone
authorkennymc.c
requires_python<4.0,>=3.11
licenseMIT
keywords sdcp pjtalk sony projector ip-control home-automation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pySDCP-extended

<!---[![PyPi](https://img.shields.io/pypi/v/pysdcp-extended.svg)](https://pypi.org/project/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)
* Query and change power & input (HDMI 1 + 2)
* Set aspect ratio/zoom and calibration presets

### Extended Features

* Support for more commands (added to protocol.py)
* Query and set picture muting
* Query lamp hours
* Query model name and serial number
* Show response error message from the projector
* Set a custom PJ Talk community & UDP advertisement SDAP port and TCP SDCP port

## Protocol Documentation

* [Link](https://www.digis.ru/upload/iblock/f5a/VPL-VW320,%20VW520_ProtocolManual.pdf)
* [Link](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

## 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

```python
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

```python
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

```python
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:

```python
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](https://github.com/Galala7/pySDCP) by [Galala7](https://github.com/Galala7) which is based on [sony-sdcp-com](https://github.com/vokkim/sony-sdcp-com) NodeJS library by [vokkim](https://github.com/vokkim).

## See also

* [homebridge-sony-sdcp](https://github.com/Galala7/homebridge-sony-sdcp) - Homebridge plugin to control Sony Projectors (based on Galala7/pySDCP)
* [ucr2-integration-sonySDCP](https://github.com/kennymc-c/ucr2-integration-sonySDCP) - SDCP integration for Unfolded Circle Remote devices


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kennymc-c/pySDCP-extended",
    "name": "pysdcp-extended",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": "sdcp, pjtalk, sony, projector, ip-control, home-automation",
    "author": "kennymc.c",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f8/23/3524efe131a590e45fa8cd14525c3eed8216a5f8a229f94364e3e7961eb2/pysdcp_extended-0.1.0.tar.gz",
    "platform": null,
    "description": "# pySDCP-extended\n\n<!---[![PyPi](https://img.shields.io/pypi/v/pysdcp-extended.svg)](https://pypi.org/project/pysdcp-extended)--->\n\nExtended Sony SDCP / PJ Talk projector control.\n\nPython **3** library to query and control Sony Projectors using SDCP (PJ Talk) protocol over IP.\n\n## Features\n\n* Auto discover projector using SDAP (Simple Display Advertisement Protocol)\n* Query and change power & input (HDMI 1 + 2)\n* Set aspect ratio/zoom and calibration presets\n\n### Extended Features\n\n* Support for more commands (added to protocol.py)\n* Query and set picture muting\n* Query lamp hours\n* Query model name and serial number\n* Show response error message from the projector\n* Set a custom PJ Talk community & UDP advertisement SDAP port and TCP SDCP port\n\n## Protocol Documentation\n\n* [Link](https://www.digis.ru/upload/iblock/f5a/VPL-VW320,%20VW520_ProtocolManual.pdf)\n* [Link](https://docs.sony.com/release/VW100_protocol.pdf)\n\n## Supported Projectors\n\nSupported Sony projectors should include:\n\n* VPL-HW65ES\n* VPL-VW100\n* VPL-VW260\n* VPL-VW270\n* VPL-VW285\n* VPL-VW315\n* VPL-VW320\n* VPL-VW328\n* VPL-VW365\n* VPL-VW515\n* VPL-VW520\n* VPL-VW528\n* VPL-VW665\n\n## Installation\n\n```pip install pysdcp-extended```\n\n## Examples\n\nSending 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\n\n```python\nimport pysdcp_extended\n\nmy_projector = pysdcp_extended.Projector()\n\nmy_projector.get_power()\nmy_projector.set_power(True)\n```\n\nSkip discovery to save time or if you know the IP of the projector\n\n```python\nmy_known_projector = pysdcp.Projector('10.1.2.3')\nmy_known_projector.set_HDMI_input(2)\n```\n\nYou 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\n\n```python\nmy_known_projector = pysdcp.Projector(ip='10.1.2.3', community=\"THEATER\", udp_port=53860, tcp_port=53480)\n```\n\n### Commands from protocol.py\n\nWhile 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\nIf you need to use more commands, just add to _protocol.py_, and send it like this:\n\n```python\nfrom pysdcp_extended.protocol.py import *\n\nmy_projector._send_command(action=ACTIONS[\"SET\"], command=COMMANDS_IR[\"CURSOR_UP\"])\n```\n\nPlease note that commands in `COMMANDS_IR` work as fire and forget and you only get a response if there is a timeout.\n\n## Credits\n\nThis plugin is an extended fork of [pySDCP](https://github.com/Galala7/pySDCP) by [Galala7](https://github.com/Galala7) which is based on [sony-sdcp-com](https://github.com/vokkim/sony-sdcp-com) NodeJS library by [vokkim](https://github.com/vokkim).\n\n## See also\n\n* [homebridge-sony-sdcp](https://github.com/Galala7/homebridge-sony-sdcp) - Homebridge plugin to control Sony Projectors (based on Galala7/pySDCP)\n* [ucr2-integration-sonySDCP](https://github.com/kennymc-c/ucr2-integration-sonySDCP) - SDCP integration for Unfolded Circle Remote devices\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Extended SDCP / PJ Talk library to control Sony projectors",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/kennymc-c/pySDCP-extended",
        "Repository": "https://github.com/kennymc-c/pySDCP-extended"
    },
    "split_keywords": [
        "sdcp",
        " pjtalk",
        " sony",
        " projector",
        " ip-control",
        " home-automation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38b0689aead34cffdb4feca7605e363e62a25b5e7f0ad7b1f489050dd45ff68a",
                "md5": "702c49c1a3d372a99a446fee1eea9ae8",
                "sha256": "a59af814cdf945e5118ebee951f26fae9321d1cbc520d26e19c9f6ef98376df6"
            },
            "downloads": -1,
            "filename": "pysdcp_extended-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "702c49c1a3d372a99a446fee1eea9ae8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 7824,
            "upload_time": "2024-12-11T16:41:40",
            "upload_time_iso_8601": "2024-12-11T16:41:40.345233Z",
            "url": "https://files.pythonhosted.org/packages/38/b0/689aead34cffdb4feca7605e363e62a25b5e7f0ad7b1f489050dd45ff68a/pysdcp_extended-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f8233524efe131a590e45fa8cd14525c3eed8216a5f8a229f94364e3e7961eb2",
                "md5": "e5cfa5dceb50002000a00718e46dc275",
                "sha256": "b84a8a9999a3433a98801bf951161c24be9427438d5a334b12f096f5665262b1"
            },
            "downloads": -1,
            "filename": "pysdcp_extended-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e5cfa5dceb50002000a00718e46dc275",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 6947,
            "upload_time": "2024-12-11T16:41:42",
            "upload_time_iso_8601": "2024-12-11T16:41:42.316443Z",
            "url": "https://files.pythonhosted.org/packages/f8/23/3524efe131a590e45fa8cd14525c3eed8216a5f8a229f94364e3e7961eb2/pysdcp_extended-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-11 16:41:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kennymc-c",
    "github_project": "pySDCP-extended",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pysdcp-extended"
}
        
Elapsed time: 2.21287s