New binding: Isy

here you go

reinstall and reboot

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:07.462 [hingStatusInfoChangedEvent] - ‘isy:variable:cd7bfe14:integer_4’ changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2017-08-24 00:02:07.467 [hingStatusInfoChangedEvent] - ‘isy:variable:cd7bfe14:state_10’ changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2017-08-24 00:02:07.471 [hingStatusInfoChangedEvent] - ‘isy:program:cd7bfe14:0014’ changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2017-08-24 00:02:07.475 [hingStatusInfoChangedEvent] - ‘isy:switch:cd7bfe14:14_AD_5F’ changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2017-08-24 00:02:07.480 [hingStatusInfoChangedEvent] - ‘isy:switch:cd7bfe14:20_C3_24’ changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2017-08-24 00:02:07.484 [hingStatusInfoChangedEvent] - ‘isy:program:cd7bfe14:0029’ changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2017-08-24 00:02:08.238 [hingStatusInfoChangedEvent] - ‘isy:isyBridge:cd7bfe14’ changed from UNINITIALIZED to INITIALIZING

2017-08-24 00:02:08.454 [hingStatusInfoChangedEvent] - ‘isy:isyBridge:cd7bfe14’ changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.478 [INFO ] [sy.internal.IsyWebSocketSubscription] - Connecting to :ws://192.168.1.11/rest/subscribe

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.511 [hingStatusInfoChangedEvent] - ‘isy:program:cd7bfe14:0014’ changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

2017-08-24 00:02:08.517 [hingStatusInfoChangedEvent] - ‘isy:variable:cd7bfe14:state_10’ changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

2017-08-24 00:02:08.525 [hingStatusInfoChangedEvent] - ‘isy:program:cd7bfe14:0029’ changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

2017-08-24 00:02:08.534 [hingStatusInfoChangedEvent] - ‘isy:switch:cd7bfe14:14_AD_5F’ changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.530 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null

java.lang.NullPointerException: null

at org.openhab.binding.isy.handler.IsyVariableHandler.handleCommand(IsyVariableHandler.java:28) [227:org.openhab.binding.isy:2.2.0.201708231848]

at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:204) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.informHandlerAboutLinkedChannel(ThingLinkManager.java:264) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:304) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:1) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.events.AbstractTypedEventSubscriber.receive(AbstractTypedEventSubscriber.java:50) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:193) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.548 [hingStatusInfoChangedEvent] - ‘isy:scene:cd7bfe14:34219’ changed from UNINITIALIZED to INITIALIZING

2017-08-24 00:02:08.558 [hingStatusInfoChangedEvent] - ‘isy:variable:cd7bfe14:state_10’ changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.559 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null

java.lang.NullPointerException: null

at org.openhab.binding.isy.handler.IsyProgramHandler.handleCommand(IsyProgramHandler.java:25) [227:org.openhab.binding.isy:2.2.0.201708231848]

at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:204) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.informHandlerAboutLinkedChannel(ThingLinkManager.java:264) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:304) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:1) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.events.AbstractTypedEventSubscriber.receive(AbstractTypedEventSubscriber.java:50) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:193) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

2017-08-24 00:02:08.566 [WARN ] [inding.isy.handler.IsyProgramHandler] - Unsupported command for variable handleCommand: REFRESH

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.568 [hingStatusInfoChangedEvent] - ‘isy:program:cd7bfe14:0014’ changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.578 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null

java.lang.NullPointerException: null

at org.openhab.binding.isy.handler.IsyDeviceHandler.handleCommand(IsyDeviceHandler.java:105) [227:org.openhab.binding.isy:2.2.0.201708231848]

at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:204) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.informHandlerAboutLinkedChannel(ThingLinkManager.java:264) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:304) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:1) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.events.AbstractTypedEventSubscriber.receive(AbstractTypedEventSubscriber.java:50) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:193) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.589 [hingStatusInfoChangedEvent] - ‘isy:switch:cd7bfe14:14_AD_5F’ changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.588 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null

