Konnected - Beta Add support for Alarm Panel Pro

Alternately, it’s basically $200/board. If we can get enough users together who have affected by his blatantly false advertising that it “works seamlessly” with OpenHAB, we could threaten class action. There are 1000 views on this thread, so even if half sign on, that’s enough money risked to possibly force Konnected to move on something. I imagine supporting OH3 is much cheaper than refunding all those boards.

So, if you are affected by this issue, please let me know. I’ll start collecting a list and if we get big enough, I’ll pass it to my lawyer.

I am 100% up for that but I fear there aren’t enough OH users, given my post about outputs not working on OH2 having no replies (does nobody use outputs in OH?) and how we appear to be the only people that have tried OH3. Also, I am in the UK which probably rules anything out.

Zach - as with most community stuff on the internet - you should have some way grateful users could contribute. We do appreciate your efforts.

Hi Al, I have taken Zach’s great work and made a couple of changes. I now have outputs working with OH31.1 apart from alarm2_out2. Happy to share a build of the binding.

Hi Neil,

yes, that would be great if you could share the binding.

Al.

Hi Al,
Please let me know how you get on with this. I have it running under 3.1.

https://github.com/SnowJunkieOz/OpenHABFiles/blob/main/org.openhab.binding.konnected-3.2.0-SNAPSHOT.jar?raw=true

sorry for taking so long to get round to this.

I get the following error -
2021-10-18 21:54:24.937 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method ‘ThingHandler.initialize()’ on ‘org.openhab.binding.konnected.internal.handler.KonnectedHandler@75fd4122’: null
java.lang.NullPointerException: null
at org.openhab.binding.konnected.internal.handler.KonnectedHandler.initialize(KonnectedHandler.java:296) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2021-10-18 21:54:24.964 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing ‘konnected:pro-module:0x21f008d1bd84’: null
java.lang.NullPointerException: null
at org.openhab.binding.konnected.internal.handler.KonnectedHandler.initialize(KonnectedHandler.java:296) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]

update:
A reboot shows both my konnected boards in the OH3 inbox,
I can add them from there with no errors but I am having a problem with the boards going offline.

I will try again tomorrow. 11pm here.

I’ve updated the binding on GitHub to remove one unhandled exception I was having. Not the one you reported.

Apologies if you know all of this already but I recommend through karaf console that you turn debug level logging on for the binding specifically

log:set DEBUG org.openhab.binding.konnected

I also recommend checking what binding is active using

bundle:list

Also making sure only the V3 binding is active using bundle:stop and bundle:start with the bundle id found from bundle:list

Also I had some trouble with UPNP. There is a requirement to have the UPNP feature installed in OpenHAB.

feature:install openhab-transport-upnp

But when running in a docker there is an issue with discovery. I solved this with setting my docker host to have a static Ip address with the local network router and adding fixed routes to the host when the address is one of the possible docker addresses. Hope that makes sense.

I have also seen an example where the Konnected binding determines the local IP address of the OpenHAB host which it then passes to the Konnected board to ‘callback’ to but gets it wrong when the host has multiple interfaces. When that happens the Konnected ‘thing’ is reported as offline or comm error. The Konnected board when unable to establish a connection to OpenHAB continuously reboots trying to establish a connection. The best way to determine if that is happening is to connected to the Konnected board and read the logs. See Device debugging with screen : Konnected Help & Support for how to do that.

Note if UPNP is not picking up which can be identified by PNP it will be necessary to add it manually through settings and selecting the V3 binding. It will then be necessary to manually specify the IP address property against the ‘thing’ using API Explorer. Once created the ‘thing’ wil have a thing UID. This can then be used in API Explorer to add the missing properties.
To check the thingID is correct use GET on /rest/things with the thingUID
e.g. http://127.0.0.1:8080/rest/things/konnected%3Apro-module%3A0xec40f52097b7
This should return the details of the konnected board.
Using the API Explorer then use PUT on /rest/things with the thingUID as a parameter and a request body like this replacing IP address with the IP address of the konnected board. This will need to be a static IP address assigned through the router as UPNP will not pick up any changes.
Request body:
{
“properties”: {
“ipAddress”: “http://192.168.1.100:9123”,
“macAddress”: “0xabcdefabcdef”
}
}

In macAddress the Konnected binding use the Konnected board serial number. The serial number is also used in the ThingUID if auto discovered using UPNP.

Thanks for your post Neil.

I think I have been suffering from the IP address binding issue you mentioned.
I managed to resolve it by rebooting the offending Konnected board from the app, not from the reset button. This somehow fixed both boards.

