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.
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.
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).
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]
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:
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?
Oh ok. That’s something I should’ve anticipated
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:
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.