java.lang.NullPointerException: null

at org.openhab.binding.isy.handler.IsyVariableHandler.handleCommand(IsyVariableHandler.java:28) [227:org.openhab.binding.isy:2.2.0.201708231848]

at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:204) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.informHandlerAboutLinkedChannel(ThingLinkManager.java:264) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:304) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:1) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.events.AbstractTypedEventSubscriber.receive(AbstractTypedEventSubscriber.java:50) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:193) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.606 [hingStatusInfoChangedEvent] - ‘isy:variable:cd7bfe14:integer_4’ changed from INITIALIZING to ONLINE

2017-08-24 00:02:08.614 [hingStatusInfoChangedEvent] - ‘isy:scene:cd7bfe14:34219’ changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.615 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null

java.lang.NullPointerException: null

at org.openhab.binding.isy.handler.IsyProgramHandler.handleCommand(IsyProgramHandler.java:25) [227:org.openhab.binding.isy:2.2.0.201708231848]

at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:204) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.informHandlerAboutLinkedChannel(ThingLinkManager.java:264) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:304) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:1) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.events.AbstractTypedEventSubscriber.receive(AbstractTypedEventSubscriber.java:50) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:193) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

2017-08-24 00:02:08.629 [WARN ] [inding.isy.handler.IsyProgramHandler] - Unsupported command for variable handleCommand: REFRESH

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.631 [hingStatusInfoChangedEvent] - ‘isy:program:cd7bfe14:0029’ changed from INITIALIZING to ONLINE

==> /var/log/openhab2/openhab.log <==

2017-08-24 00:02:08.640 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null

java.lang.NullPointerException: null

at org.openhab.binding.isy.handler.IsyDeviceHandler.handleCommand(IsyDeviceHandler.java:105) [227:org.openhab.binding.isy:2.2.0.201708231848]

at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:204) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.informHandlerAboutLinkedChannel(ThingLinkManager.java:264) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:304) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.thing.link.ThingLinkManager.receiveTypedEvent(ThingLinkManager.java:1) [105:org.eclipse.smarthome.core.thing:0.9.0.201708151402]

at org.eclipse.smarthome.core.events.AbstractTypedEventSubscriber.receive(AbstractTypedEventSubscriber.java:50) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:193) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181) [98:org.eclipse.smarthome.core:0.9.0.201708151402]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

==> /var/log/openhab2/events.log <==

2017-08-24 00:02:08.645 [hingStatusInfoChangedEvent] - ‘isy:switch:cd7bfe14:20_C3_24’ changed from INITIALIZING to ONLINE

2017-08-24 00:02:08.648 [hingStatusInfoChangedEvent] - ‘isy:variable:cd7bfe14:integer_4’ changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

2017-08-24 00:02:08.655 [hingStatusInfoChangedEvent] - ‘isy:switch:cd7bfe14:20_C3_24’ changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

2017-08-24 00:02:08.821 [vent.ItemStateChangedEvent] - isy_switch_cd7bfe14_14_AD_5F_state changed from NULL to ON

2017-08-24 00:02:08.840 [vent.ItemStateChangedEvent] - isy_switch_cd7bfe14_20_C3_24_state changed from NULL to OFF

2017-08-24 00:02:09.102 [vent.ItemStateChangedEvent] - weatherunderground_weather_dac61b0b_current_location changed from NULL to Mission Bay, Boca Raton, Florida

Hi Craigh,

Thanks a bunch for the work on the binding. Any chance for support for the following devices:

  1. ToggleLinc Relay: 02.0D - Insteon model 2466S
  2. Insteon DIN Rail On/Off: 02.2E - Insteon model 2453-222 (915MHz) | 0x2E
  3. InLine Linc Dual band dimmer: 01.32 - Insteon model 2475DA1

Also, I have an Insteon Thermostat. I would be willing to provide whatever testing you might need. Not sure how much help I’d be though.

Thanks again.

should be able to add support for those devices within a couple days.

