I was wrong about the TriggerLinc device (10.02). It shouldn’t be a GARAGEDOORKIT_THING_TYPE. It should be a new type with 3 channels - OPENED, CLOSED, and HEARTBEAT. Below is the response from the REST API when retrieving info on a TriggerLinc node. Let me know if you need more info.
Do you think it should only have two channels. status (open or closed) and heartbeat? or is it more like the leak sensors that do have all three ? they have a dry contact, wet contact, and heartbeat. You could try manually creating that item as a leak detector and let me know. I would presumably still create a new thing type to reduce confusion after.
I have changed the keeling 8 to match the id #s you are seeing. I have to double check, but on my keylinc 5 or 6 or remotelinc 8 I was seeing those different id #s.
No, buttons B-H never show a percent status. They will only show On or Off in the current state box. Button A does show a percent in the current state box. I think Button A should be a dimmer and the other 7 buttons should be switches.
FYI,I’ve switched over to using your ISY binding completely in my OH installation. So far things are working well. The few small issues I’ve had were all problems with my rules or setup. The binding seems to be solid.
I’ll test out the updated jar tonight. Thanks for all the work!
that seems to jive with what I remember reading about the multi-button devices back when I was originally installing, that there was only 1 load dimmer.
that’s good to hear you are finding the binding reliable. It has been reliable for me as well.
This works very well. Just wanted to report in a device ID that I have that is not being recognized:
isy:unrecognized:b381e065:DiningRoom:loadlevel
Increase/decrease the load level
This is a 2474DWH. I believe everything works properly. Amazing!
Could you look in the paper ui/configurations/things and look for the device I’d attribute for that unrecognized thing and report back
to me? Then u can add proper support.
The KeypadLinc8 is working great! I’m still facing issues with the TriggerLinc. I was able to add a Thing for the TriggerLinc and I linked items to the 3 channels. Unfortunately, none of the items are ever updated When I open/close the door, I see the status updating in ISY but nothing changes in OH. I don’t see any errors in the OH log so I’m not sure why it isn’t working.
I did got into the ISY logs and found this:
Kitchen / Kitchen Door-Opened Status 100% Tue 2017/02/28 05:05:49 PM System Log
Kitchen / Kitchen Door-Opened Status 0% Tue 2017/02/28 05:06:12 PM System Log
Kitchen / Kitchen Door-Opened Status 100% Tue 2017/02/28 05:06:15 PM System Log
Kitchen / Kitchen Door-Opened Status 0% Tue 2017/02/28 05:06:18 PM System Log
I was expecting to see DFON and DFOF being sent as the status. Instead, it looks like ISY sends a percentage value - 100 for open and 0 for closed. Is the binding setup to handle a percentage value for the TriggerLinc?
Let me know if you need me to pull any other logs or do more tests to help debug the issue.
Craig,
Awesome binding. I’ve been using OpenHAB1 w/ my ISY since 2015. I recently started fresh with OpenHAB2 and your ISY binding v20170316.
I added the bridge and switches in a things file and added the items file.
Alexa, Siri, and the panel all control the ISY through OpenHAB.
2 issues.
Every 3 minutes, there is an error (and warning) on the openhab.log file saying that there is a problem with the web socket connection. The error and warning are posted below.
Manually switching the light switch does not change the status in OpenHAB (most likely a result of issue #1)
I did notice you committed another change today, I will download the latest jar file and start w/ a fresh openhabian. I will also try discovering the bridge and items instead of manually creating them from the thing file.
If anyone has an insight to the cause of this error, please let me know.
2017-03-18 07:18:52.586 [ERROR] [sy.internal.IsyWebSocketSubscription] - Error with websocket communication
org.eclipse.jetty.websocket.api.WebSocketException: java.lang.NullPointerException
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:280)[182:org.openhab.binding.isy:2.1.0.201703161952]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)[182:org.openhab.binding.isy:2.1.0.201703161952]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)[182:org.openhab.binding.isy:2.1.0.201703161952]
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[72:org.eclipse.jetty.io:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_112]
Caused by: java.lang.NullPointerException
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:259)[182:org.openhab.binding.isy:2.1.0.201703161952]
... 6 more
2017-03-18 07:18:52.590 [WARN ] [ommon.io.AbstractWebSocketConnection] -
org.eclipse.jetty.websocket.api.WebSocketException: java.lang.NullPointerException
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:280)[182:org.openhab.binding.isy:2.1.0.201703161952]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)[182:org.openhab.binding.isy:2.1.0.201703161952]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)[182:org.openhab.binding.isy:2.1.0.201703161952]
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[72:org.eclipse.jetty.io:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_112]
Caused by: java.lang.NullPointerException
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:259)[182:org.openhab.binding.isy:2.1.0.201703161952]
... 6 more
2017-03-18 07:18:52.617 [DEBUG] [sy.internal.IsyWebSocketSubscription] - Socket Closed: [1006] java.lang.NullPointerException
Ya, let’s try not using the things file so we can rule out a config issue there. To use Alexa you will need to create an items file as described in the documentation for the hue emulator.
Discovery of the bridge(ISY) is not implemented. You will have to go to inbox, click add, then select isy binding. from there click manually add, and select the bridge. then enter ip, user, pass.
from there you should be able to go back to inbox and click add, isy and then your devices, programs, scenes, and variables will show up in the inbox.
Flashed a fresh copy of Openhabian/Start up 45 min/Update/UI Standard Setup/Turned on 1.x bindings/Lang&Country in Locale/Preferences UI-English
Copied your latest snapshot (7pm last night) to /usr/share/openhab2/addons
Verified your isy binding showed up in Paper UI Configuration --> Bindings
Went to Configuration --> Things manually added “ISY IP Access Point” added my IP:Port, UserID, P/W.
I have not added any any other things (Although they have automatically shown up in my inbox)
I have not added any items via paper or a text file. Also, no other bindings yet. 1 binding (ISY) 1 thing (IP Access Point)
I checked the logs and the same websockets error shows up every 3 seconds.
Let me know if you see anything with the below error message or if I missed something from the above steps.
2017-03-18 22:04:16.253 [WARN ] [sy.internal.IsyWebSocketSubscription] - Unhandled Error (closing connection)
java.lang.ArrayIndexOutOfBoundsException: 1
at org.openhab.binding.isy.internal.InsteonAddress.stripDeviceId(InsteonAddress.java:58)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.handler.IsyBridgeHandler.getThingHandler(IsyBridgeHandler.java:108)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.handler.IsyBridgeHandler.access$1(IsyBridgeHandler.java:106)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.handler.IsyBridgeHandler$1.onModelChanged(IsyBridgeHandler.java:72)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.internal.IsyWebSocketSubscription.parseXml(IsyWebSocketSubscription.java:148)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.internal.IsyWebSocketSubscription.onWebSocketText(IsyWebSocketSubscription.java:111)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:308)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[72:org.eclipse.jetty.io:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_112]
2017-03-18 22:04:16.258 [ERROR] [sy.internal.IsyWebSocketSubscription] - Error with websocket communication
java.lang.ArrayIndexOutOfBoundsException: 1
at org.openhab.binding.isy.internal.InsteonAddress.stripDeviceId(InsteonAddress.java:58)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.handler.IsyBridgeHandler.getThingHandler(IsyBridgeHandler.java:108)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.handler.IsyBridgeHandler.access$1(IsyBridgeHandler.java:106)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.handler.IsyBridgeHandler$1.onModelChanged(IsyBridgeHandler.java:72)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.internal.IsyWebSocketSubscription.parseXml(IsyWebSocketSubscription.java:148)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.openhab.binding.isy.internal.IsyWebSocketSubscription.onWebSocketText(IsyWebSocketSubscription.java:111)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:308)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)[181:org.openhab.binding.isy:2.1.0.201703172158]
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[72:org.eclipse.jetty.io:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_112]
2017-03-18 22:04:19.333 [INFO ] [sy.internal.IsyWebSocketSubscription] - Reconnecting via Websocket to Isy.