Is the Epson projector binding abandoned?

In the documentation there is a v1 icon, and I found threads here asking whether it runs on openHAB 2 or not… without much success. And it’s definitely not available in OH3 when I search bindings.

Has it disappeared? Is it replaced by something that doesn’t have “Epson” in its name? I did search for “ESC” because of ESC/VP21 but no luck either. And my projector (a 5020UB) doesn’t do PJLink.

As I care mostly about turning the thing on and off, I am probably going to send ESC/VP21 directly through a salvaged GC100, but I wouldn’t mind a projector-focused binding either.

Sweet! Though I did manage to get what I wanted working with my GC100 (and now I feel that I finally can justify owning it, ha!). This isn’t your work, is it? (Different usernames on github.) It doesn’t seem like much has happened on that PR since April.

No, not me. I think it’s @ysc

Ok, thanks. @ysc may chime here, maybe. It seems that the OH maintainers said that if they kept on the 2.5 port it would then be automatically ported to OH3, which would probably be great because people wanting to stay on 2.5 would get that binding too… Though if it was unavailable for the whole duration of 2.x without too much fuss for users, maybe it can jump straight to OH 3. Whatever is best for the maintainer.

I’ll see what happens. I am fine now with my very basic needs of power on/off through a GC100 but it’d be fun to play with a dedicated binding, for sure. Especially if it takes care of timing successive commands around power, too (which I could emulate with rules and timers of course, but still…).

I’ve been using this binding since April on OH3 reliably (connecting over TCP with ser2net, not directly to the local serial port, since I migrated the instance and it’s not the one connected to the projector anymore), it never got past review before it had to be closed when the addons repo was reorganized, and I didn’t find the time to revive it.
I wondered if it could end up on the (planned) community marketplace instead of the distribution, but if there’s demand for it I suppose I can easily resubmit a PR as well.
Don’t count on me for an OH2 version though - my IDE & environment is set up for OH3 only.

1 Like

If you have time for a new PR that’d be great. I am just jumping on OH3 so fine for me, and I use a GC100, so same non-direct setup as you (simply telnet to port 4999 and send commands/read results).

If you have OH3 you can try this version that I’ve been using since April 15th: https://github.com/ghys/openhab-addons/releases/tag/3.0.0.202004142345
Interested to see if it works for others - but it’s largely based on the OH1 binding.

Sure, glad to. Where do I install it? I run OH3 in a Docker container, can this be installed outside of the Docker image? (New to that.)

-v /opt/openhab/addons:/openhab/addons : only needed if installing addons unavailable via PaperUI or the Karaf Console

you normally can set a folder where to drop .jar files.

[Edited.]

I added binding = epsonprojector in addons.cfg. RTFM. However I see complaints in openhab.log about two things:

Complaints that there is no epsonprojector binding.

/opt/openhab/userdata/logs/openhab.log:2020-11-06 13:40:03.997 [WARN ] [core.karaf.internal.FeatureInstaller] - The binding add-on 'epsonprojector' does not exist - ignoring it.
/opt/openhab/userdata/logs/openhab.log:2020-11-06 13:40:55.697 [WARN ] [core.karaf.internal.FeatureInstaller] - The binding add-on 'epsonprojector' does not exist - ignoring it.

Complaints about the jar itself

So it looks like OH tries to load it anyways? But I didn’t see that until I edited addons.cfg.

/opt/openhab/userdata/logs/openhab.log:2020-11-06 13:41:58.649 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/openhab/addons/org.openhab.binding.epsonprojector-3.0.0-SNAPSHOT.jar
/opt/openhab/userdata/logs/openhab.log:org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.epsonprojector [233]

Any idea?

You shouldn’t have to do that. I just copied the .jar file (not in a Docker container mind you, but it shouldn’t make any difference), and it immediately got recognized.
You know the addon is loaded if you go to the console and do a bundle:list:

234 │ Active │  80 │ 3.0.0.202004142345      │ openHAB Add-ons :: Bundles :: Epson Projector Binding
openhab>                                                                                                  

or when you go to Things and click the Add button in the bottom-right corner in the UI you should see it:

See my edited post above. I couldn’t find it in the UI at all.

More data… So the log shows an unfulfilled dependency:

2020-11-06 13:51:47.530 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/openhab/addons/org.openhab.binding.epsonprojector-3.0.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.epsonprojector [233]
  Unresolved requirement: Import-Package: org.openhab.core.io.transport.serial

        at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [bundleFile:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [bundleFile:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
2020-11-06 13:52:24.323 [WARN ] [core.karaf.internal.FeatureInstaller] - The binding add-on 'epsonprojector' does not exist - ignoring it.

But the Karaf console shows it installed:

openhab> bundle:list | grep -i epson
233 x Installed x  80 x 3.0.0.202004142345      x openHAB Add-ons :: Bundles :: Epson Projector Binding
openhab>

But it’s not available in the UI. Maybe Karaf’s “Installed” is a false signal given the dependency exception?

I’ll try the manual installation steps in Karaf from this thread.

Oh ok. That’s something I should’ve anticipated :slight_smile:
When you install add-ons the “regular” way they will install their dependencies automatically, like when you install a package in a Linux distribution. However when you install add-ons manually that will not happen, and that add-on happens to rely on the openhab-transport-serial feature.

So please do a feature:install openhab-transport-serial in the console.
Then reload the add-on with bundle:reload 233.

I did install the feature (per the thread I linked to, and as you say too), and actually restarted the whole openHAB. But then I used search and search didn’t return the projector binding:

Though the projector was listed on the non-search page (I just hit search without looking).

I think this was the culprit, a cache of my addons.cfg. And when I removed the line in addons.cfg the cache wasn’t updated.

$ find . -type f | xargs grep epsonprojector
./userdata/config/org/openhab/addons.config:binding="epsonprojector"

Removing that line from that file too, and restarting everything once more, made the binding available and searchable too:

That’s normal, “side-loading” the add-on doesn’t add it to the distribution’s add-ons, the same way installing a .apk file to your Android phone doesn’t make the app appear on the Play Store.
It’s not as obvious because the current UI doesn’t help, but it’s the same principle.

So why can I search for it now?

Because those screens you posted are very different.

That’s basically what you can install:

And that’s a list of what’s installed: