New binding: Isy

I have created a new build which should have support for the dual outletlinc, micro on/off (modeled as simple switch), and the switchlinc dimmer.

I am away from my isy house at this time, and do not have those devices, so let me know if they don’t work as expected.

No they only have one id xx.xx.xx.1, so they can use the standard on/off switch type. As far as I know there is no way to tell if the devices status was changed by a physical button press or from the sense wire.

Hi Craig,
I have had my ISY running for a few years but am very new to OpenHab. Thankyou for your effort to develop the binding for ISY!
I am struggling to get the binding to install. I am having a similar issue to one that was raised in the UDI forum regarding “Unresolved requirement: Import-Package: org.eclipse.smarthome.io.transport.upnp” error message that appears in my .log file. That user reportedly solved it by finding the “transport.io JAR file” and putting it in the /addons folder. I’ve not been able to locate this file and have reached out to him via that forum to find out more but have not heard back. However, I also noted in a post above by chasebri68, that one of his install steps was to “turn on 1.x bindings”. Is this a specific requirement for this binding and potentially the cause of this error for me?
Thanks again for your effort to develop this!
Ron

Hi Ron,

Instead of adding the binding to the addons folder, could you enable the marketplace binding(Addons->Misc), and then the ISY binding should show up in the bindings list. Then click install.

Does that work?

Craig,
Thanks for adding the devices, they all look like they are working correctly. Any idea about when the FanLinc or the thermostat adapter will be added. Great job on this addon.

Chris

Thanks for the tip. I didn’t realize marketplace was only available in 2.1 Once I upgraded from 2.0 to 2.1 it all worked.
Thanks again,
Ron

Great work so far! I tried several times in the past to get some kind of integration working and settled on having to go ISY -> Vera -> Openhab but i’d love to cut out my aging Vera, all I would need is FanLinc support :).

Craig,
I saw that you added support for the fanlinc a few days ago, I just got around to testing it today, and they are still being discovered as dimmers with only two channels load level and paddle action. Again thanks for all your hard work.

Chris

Sorry about that Chris. The latest build should identify it as a fanlinc.

