A package to control JVC projectors over IP
Project description
JVC Projector Remote Improved
This implements new features, improvements, and optimizations based on work in https://github.com/bezmi/jvc_projector. This was made with NZ models in mind. Almost every function will work with NX models but I do not guarantee operability for them.
This is designed to work with my Home Assistant plugin: https://github.com/iloveicedgreentea/jvc_homeassistant
Installation
# Assuming you have a venv with >=python3.9
pip install jvc-projector-remote-improved
Quick Start
Set your network password if you have an NZ model first.
jvc = JVCProjector(host="ipaddr", connect_timeout=60, password="password")
# Commands are passed as a single string delimited by a comma
# Everything executes async in the background. Sync interfaces are provided
# open menu
cmd = jvc.exec_command("menu, menu")
# press left button
cmd = jvc.exec_command("menu, left")
# set picture mode to frame adapt HDR
cmd = jvc.exec_command("picture_mode, frame_adapt_hdr")
# turn on
cmd = jvc.power_on()
Usage
See quick-start for importing
The commands are structured to use simple keywords and options:
Command: low_latency
Option: off
code: jvc.exec_command("low_latency, off")
Command: picture_mode
Option: hdr_plus
code: jvc.exec_command("picture_mode, hdr_plus")
You can also run multiple commands in a row by just giving it a list
jvc.exec_command(["picture_mode, hdr_plus", "motion_enhance, off"])
Use print_commands() to get all the latest support commands. This is dynamically generated at runtime so it is always up to date.
Currently Supported Commands
- Power on/off
- Lens Memory 1-5
- Input HDMI 1 or 2
- Power Statuses
- Low Latency Mode on/off
- Menu and arrow buttons (Menu, LRUD, back)
- Masking
- Laser power low/med/high
- Laser Dimming off/auto1/auto2
- E-shift on/off
- Aperture off/auto1/auto2
- Anamorphic modes
- And many others
Useful Meta functions
These are opinionated presets so you can have a one-click action to set your settings up for the desired task. This is also supported in home assistant as a service.
- async_gaming_mode_hdr()
- async_gaming_mode_sdr()
- async_hdr_picture_mode()
- async_sdr_picture_mode()
- async_is_on()
- async_get_low_latency_state()
Supported Models
- NZ7/NZ8/NZ9 (Network password is required)
- NX5/NX7/NX9
- Most likely any other D-ILA projector, and possibly older models with ethernet cables.
Development
# Create venv
python3 -m venv .venv
source .venv/bin/activate
# Edit env
cp .env.template .env
# edit .env with values
Testing
JVC_TEST_POWER: true/false to test power functions JVC_TEST_FUNCTIONS: true/false to test various button functions
You can run the test at the local device or run a mock server I made (WIP) to test commands
# Venv in one window
python mock/mochrie.py
# Run tests in other window
source .env
export JVC_HOST=127.0.0.1
make test
Home Assistant
# configuration.yaml
remote:
- platform: jvc_projectors
name: nz7
password: password
host: 192.168.1.2
scan_interval: 30
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jvc_projector_remote_improved-2.0.2.tar.gz.
File metadata
- Download URL: jvc_projector_remote_improved-2.0.2.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c85f1a9f10182ea27600da876cabf356984b1bcfe5a926ad5ec386dcd5c2691c
|
|
| MD5 |
f35564bcd23b903e7350a2b4271b690a
|
|
| BLAKE2b-256 |
f2482109cde65fd4be426f866a82673bc0c55a54e68f2db0fdfaf39ac4cbb7d6
|
File details
Details for the file jvc_projector_remote_improved-2.0.2-py3-none-any.whl.
File metadata
- Download URL: jvc_projector_remote_improved-2.0.2-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95338c4ddfca808f4039e6fa05bcf367cbbb1b5c0d89871d9faa334c17fbb772
|
|
| MD5 |
c773dffd6b9982d3d9f961ff8502cd0e
|
|
| BLAKE2b-256 |
30d9854df6d7c28ec561f3512816c1f02b1da315e2732779c13d813f962cffca
|