not so for the thermostat. I am away from my house with the isy, and I don’t have thermostats so I think the development of it would be just too difficult for me. We need someone to step up that can do the coding for the thermos.

I’ll update you when I have those other devices added.

I got the older venstar thermostat, and a few days off coming up around Thanksgiving. I may give this a try – could be fun to jump into openhab.
Just need to figure what I’ll need as a devel setup (I take it’s eclipse, any extra’s needed?), maybe I get this to work.

Cheers,
-Th

I managed to add support for the older venstar thermostat (I don’t have one of the newer smarthome thermo’s, but this may be adaptable) + the insteon smoke detector + the EZ10 RF bridge

If you know how to roll your own binding plugin from github, the source is here:

@craigh I left you a pull request here: https://github.com/QuailAutomation/openhab2-addons/pull/109

Cheers,
-Th

@captndelta @craigh Thank you for much for all of your work with this, I used this binding back on 2.1.0. I’ve searched through all of the posts including the UDI forum and I’m unable to find a 2.2.0 snapshop.jar file for this. Any help would be much appreciated, getting the ISY into my OpenHab2 install is one of the big reasons for using OpenHab.

I tried loading the 2.1.0 into my add-ons folder but OpenHab2 doesn’t pick it up.

Here is the link for the 2.2 version of the binding.

https://s3-us-west-2.amazonaws.com/craigham-pub/org.openhab.binding.isy-2.2.0-SNAPSHOT.jar

I think you would find it easier to install the market place plugin, and then it will make the Isy along with other beta-ish plugins available for install via the paper ui

3 Likes

I dropped this file into my addons folder. When I start openhab, I get the following log messages and no ISY binding loaded.

2017-12-26 12:06:06.991 [INFO ] [er.internal.HomeBuilderDashboardTile] - Started Home Builder at /homebuilder

2017-12-26 12:06:11.714 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at http://192.168.1.187:8080

2017-12-26 12:06:11.748 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at https://192.168.1.187:8443

2017-12-26 12:06:27.128 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007

2017-12-26 12:06:32.717 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app

2017-12-26 12:06:33.395 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui

2017-12-26 12:06:34.417 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel

2017-12-26 12:06:34.557 [ERROR] [org.openhab.binding.isy ] - FrameworkEvent ERROR - org.openhab.binding.isy

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.isy [209]

Unresolved requirement: Import-Package: org.apache.commons.codec

at org.eclipse.osgi.container.Module.start(Module.java:444) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]

Also tried with the Marketplace Addon and got this

2017-12-26 18:14:29.532 [ERROR] [org.openhab.binding.isy ] - FrameworkEvent ERROR - org.openhab.binding.isy

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.isy [234]

Unresolved requirement: Import-Package: org.apache.commons.codec

at org.eclipse.osgi.container.Module.start(Module.java:444) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]

at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]

at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]

at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]

Has anyone successfully run 2/2.0 from the Marketplace?

I had the same error. I copied commons-codec-1.6.jar into /usr/share/openhab2/addons/ and that fixed it.

cp /usr/share/openhab2/runtime/system/commons-codec/commons-codec/1.6/commons-codec-1.6.jar /usr/share/openhab2/addons/

and reboot

Sounds simply but took me all day to figure it out.

1 Like

Hey Craig, I’m really enjoying the binding! Thanks so much for the work you’ve put into this. I gotta take the time to learn openhab better and maybe I’ll try contributing to the project :slight_smile:

I’ve got your isy binding working and it discovered my devices on my ISY, but it didn’t recognize any of them.
In my inbox they’re all listed as this:

Unrecognized Device
isy:unrecognized:MyISY:FF_01_0A

So I just created a *.things file, manually adding a few, like so (thanks to previous poster in this thread for this!):

Bridge isy:isyBridge:MyISY "My ISY" [ user="admin", password="**********", ipAddress="192.168.xxx.xxx" ] {
        Thing isy:switch:MyISY:A1 "Island Ends" [ address="FF 01 01 1", name="A1"]
        Thing isy:switch:MyISY:A2 "Island Breakfast bar" [ address="FF 01 02 1", name="A2"]
}