I also had an issue where the auto-generated code for the things isn’t working properly
It missed the configuration details

configuration: {}

So I added the zone and onvalue lines (which did appear in some of the items)
and everything works perfectly.

configuration:
      zone: "1"
      onvalue: "1"

Thanks again for your work on this.
I for one appreciate the work the community does on this and other things.
I am running the latest version of the binding and all seems well.

Thanks guys for your work on this. Due to some personal issues i have not had as much time as i would like to debug my home automation setup and bindings.

Thanks to all

Thanks for the addon file. Is there an option to override the callback address? I have my openhab behind a reverse proxy and need to change it. Thanks

Hi Michael, I had a similar issue to reverse proxy that I describe above. I have OpenHAB running on a docker container on a Synology NAS. UPNP wasn’t even discovering the Konnected board so I added it manually and then set the IP address using the REST API as described above. If UPNP is working but picking up the wrong address. You could do as described above.

Is this working in OH 3 yet.
I just tried with the Konnected binding that i can install from OH 3 settings and it still wont send the configuration properly when i add or configure channels.
Works fine in OH 2.5 still.

HI Chris, I have the one I posted the download link for working in OH 3.1. Would be interested to know if you have any issues with it.

Hey mate. The github link is broken

Hi Chris, link updated in post above and I’ve changed it to direct jar download

Having this same error as someone above

2021-11-09 17:09:56.577 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.konnected-3.2.0-SNAPSHOT.jar

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.konnected [265]

  Unresolved requirement: Import-Package: javax.measure; version="[2.1.0,3.0.0)"

	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.doProcess(DirectoryWatcher.java:520) [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]

Ive tried to install UPNP as you have noted.
Ive tried with and without the 3.1 snapshop binding installed
Ive rebooted.
Still have the same issues Any idea?

Just doing a quick search I found this: Error message: Unresolved requirement: Import-Package: org.apache.commons.lang; version="[2.6.0,3.0.0)" · Issue #10776 · openhab/openhab-addons · GitHub
Looks like a version incompatibility issue that should be resolved by updating your OH version.

tried that using openhab-config.
Same error. Not sure. Ill continue, surely im doing something wrong

I was stoked to come back to this thread and find so much involvement and progress. I pulled that latest jar in this post-

It didn’t work initially, but then I looked for my Konnected Pro Board and didn’t find it on my network.

I restarted the Pro Board- No response.
I then flashed the Pro Board following these instructions-
Alarm Panel Pro: Flashing Firmware : Konnected Help & Support

The Pro Board started back up. I ran a scan in the binding and it was found.

Then, I edited the Thing Configuration Code to this and everything was up and running. I haven’t tested the outputs yet.

Here’s the code to paste in to populate all the channels. I keep channel IDs and Labels Generic and assign meaning when I link items.

channels:
  - id: Zone2
    channelTypeUID: konnected:switch-pro
    label: Zone 2
    description: ""
    configuration:
      zone: "2"
  - id: Zone1
    channelTypeUID: konnected:switch-pro
    label: Zone 1
    description: ""
    configuration:
      zone: "1"
  - id: Zone3
    channelTypeUID: konnected:switch-pro
    label: Zone 3
    description: null
    configuration:
      zone: "3"
  - id: Zone4
    channelTypeUID: konnected:switch-pro
    label: Zone 4
    description: null
    configuration:
      zone: "4"
  - id: Zone5
    channelTypeUID: konnected:switch-pro
    label: Zone 5
    description: null
    configuration:
      zone: "5"
  - id: Zone6
    channelTypeUID: konnected:switch-pro
    label: Zone 6
    description: null
    configuration:
      zone: "6"
  - id: Zone7
    channelTypeUID: konnected:switch-pro
    label: Zone 7
    description: null
    configuration:
      zone: "7"
  - id: Zone8
    channelTypeUID: konnected:switch-pro
    label: Zone 8
    description: null
    configuration:
      zone: "8"
  - id: Zone9
    channelTypeUID: konnected:switch-pro
    label: Zone 9
    description: null
    configuration:
      zone: "9"
  - id: Zone10
    channelTypeUID: konnected:switch-pro
    label: Zone 10
    description: null
    configuration:
      zone: "10"
  - id: Zone11
    channelTypeUID: konnected:switch-pro
    label: Zone 11
    description: null
    configuration:
      zone: "11"
  - id: Zone12
    channelTypeUID: konnected:switch-pro
    label: Zone 12
    description: null
    configuration:
      zone: "12"

2 Likes