I installed the latest build (2.1.0.201705041537) to test my FanLincs and it seems to pick them up as device type “Fanlinc” with two Load Level channels and a Paddle Action channel, but when I use an item linked to either Load Level channel, I see [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling handler: java.lang.IllegalArgumentException: Could not find device id for channel: ‘load’ in the log and it doesn’t do anything. I have tried creating the item from the Fanlinc Thing in both Paper UI and Habmin with the same results. Am I missing something? I did notice the following errors when starting openhab after replacing the jar file in the addons folder:

[INFO ] [sy.internal.IsyWebSocketSubscription] - Connecting to :ws://isy-ip-address/rest/subscribe
[ERROR] [sy.internal.IsyWebSocketSubscription] - parse exception
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 129; The element type “status” must be terminated by the matching end-tag “< /status >”.
[WARN ] [binding.isy.handler.IsyDeviceHandler] - unhandled Command: REFRESH
[INFO ] [sy.internal.IsyWebSocketSubscription] - Reconnecting via Websocket to Isy.
[INFO ] [sy.internal.IsyWebSocketSubscription] - Connecting to :ws://isy-ip-address/rest/subscribe
[WARN ] [clipse.jetty.websocket.common.Parser] -
org.eclipse.jetty.websocket.api.WebSocketException: java.lang.NullPointerException
[WARN ] [e.jetty.util.thread.QueuedThreadPool] - Unexpected thread death: org.eclipse.jetty.util.thread.QueuedThreadPool$3@14102d6 in WebSocketClient@1250015{STARTED,8<=8<=200,i=5,q=0}

My ISY is running v4.5.4, for what it’s worth

No, that is a bug, sorry about that. I’ll let you know when I have a fix for that.

ok. there is a new build up. disclaimer though, I do not have access to my house right now with the ISY, so I haven’t been able to confirm that this totally works.

If you don’t mind trying it and letting me know if there are any errors, I should be able to get it working, just might take a little longer than usual.

Updated and did a few quick tests, it seems to work great now so far. Thanks for the quick update! :slight_smile:

Hi Craig,
Thanks also for your efforts in producing this binding. I’m relatively new to openHAB but have been an ISY user for 3 years or so.

I’ve loaded the binding and it seems to be ok. The strange thing is that during discovery, all of my scenes, programs and variables are found. However only 7 of 18 SwitchLinc (2477S) id 02.2A show up. Only 1 of 2 of my garage controllers show up as well. Not sure whether this would have anything to do with my isy running version 5.0.10 though. All of the devices do show when doing "http://192.168.xxx.xxx/rest/nodes from a browser. The switches are a mix of firmware v.43 and v.45, but only a few of the v.43 are being reported. Any thoughts?

Cheers,
Gordon

I have a couple suggestions.

First, I would suggest you turn up the log level for the isy binding to TRACE until things are working for you. Then you can look at the openHAB.log file, should be some clues on what could be going wrong.

Another thing you could try is to manually create a device for one of those things not getting discovered. However, I think if you watch the logs, any errors will be pretty obvious.

Cheers,
Craig

Thanks. I’ve tried that and there isn’t much that seems unusual. All of the programs and scenes appear in the logs during discovery, but none of the switches, with the exception of one. The logs show this:

2017-06-05 08:08:25.477 [TRACE] [sy.internal.IsyWebSocketSubscription] - Parsing message: <?xml version="1.0"?><Event seqnum="12202" sid="uuid:1851"><control>_0</control><action>1
20</action><node></node><eventInfo></eventInfo></Event>
2017-06-05 08:08:25.492 [DEBUG] [sy.internal.IsyWebSocketSubscription] - Control: _0, Action: 120, Node: 
2017-06-05 08:08:31.021 [TRACE] [sy.internal.IsyWebSocketSubscription] - Parsing message: <?xml version="1.0"?><Event seqnum="12203" sid="uuid:1851"><control>DOF</control><action>
0</action><node>3E 47 49 1</node><eventInfo></eventInfo></Event>
2017-06-05 08:08:31.034 [DEBUG] [sy.internal.IsyWebSocketSubscription] - Control: DOF, Action: 0, Node: 3E 47 49 1
2017-06-05 08:08:31.036 [DEBUG] [binding.isy.handler.IsyBridgeHandler] - find thing handler for address: 3E 47 49 1
2017-06-05 08:08:31.037 [DEBUG] [binding.isy.handler.IsyBridgeHandler] - Find thing for address: 3E 47 49
2017-06-05 08:08:31.038 [DEBUG] [binding.isy.handler.IsyBridgeHandler] - No thing discovered for address: 3E 47 49 1
2017-06-05 08:08:31.040 [TRACE] [sy.internal.IsyWebSocketSubscription] - Parsing message: <?xml version="1.0"?><Event seqnum="12204" sid="uuid:1851"><control>ST</control><action u
om="100" prec="0">0</action><node>3E 47 49 1</node><eventInfo></eventInfo><fmtAct>0%</fmtAct></Event>
2017-06-05 08:08:31.053 [DEBUG] [sy.internal.IsyWebSocketSubscription] - Control: ST, Action: 0, Node: 3E 47 49 1
2017-06-05 08:08:31.054 [DEBUG] [binding.isy.handler.IsyBridgeHandler] - find thing handler for address: 3E 47 49 1
2017-06-05 08:08:31.055 [DEBUG] [binding.isy.handler.IsyBridgeHandler] - Find thing for address: 3E 47 49
2017-06-05 08:08:31.056 [DEBUG] [binding.isy.handler.IsyBridgeHandler] - No thing discovered for address: 3E 47 49 1

Item 3E 47 49 is a 2477S switch. A rest call in a browser returns this for the thing:

<node flag="128" nodeDefId="RelayLampSwitch_ADV">
<address>3E 47 49 1</address>
<name>Pantry Light</name>
<type>2.42.69.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<startDelay>0</startDelay>
<endDelay>0</endDelay>
<pnode>3E 47 49 1</pnode>
<property id="ST" value="0" formatted="0%" uom="100"/>
</node>

It doesn’t appear in the inbox.
Thanks again.

Could you try running discovery again with the logging turned up. There should be messages for each of those nodes found within the isy.

Craig,
Is the direct link in the original post the most recent version? I noticed that in the GitHub page it says that the one at https://ci.m.quailholdings.com/job/openhab-2-binding-isy/ is, but that link gives me a 502 Bad Gateway and I just wanted to make sure i’m grabbing the right one

No, I have moved the jar to s3 for better availability.

Where did you find that link, I thought I found them all and updated them?

Here is new link:

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

Cool, thanks for the update. Your OP has a link to GitHub (https://github.com/QuailAutomation/openhab2-addons/tree/isy-binding/addons/binding/org.openhab.binding.isy) and it’s right there. Also, you might then want to change the link in the OP that points to the .jar file (https://github.com/QuailAutomation/openhab2-addons/releases/download/0.1/org.openhab.binding.isy-2.1.0-SNAPSHOT.jar) if you can.