New PJLink Binding for controlling multiple projector brands/models

Hi,

Under the last stable version,I also have this problem:
2020-01-11 19:51:09.915 [hingStatusInfoChangedEvent] - ‘pjLinkDevice:pjLinkDevice:192_168_0_52_4352’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Expected prefix ‘%1POWR=’, instead got ‘%1powr=1’

2020-01-11 19:51:09.923 [hingStatusInfoChangedEvent] - ‘pjLinkDevice:pjLinkDevice:192_168_0_52_4352’ changed from OFFLINE (COMMUNICATION_ERROR): Expected prefix ‘%1POWR=’, instead got ‘%1powr=1’ to OFFLINE (COMMUNICATION_ERROR): Cannot understand status: 20

2020-01-11 19:51:09.931 [hingStatusInfoChangedEvent] - ‘pjLinkDevice:pjLinkDevice:192_168_0_52_4352’ changed from OFFLINE (COMMUNICATION_ERROR): Cannot understand status: 20 to ONLINE

Connexion is with an Optoma projector.

If you have a solution, let me know.

Thanks in advance.

Hi @ifred , hi @dhopkins1000 ,

could you please try this version of the addon: https://github.com/nils/openhab2-addons/releases/download/2.5.4-SNAPSHOT/org.openhab.binding.pjlinkdevice-2.5.4-SNAPSHOT.jar

That version has some improved logging that should allow me to find the reason for the issues you are facing. Please install the JAR in your addons folder and copy the log files here.

Best Regards,
Nils

@nils.schnabel

Hi Nils

Thanks for your great work.

Just to let you know, I’ve just installed an Optoma UHD65 and tried PJLink (binding available within 2.5.6) for the very first time.

https://petertyson.co.uk/optoma-uhd65-projector

PaperUI didn’t find it automatically, but creating the Thing in PaperUi, with just the IP and default password (12345) worked like a charm.

It provides Items for :

  • Power
  • Input
  • Mute

But as I only wanted Power & Input, that’s perfect :smile:

Thanks again

(Small detail that the Thing goes off-line when the projector is OFF, but I suspect this is a setting in the projector that is turning off the network connection)

1 Like

Hi,

I come back very late, but, I tested the new one today. Looks good.

Automatically find the optoma, and configuration looks ok.

I will do more tests soon.

Thanks,

I know this is quite an old thread…but, I’ve just got a Optoma Projector which supports PJLink. I’ve got it connected to the Openhab using the binding fine - thanks for the tips here on auto-discovery not working.

Question I have is that I want to send some commands to the projector - actually to change the zoom - Using the TCP Set command. Is this possible via the TP Link Binding? Or do i need to try a different route? It looks like you can use Set and Get commands as part of the PJLink v1 protocol.

Hi Pete,

unfortunately there is no such thing like a generic “TCP Set Command”.

You can see what the PJLink protocol supports by looking at the specification.

There, you’ll only find these commands:

  • Power control instruction
  • Input switch instruction
  • Mute instruction
  • Speaker volume adjustment instruction*
  • Microphone volume adjustment command*
  • Freeze instruction*

* these are PJLink Class 2 features not (yet?) supported by the binding

PJLink is a cross-vendor standard with a very basic feature scope. For more advanced features, you should check if there is any vendor-specific protocol available for your projector.

Best Regards,
Nils

Hello Nils ,

I have changed my system to OH3 , now the PJ-Link binding does not work anymore.

I have tested with the “1-2.PJLink Test Software” and I also get no connection when it requires authentication.
If I turn off the authentication it works.

I think the problem will be in the authentication.

Can you look over there ?

Would be cool if you can help me ^^

Hi @itseogo ,

I’ll look into it sometime next week. I personally don’t use authentication (my projector does not support it), so it might indeed be broken in 3.x.

hi ,

thanks for your help already,
I have tried to disable the authentication on the projector but that does not work on my Epson, there is no setting for it, so I am dependent on the authentication.

Hi @itseogo,

Sorry to let you wait, I still plan to check this (latest on the weekend). My personal development setup is broken and requires a bit more time than expected to be restored.

@itseogo Ok, found the issue. Fixing one “bug” (rather a compatibility issue with some projectors) a while ago caused a new, actual bug :slight_smile:

The “uppercasing” of responses from the projector should not be done for the authentication challenge.

Here’s the Pull Request and information where the JAR should be available for download after the PR is built.

1 Like

hy everybody, i loved this binding on Openhab3.
now i switched to OH4.0.4
the binding does not work anymore.
i can not create Things/Items.
can you help me?

Hi @FelixXXL,

sorry for the long delay… Do you still have the issue? It’s working fine for me on the 4.2.0 snapshot:

If you still have the issue, it could be caused by an older version of the binding in your “addons” folder.
You can check by going to the “Add-on Store” menu item, click the binding and look at the version.

Best Regards,
Nils

Hi Nils, thanks for your response :slight_smile:
Still the same problem.
Updated my OpenHAB to latest stable, uninstalled the binding, and installed it again:



I noticed the same on 4.1.1, actually, and a hint is hidden in our screenshots :wink:

As an initial workaround (while I try to find the root cause and confirm that it’s fixed in 4.2.x), you can actually replace the URL when you want to create devices:
/settings/things/add/pjlinkdevice → this is where you are if you follow the UI
/settings/things/add/pjLinkDevice → this actually works

Great Work Man! it works!
thank you sooooo much :slight_smile:

It’s not straightforward for me to figure out the root cause, I have raised a GitHub issue to get some help.

hi, i’m using pjlink binding long time, for different projectors, its working fine.
the projector i have now is EPSON PU1006W. it doesn’t have audio and video mute separated, and has A/V MUTE.
the command from PJlinkTEST4PJ is SEND:%1AVMT 31 for a/v mute and SEND:%1AVMT 30 for unmute. is there any way to use this command?
i had to do the same for input (i didn’t want to have the list with all inputs, and wanted to change the name, so i use the state description to change that - giving the command numbers for inputs)

Hi @theodor, I have started working on it in PR #16504. Will let you know when testing on my side is done.

Looks good for me. You can download the PR build JAR from here if you want to test.