Skip to main content

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/Installation Modes
  • Input HDMI 1 or 2
  • Power and Low Latency Status
  • 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.

Home Assistant

# configuration.yaml
remote:
  - platform: jvc_projectors
    name: nz7
    password: password
    host: 192.168.1.2
    scan_interval: 30

Development

# Create venv
python3 -m venv .venv
source .venv/bin/activate
# Edit env
cp .env.template .env
# edit .env with values

Adding new commands

All commands are stored in Enums within commands.py. Add them using this guide as a reference.

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

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

jvc_projector_remote_improved-2.2.0.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

jvc_projector_remote_improved-2.2.0.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file jvc_projector_remote_improved-2.2.0.2.tar.gz.

File metadata

  • Download URL: jvc_projector_remote_improved-2.2.0.2.tar.gz
  • Upload date:
  • Size: 13.9 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.10

File hashes

Hashes for jvc_projector_remote_improved-2.2.0.2.tar.gz
Algorithm Hash digest
SHA256 42ca911e19ac4a4c6adfe0c7eeed9e7bb4fa0afca81ac9e87f8218695f18cdb1
MD5 5b1518856c40353a15e780fe19804e3a
BLAKE2b-256 394ab29ae9ad87367652e3be2a51c46cb5d853aa3d4256b4ef7c64f93f65e881

See more details on using hashes here.

File details

Details for the file jvc_projector_remote_improved-2.2.0.2-py3-none-any.whl.

File metadata

  • Download URL: jvc_projector_remote_improved-2.2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.1 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.10

File hashes

Hashes for jvc_projector_remote_improved-2.2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 081367d5a0e13effdbb4c8a5c5943fbe1b3804b0785df9bb8396316c5b8abaff
MD5 4a416bea68f545b9f8cac59b45162fa3
BLAKE2b-256 6eece1d9a1152515a9a900fb5464720010b9f0470a2777f7e3455a10a4ea89a7

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