Skip to main content

A package to control JVC projectors over IP

Project description

JVC Projector Python Library

This implements new features, improvements, and optimizations inspired by 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.11
pip install pyjvc

Quick Start

Set your network password if you have an NZ model first.

jvc = JVCProjector(host="ipaddr", connect_timeout=10, password="password")

# Commands are passed as a single string delimited by a comma
# 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 command keywords and parameters. This makes it simple to remember commands. All names with spaces will have an underscore instead.

Command: low_latency
Parameter: off
code: jvc.exec_command(["low_latency, off"])
Command: picture_mode
Parameter: 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 of commands

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

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

Supported Commands

$command,$parameter example: "anamorphic,off" example: "anamorphic,d" example: "laser_mode,auto3"

It also supports using remote codes as ASCII found here (Code A only)

jvc.emulate_remote("23")

Currently Supported Commands:
        anamorphic
        aperture
        aspect_ratio
        color_mode
        content_type
        content_type_trans
        enhance
        eshift_mode
        get_model
        get_software_version
        graphic_mode
        hdr_data
        hdr_level
        hdr_processing
        input_level
        input_mode
        installation_mode
        lamp_power
        lamp_time
        laser_mode
        laser_power
        low_latency
        mask
        menu
        motion_enhance
        picture_mode
        power
        remote
        source_status
        theater_optimizer


Currently Supported Parameters:
AnamorphicModes
        off
        a
        b
        c
        d
ApertureModes
        off
        auto1
        auto2
AspectRatioModes
        zoom
        auto
        native
ColorSpaceModes
        auto
        YCbCr444
        YCbCr422
        RGB
ContentTypeTrans
        sdr
        hdr10_plus
        hdr10
        hlg
ContentTypes
        auto
        sdr
        hdr10_plus
        hdr10
        hlg
EnhanceModes
        zero
        one
        two
        three
        four
        five
        six
        seven
        eight
        nine
        ten
EshiftModes
        off
        on
GraphicModeModes
        standard
        hires1
        hires2
HdrData
        sdr
        hdr
        smpte
        hybridlog
        hdr10_plus
        none
HdrLevel
        auto
        min2
        min1
        zero
        plus1
        plus2
HdrProcessing
        hdr10_plus
        static
        frame_by_frame
        scene_by_scene
InputLevel
        standard
        enhanced
        superwhite
        auto
InputModes
        hdmi1
        hdmi2
InstallationModes
        mode1
        mode2
        mode3
        mode4
        mode5
        mode6
        mode7
        mode8
        mode9
        mode10
LampPowerModes
        normal
        high
LaserModes
        off
        auto1
        auto2
        auto3
LaserPowerModes
        low
        med
        high
LowLatencyModes
        off
        on
MaskModes
        on
        off
MenuModes
        menu
        lens_control
        up
        down
        back
        left
        right
        ok
MotionEnhanceModes
        off
        low
        high
PictureModes
        film
        cinema
        natural
        hdr
        thx
        frame_adapt_hdr
        user1
        user2
        user3
        user4
        user5
        user6
        hlg
        hdr_plus
        pana_pq
        filmmaker
        frame_adapt_hdr2
        frame_adapt_hdr3
PowerModes
        off
        on
PowerStates
        standby
        on
        cooling
        reserved
        emergency
SourceStatuses
        logo
        no_signal
        signal
TheaterOptimizer
        off
        on

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

pyjvc-5.0.1.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

pyjvc-5.0.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file pyjvc-5.0.1.tar.gz.

File metadata

  • Download URL: pyjvc-5.0.1.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for pyjvc-5.0.1.tar.gz
Algorithm Hash digest
SHA256 0763ecc2f5ed43b42528f71eb240a65953948c94d07e1bd49f48a4d479cf1f00
MD5 1824d39c988fef6921acf4bd7ff5f86f
BLAKE2b-256 2da0e0ec6b108a20f17a00b229516f5250918d7115f504092807835b3cbc28ab

See more details on using hashes here.

File details

Details for the file pyjvc-5.0.1-py3-none-any.whl.

File metadata

  • Download URL: pyjvc-5.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for pyjvc-5.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8cd3cb8ad4e6a8e50e94b2ef74cc17fb5e078a7ab95923ef566f97feda74137f
MD5 70c57e1c37576be0aa23b197f1af18fd
BLAKE2b-256 5d5443614ae9a86c8ec66d2d0a6d8eca5817f3a200cf88cb0219a6b1654aa48e

See more details on using hashes here.

Supported by

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