By manually adding them, I got them working. It would be really nice if the discovery would recognize them though. I see you have a hash map in IsyRestDiscoveryService.java with a list of device type mappings. I’m guessing mine aren’t on the list. I’d make a PR but I’m having trouble figuring out how you’re parsing the types?

Here’s a sample switch from my ISY’s /rest/nodes/devices page:

<node flag="128">
<address>FF 01 01 1</address>
<name>A1 Island Ends</name>
<type>113.2.0.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>FF 01 01 1</pnode>
<ELK_ID>A02</ELK_ID>
<property id="ST" value="0" formatted="Off" uom="%/on/off"/>
</node>

In my type tag, I see a value similar to a version number. When I look in your hash map, I see what appear to be hex values, so I don’t understand how the type I see eventually translates to a hex value that your binding recognizes?

Could this be a set up issue on my end as well, with the ISY and the way I’m adding the devices? Thanks for any help you can provide.

Thank you martin_bliss !!! That did it.

I’m currently traveling, so I don’t have my dev env available, but from what I recall is that the type mapping keys on the first two segments - converted to hex - of the “type” element of the ISY rest reply.

So, in your case, you’d add a key of “71.2” (“113” and “2” converted to hex) to the type mapping - with the correct “thing type id” as the value - and it should pick it up during discovery.

Good luck,
-Th

Thanks for explaining how that works Thomas! If I get some time I’ll try and build the binding myself with that addition to see if discovery works.

For those who have watched and noticed validation errors when using the .things file, here is the suggested way of doing it:

Bridge isy:isyBridge:MyISY "My ISY" [ user="admin", password="admin", ipAddress="192.168.16.6" ] {
    scene   AJSleep        "AJ Sleep"        [ name="AJ Sleep Scene", address="58221" ]
    switch  MasterBedroom  "Master Bedroom"  [ name="Master Bedroom Switch", address="46 D0 C", deviceid="02.2A" ]
}

You can also do it without enclosing them in {} but then you do a regular Thing line for each one and include the Bridge UID in ( ) after the UID of the Thing:

Thing isy:switch:MasterBedroom (isy:isyBridge:MyISY) ....

This was bugging me so I dug around to figure out the right way to do it.

The full syntax specification for a Thing is:

ModelThing:
        ('Thing')? (id=UID | thingTypeId=UID_SEGMENT thingId=UID_SEGMENT)
        (label=STRING)?
        ('(' bridgeUID = UID ')')?
        ('@' location=STRING)?
        ('['
                properties+=ModelProperty? (',' properties+=ModelProperty)*
        ']')?
        ('{'
                ('Channels:')?
                channels+=ModelChannel*
        '}')?
;

Note that the “Thing” word is optional and can actually be left out.

Thank you so much, this worked perfectly!

Has anyone had any luck running this with 2.3? I tried with the 2.1 version in the OP and it worked but my fanlincs were being reported as unsupported and the 2.2 in post #126 says this:

Error starting bundle: Could not resolve module: org.openhab.binding.isy
Unresolved requirement: Import-Package: org.eclipse.jetty.websocket.client

1 Like

@Effbe,
Wondering if you have had any luck with device status changes. I too am not having any luck picking up item status changes when the item is changed via the physical device. I am using OH 2.2 and have made sure I am using the latest version of the binding from Git.
Thanks,
Ron

Hi Ron,

No luck yet in fixing the status to update from locally applied changes. I have narrowed the issue down to the ISY not pulling the device status, it doesn’t seem to be related to this binding in my case. If you log into your ISY web console and manipulate a device locally, do you see the update on the webpage?

I am seeing the same behavior. If I log into the Java Admin console and manipulate a device, the status change will show up on the ISY Web console (if I click “Refresh”). However if I manipulate a device locally (i.e. wall switch) it’s status does not update in the ISY at all. I agree it does look like an ISY issue rather than an OH Binding issue.