Home Assistant integration for PJLink class 2 based projectors (media_player fork)

Noah Vogt ccb04a3425 add roadmap + add support for a/v mute and freeze hace 1 mes
custom_components ccb04a3425 add roadmap + add support for a/v mute and freeze hace 1 mes
tests 0328d26eda Import project hace 2 años
.pre-commit-config.yaml 0328d26eda Import project hace 2 años
LICENSE.md c3fa5b13ad Create LICENSE.md hace 2 años
README.md ccb04a3425 add roadmap + add support for a/v mute and freeze hace 1 mes
hacs.json 0328d26eda Import project hace 2 años
requirements.test.txt 0328d26eda Import project hace 2 años
setup.cfg 0328d26eda Import project hace 2 años

README.md

PJLink2 for Home Assistant

Home Assistant custom component to integrate video projectors via the PJLink network protocol. In contrast to the official PJLink integration, it also supports PJLink class-2 features, notably querying the current resolution of the projector. The projector is integrated as a sensor that shows the current state (ON/OFF), all other data fields are attributes to the entity.

Tested devices

The component has been developed and tested with an Epson LS12000 projector, but should work with all models and brands that support the PJLink protocol, among them Sony, NEC, Panasonic, Optoma, BenQ, and many more.

Installation

HACS

  1. In HACS, select Integrations
  2. Select Custom Repositories from the three dots in top right corner
  3. Enter https://github.com/noahvogt/ha-pjlink2 as repository and select Integration as category
  4. Click Add
  5. Open Custom Repositories again and you should see PJLink2 at the top of the list, click it
  6. Click Download in lower right corner
  7. Select the latest version and click Download
  8. Configure your settings as described below
  9. Restart Home Assistant

Manually

  1. Copy pjlink2 folder from latest release to custom_components folder in your config folder.
  2. Configure your settings as described below
  3. Restart Home Assistant

Configuration

All settings are specified in your Home Assistant configuration via YAML.

Add your projector as a sensor and configure like this:

media_player:
  - platform: pjlink2
    host: 192.168.0.123       # IP address of the projector
    port: 1234                # projector port for communication (optional, default is 4352)
    name: "My Projector"      # name under which projector appears in HA (optional)
    encoding: "utf-16"        # encoding for communication (optional, default is utf-8)
    password: "secret%123"    # password to establish connection (optional)
    timeout: 1.5              # timeout to establish connection in seconds (optional, default is 4 sec)
    sources:                  # mapping of the raw source to appriorate names
      "31": "Smart TV"
      "32": "Camera HDMI Out"
      "11": "Laptop"

If you omit the sources block, the integration will show raw codes like 31, 32, etc., and add new ones to the dropdown as you switch to them on the device.

Roadmap

Possible changes in future releases:

  • if the sources yaml block was omitted, give the user all options the projector reports support for
  • add the option to only poll for a subset of data
  • support the full pjlink2 spec