NEEO Remote Binding/Transport

@tmrobert8
The push of the initial state works. When I start the transport, the NEEO has the states correct. I also see this push happening in the debug log of the transport.
Once the transport is started, no state updates get sent from openHAB to NEEO. I can use the switches from the NEEO, and these updates get pushed to openHAB correctly.

First of all - thank you for the update.

Maybe you should edit the Thing-refreshing-information to keep users patient:

Refreshing Things…
Discovery might take a few Minutes, Things are shown after discovery.

wordwrap fix still open;

Here the first test:
On the neeo-remote i have opend my light-switch.
if i switch the light on through the remote it takes about 1 second until the light goes on.
i turn the light off with oh - this takes about 9 seconds until the correct state is shown on the neeo-remote.

@tmrobert8
After being up for a while, the transport disconnects and cannot connect anymore.
This is the openHAB debug log:

2017-11-14 11:23:24.444 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Deregistering NEEO-d487672e for http://192.168.0.225:3000/v1/api/unregisterSdkDeviceAdapter using callback http://192.168.0.10:8080/neeo/NEEO-d487672e
2017-11-14 11:23:24.470 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 11 * Sending client request on thread ESH-io.neeo-293
11 > POST http://192.168.0.225:3000/v1/api/unregisterSdkDeviceAdapter
11 > Accept: application/json
11 > Content-Type: application/json
{"name":"openHAB","baseUrl":"http://192.168.0.10:8080/neeo/NEEO-d487672e"}

2017-11-14 11:23:24.557 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 11 * Client response received on thread ESH-io.neeo-293
11 < 200
11 < Access-Control-Allow-Credentials: true
11 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
11 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
11 < Connection: keep-alive
11 < Content-Length: 16
11 < Content-Type: application/json; charset=utf-8
11 < Date: Tue, 14 Nov 2017 10:23:24 GMT
11 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
11 < Server: nginx
{"success":true}

2017-11-14 11:23:24.664 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Registering NEEO-d487672e for http://192.168.0.225:3000/v1/api/registerSdkDeviceAdapter using callback http://192.168.0.10:8080/neeo/NEEO-d487672e
2017-11-14 11:23:24.666 [ERROR] [org.openhab.io.neeo.internal.NeeoApi] - Connect had an exception
java.lang.IllegalStateException: Client instance has been closed.
	at jersey.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:173) [157:org.glassfish.jersey.bundles.repackaged.jersey-guava:2.22.2]
	at org.glassfish.jersey.client.JerseyClient.checkNotClosed(JerseyClient.java:273) [160:org.glassfish.jersey.core.jersey-client:2.22.2]
	at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:288) [160:org.glassfish.jersey.core.jersey-client:2.22.2]
	at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:76) [160:org.glassfish.jersey.core.jersey-client:2.22.2]
	at org.openhab.io.neeo.internal.net.HttpRequest.sendPostJsonCommand(HttpRequest.java:86) [234:org.openhab.io.neeo:2.2.0.201711132044]
	at org.openhab.io.neeo.internal.NeeoApi.registerApi(NeeoApi.java:238) [234:org.openhab.io.neeo:2.2.0.201711132044]
	at org.openhab.io.neeo.internal.NeeoApi.connect(NeeoApi.java:209) [234:org.openhab.io.neeo:2.2.0.201711132044]
	at org.openhab.io.neeo.internal.NeeoApi.access$0(NeeoApi.java:206) [234:org.openhab.io.neeo:2.2.0.201711132044]
	at org.openhab.io.neeo.internal.NeeoApi$1.run(NeeoApi.java:167) [234:org.openhab.io.neeo:2.2.0.201711132044]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
	at java.lang.Thread.run(Thread.java:745) [?:?]

The log on the NEEO shows ‘Unregistered SDK Adapter openHAB’ at that time.

@Mherwege

Could you post the log a bit more before that - I want to see what caused it to unregister. Likewise, in the log you should see where you set your switch - could you post what neeo does with the switch update. You’ll see something like the following (need to see the itemstateevent notice, then what results afterwards - in my case you see it sending the notification):

2017-11-14 07:49:12.350 [DEBUG] [b.r.i.net.SocketChannelSession:293  ] - Dispatching response: N C[1].Z[6].status="OFF"
2017-11-14 07:49:12.355 [DEBUG] [b.r.i.net.SocketChannelSession:293  ] - Dispatching response: N System.status="OFF"
2017-11-14 07:49:12.356 [INFO ] [smarthome.event.ItemStateEvent:47   ] - russound_zone_192168124_1_6_status updated to OFF
2017-11-14 07:49:12.357 [DEBUG] [enhab.io.neeo.internal.NeeoApi:319  ] - Sending Notification to brain (NEEO-4f150397): {"type":"6334788466840174592:powerstate","data":false}
2017-11-14 07:49:12.357 [INFO ] [s.event.ItemStateChangedEvent :47   ] - russound_zone_192168124_1_6_status changed from ON to OFF
2017-11-14 07:49:12.357 [DEBUG] [enhab.io.neeo.internal.NeeoApi:319  ] - Sending Notification to brain (NEEO-4f150397): {"type":"6334788466840174592:russound_zone_192168124_1_6_status-4","data":false}
2017-11-14 07:49:12.357 [DEBUG] [.neeo.internal.net.HttpRequest:39   ] - 11 * Sending client request on thread ESH-io.neeo-3
11 > POST http://192.168.1.29:3000/v1/notifications
11 > Accept: application/json
11 > Content-Type: application/json
{"type":"6334788466840174592:powerstate","data":false}

2017-11-14 07:49:12.357 [DEBUG] [.neeo.internal.net.HttpRequest:39   ] - 12 * Sending client request on thread ESH-io.neeo-2
12 > POST http://192.168.1.29:3000/v1/notifications
12 > Accept: application/json
12 > Content-Type: application/json
{"type":"6334788466840174592:russound_zone_192168124_1_6_status-4","data":false}

@Dragonfly
I can change the message but am confused by what you are saying. The things are available even if nothing is discovered. You may be running into processing time to create the thing definitions on the PI3 that make it look like it’s not created until the discovery.

Yes - haven’t addressed wordwrap yet

As for the timing - the best bet is to have the logs running in real time (open the karaf console and type “log:tail”). Then switch the remote and watch the messages. If I’m sending the message to the brain in a timely manner - then it’s on the brain side and I can’t do anything about that.

First time use:
I open the connector i see, that the brain is online.
I switch over to “things” - now a “long” time nothing happens (in my case); it should just be an information for new users that it can take a while until things show up to prevent them from switching around.

Does it atleast show “Refreshing things…” at that point (rather than a blank screen)? Trying to figure out what exactly you are seeing

Nevermind - I already see the issue. I reused something I shouldn’t have on a restart

@tmrobert8
There is nothing meaningful in the log 2 hours before deregisering (except some of my own rule log messages that don’t touch Neeo at all). I only switched on debug logging for org.openhab.io.neeo, so if I need something from somewhere else, I would need to switch that on as well.

As for the updates, here are the ItemStateChangedEvent lines from my events.log around the time I noticed the behavior. I was playing with Licht_Zolder, both from openHAB, wall switches and Neeo. Below that is the log of the startup of the transport just before playing with Licht_Zolder. There is nothing showing the changes going to the Neeo, while the state went to the Neeo at startup. I left in a few lines of the log beyond the time of experimenting that have nothing to do with Neeo.

events.log:

2017-11-14 09:40:40.631 [ome.event.ItemCommandEvent] - Item 'Licht_Zolder' received command ON
2017-11-14 09:40:40.655 [vent.ItemStateChangedEvent] - Licht_Zolder changed from OFF to ON
2017-11-14 09:40:40.655 [GroupItemStateChangedEvent] - gLichten_Boven changed from OFF to ON through Licht_Zolder
2017-11-14 09:40:40.659 [GroupItemStateChangedEvent] - gLichten changed from OFF to ON through gLichten_Boven
2017-11-14 09:40:42.354 [ome.event.ItemCommandEvent] - Item 'Licht_Zolder' received command OFF
2017-11-14 09:40:42.364 [vent.ItemStateChangedEvent] - Licht_Zolder changed from ON to OFF
2017-11-14 09:40:42.365 [GroupItemStateChangedEvent] - gLichten_Boven changed from ON to OFF through Licht_Zolder
2017-11-14 09:40:42.374 [GroupItemStateChangedEvent] - gLichten changed from ON to OFF through gLichten_Boven
2017-11-14 09:41:55.287 [vent.ItemStateChangedEvent] - Licht_Zolder changed from OFF to ON
2017-11-14 09:41:55.289 [GroupItemStateChangedEvent] - gLichten_Boven changed from OFF to ON through Licht_Zolder
2017-11-14 09:41:55.292 [GroupItemStateChangedEvent] - gLichten changed from OFF to ON through gLichten_Boven
2017-11-14 09:42:04.888 [GroupItemStateChangedEvent] - gLichten_Boven changed from ON to OFF through Licht_Zolder
2017-11-14 09:42:04.897 [vent.ItemStateChangedEvent] - Licht_Zolder changed from ON to OFF
2017-11-14 09:42:04.900 [GroupItemStateChangedEvent] - gLichten changed from ON to OFF through gLichten_Boven
2017-11-14 09:42:07.772 [vent.ItemStateChangedEvent] - Licht_Zolder changed from OFF to ON
2017-11-14 09:42:07.780 [GroupItemStateChangedEvent] - gLichten changed from OFF to ON through gLichten_Boven
2017-11-14 09:42:07.785 [GroupItemStateChangedEvent] - gLichten_Boven changed from OFF to ON through Licht_Zolder
2017-11-14 09:42:09.467 [vent.ItemStateChangedEvent] - Licht_Zolder changed from ON to OFF
2017-11-14 09:42:09.476 [GroupItemStateChangedEvent] - gLichten_Boven changed from ON to OFF through Licht_Zolder
2017-11-14 09:42:09.479 [GroupItemStateChangedEvent] - gLichten changed from ON to OFF through gLichten_Boven
2017-11-14 09:42:10.352 [ome.event.ItemCommandEvent] - Item 'Licht_Zolder' received command ON
2017-11-14 09:42:10.360 [vent.ItemStateChangedEvent] - Licht_Zolder changed from OFF to ON
2017-11-14 09:42:10.367 [GroupItemStateChangedEvent] - gLichten_Boven changed from OFF to ON through Licht_Zolder
2017-11-14 09:42:10.367 [GroupItemStateChangedEvent] - gLichten changed from OFF to ON through gLichten_Boven
2017-11-14 09:42:11.790 [ome.event.ItemCommandEvent] - Item 'Licht_Zolder' received command OFF
2017-11-14 09:42:11.802 [GroupItemStateChangedEvent] - gLichten_Boven changed from ON to OFF through Licht_Zolder
2017-11-14 09:42:11.815 [GroupItemStateChangedEvent] - gLichten changed from ON to OFF through gLichten_Boven
2017-11-14 09:42:11.816 [vent.ItemStateChangedEvent] - Licht_Zolder changed from ON to OFF
2017-11-14 09:42:13.229 [ome.event.ItemCommandEvent] - Item 'Licht_Zolder' received command ON
2017-11-14 09:42:13.614 [GroupItemStateChangedEvent] - gLichten_Boven changed from OFF to ON through Licht_Zolder
2017-11-14 09:42:13.614 [vent.ItemStateChangedEvent] - Licht_Zolder changed from OFF to ON
2017-11-14 09:42:13.620 [GroupItemStateChangedEvent] - gLichten changed from OFF to ON through gLichten_Boven
2017-11-14 09:42:14.733 [ome.event.ItemCommandEvent] - Item 'Licht_Zolder' received command OFF
2017-11-14 09:42:14.745 [GroupItemStateChangedEvent] - gLichten_Boven changed from ON to OFF through Licht_Zolder
2017-11-14 09:42:14.748 [GroupItemStateChangedEvent] - gLichten changed from ON to OFF through gLichten_Boven
2017-11-14 09:42:14.747 [vent.ItemStateChangedEvent] - Licht_Zolder changed from ON to OFF

openhab.log:

2017-11-14 09:36:19.123 [DEBUG] [org.openhab.io.neeo                 ] - BundleEvent RESOLVED - org.openhab.io.neeo
2017-11-14 09:36:19.136 [DEBUG] [org.openhab.io.neeo                 ] - BundleEvent [unknown:512] - org.openhab.io.neeo
2017-11-14 09:36:19.220 [DEBUG] [org.openhab.io.neeo                 ] - BundleEvent STARTING - org.openhab.io.neeo
2017-11-14 09:36:19.234 [DEBUG] [org.openhab.io.neeo                 ] - BundleEvent STARTED - org.openhab.io.neeo
2017-11-14 09:36:19.243 [DEBUG] [org.openhab.io.neeo                 ] - ServiceEvent REGISTERED - {org.openhab.ui.dashboard.DashboardTile}={component.name=org.openhab.io.neeo.NeeoDashboardTile, component.id=254, service.id=401, service.bundleid=234, service.scope=bundle} - org.openhab.io.neeo
2017-11-14 09:36:19.373 [DEBUG] [org.openhab.io.neeo.NeeoService     ] - Neeo Service activated
2017-11-14 09:36:19.414 [DEBUG] [.neeo.internal.NeeoDeviceDefinitions] - Reading contents of /var/lib/openhab2/neeo/neeodefinitions.json
2017-11-14 09:36:19.511 [DEBUG] [org.openhab.io.neeo                 ] - ServiceEvent REGISTERED - {javax.servlet.ServletContext}={osgi.web.symbolicname=org.openhab.io.neeo, osgi.web.version=2.2.0.201711132044, osgi.web.contextname=default, osgi.web.contextpath=/, service.id=403, service.bundleid=234, service.scope=singleton} - org.openhab.io.neeo
2017-11-14 09:36:19.521 [DEBUG] [org.openhab.io.neeo.NeeoService     ] - Started NEEO Dashboard tile at /neeo
2017-11-14 09:36:19.699 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 1 * Sending client request on thread Automation Provider Processing Queue
1 > GET http://192.168.0.225:3000/v1/systeminfo

2017-11-14 09:36:19.761 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 1 * Client response received on thread Automation Provider Processing Queue
1 < 200
1 < Access-Control-Allow-Credentials: true
1 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
1 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
1 < Connection: keep-alive
1 < Content-Length: 1869
1 < Content-Type: application/json; charset=utf-8
1 < Date: Tue, 14 Nov 2017 08:36:19 GMT
1 < ETag: W/"74d-Yx+0KGYCHVyGsbH3Dw7HD5B3AYw"
1 < Server: nginx
1 < Vary: Accept-Encoding
{"hardwareRegion":"EU","touchButtonPressed":false,"hardwareRevision":5,"user":"mark.herwege@telenet.be","version":"0.47.9-28fa9fa","tr2version":"0.47.9","firmwareVersion":"0.47.9-20170629-28fa9fa-1106-170431","hostname":"NEEO-d487672e","totalmem":1053433856,"freemem":561135616,"ip":"192.168.0.161","lanip":"192.168.0.225","wlanip":"192.168.0.161","wlanregion":"EU","wlancountry":"BE","wlaninfo":["RSSI=-50","LINKSPEED=150","NOISE=9999","FREQUENCY=2457"],"uptime":47346,"loadavgShort":0.0029296875,"loadavgMid":0.04296875,"loadavgLong":0.09375,"network":{"eth0":{"bytes":{"receive":"38275672","transmit":"42314326"},"packets":{"receive":"123659","transmit":"159177"},"errs":{"receive":"0","transmit":"0"},"drop":{"receive":"10","transmit":"0"},"fifo":{"receive":"0","transmit":"0"},"frame":{"receive":"0"},"compressed":{"receive":"0","transmit":"0"},"multicast":{"receive":"0"},"colls":{"transmit":"0"},"carrier":{"transmit":"0"}},"wlan0":{"bytes":{"receive":"51077639","transmit":"197027"},"packets":{"receive":"181827","transmit":"1478"},"errs":{"receive":"0","transmit":"0"},"drop":{"receive":"1905","transmit":"3"},"fifo":{"receive":"0","transmit":"0"},"frame":{"receive":"0"},"compressed":{"receive":"0","transmit":"0"},"multicast":{"receive":"0"},"colls":{"transmit":"0"},"carrier":{"transmit":"0"}},"tun0":{"bytes":{"receive":"347440","transmit":"489988"},"packets":{"receive":"5113","transmit":"5635"},"errs":{"receive":"0","transmit":"0"},"drop":{"receive":"0","transmit":"0"},"fifo":{"receive":"0","transmit":"0"},"frame":{"receive":"0"},"compressed":{"receive":"0","transmit":"0"},"multicast":{"receive":"0"},"colls":{"transmit":"0"},"carrier":{"transmit":"0"}}},"duidata":{"channels.json":"0784778","devices.json":"cae52c7"},"systemtime":"2017-11-14T08:36:19.747Z","activeHandles":{"activeHandlesCount":12,"activeHandles":{"Timer":5,"Socket":6,"Server":1}}}

2017-11-14 09:36:19.779 [DEBUG] [org.openhab.io.neeo.NeeoService     ] - Brain discovered: NEEO-d487672e at /192.168.0.225 and starting servlet at /neeo/NEEO-d487672e
2017-11-14 09:36:19.823 [DEBUG] [nal.servletservices.NeeoBrainService] - >>>> RESENDING
2017-11-14 09:36:19.832 [DEBUG] [org.openhab.io.neeo.NeeoService     ] - Started NEEO Listener at /neeo/NEEO-d487672e
2017-11-14 09:36:19.837 [DEBUG] [org.openhab.io.neeo                 ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.events.EventSubscriber}={ipAddresses=192.168.0.225, component.name=org.openhab.io.neeo.NeeoService, service.config.category=io, service.config.description.uri=io:neeo, exposeAll=false, service.pid=org.openhab.io.neeo.NeeoService, service.config.label=NEEO Connector, localIpAddress=192.168.0.10, component.id=255, service.id=402, service.bundleid=234, service.scope=bundle} - org.openhab.io.neeo
2017-11-14 09:36:20.801 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Registering NEEO-d487672e for http://192.168.0.225:3000/v1/api/registerSdkDeviceAdapter using callback http://192.168.0.10:8080/neeo/NEEO-d487672e
2017-11-14 09:36:21.002 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 1 * Sending client request on thread ESH-io.neeo-16
1 > POST http://192.168.0.225:3000/v1/api/registerSdkDeviceAdapter
1 > Accept: application/json
1 > Content-Type: application/json
{"name":"openHAB","baseUrl":"http://192.168.0.10:8080/neeo/NEEO-d487672e"}

2017-11-14 09:36:21.081 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 1 * Client response received on thread ESH-io.neeo-16
1 < 200
1 < Access-Control-Allow-Credentials: true
1 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
1 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
1 < Connection: keep-alive
1 < Content-Length: 16
1 < Content-Type: application/json; charset=utf-8
1 < Date: Tue, 14 Nov 2017 08:36:21 GMT
1 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
1 < Server: nginx
{"success":true}

2017-11-14 09:36:21.099 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Getting existing device mappings from http://192.168.0.225:3000/v1/projects/home
2017-11-14 09:36:21.241 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 1 * Sending client request on thread ESH-io.neeo-16
1 > GET http://192.168.0.225:3000/v1/projects/home

2017-11-14 09:36:21.980 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 1 * Client response received on thread ESH-io.neeo-16
1 < 200
1 < Access-Control-Allow-Credentials: true
1 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
1 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
1 < Connection: keep-alive
1 < Content-Length: 106628
1 < Content-Type: application/json; charset=utf-8
1 < Date: Tue, 14 Nov 2017 08:36:21 GMT
1 < ETag: W/"1a084-TcmeVroGgg1ACnfEc2iq6ICUpoI"
1 < Server: nginx
1 < Vary: Accept-Encoding
{"name":"home","version":"1.0.2","label":"Home Sweet Home","configured":true,"airkey":"df0877e9b4ed53df5638bf5374dc6e75","rooms":{"Woonkamer":{"name":"Woonkamer","icon":"neeo.icon.room.bonus-room","hasController":true,"devices":{"TV scherm":{"name":"TV scherm","roomName":"Woonkamer","roomKey":"6232364704816168960","adapterDeviceId":"default","details":{"sourceName":"duiro","adapterName":"tv","type":"TV","manufacturer":"Samsung","name":"LE37B530P7W","timing":{"standbySourceCommandDelay":12000,"standbyCommandDelay":11000,"sourceSwitchDelay":3000,"shutdownDelay":1000},"presetSettings":{"format":"Three Digit","delayBetween":400},"deviceversion":2,"commandSets":[{"name":"Samsung TV 036 (Most Models) (Anynet) (GCDB 595) (RS)","medium":"infrared","isGeneric":false,"version":22},{"name":"GENERIC_CODESET_TV_SAMSUNG_1_ALL MODELS","medium":"infrared","isGeneric":true,"version":4}],"deviceCapabilities":[],"roles":["DESTINATION"],"capabilities":[],"useTuner":false},"macros":{"ANYNET":{"key":"6333602498271510528","componentType":"button","name":"ANYNET","label":"ANYNET","deviceName":"TV scherm","deviceKey":"6333602498120515584","roomName":"Woonkamer","roomKey":"6232364704816168960"},"BACK":{"key":"6333602498309259264","componentType":"button","name":"BACK","label":"BACK","deviceName":"TV scherm","deviceKey":"6333602498120515584","roomName":"Woonkamer","roomKey":"6232364704816168960"},"CHANNEL DOWN":{"key":"6333602498342813696","componentType":"button","name":"CHANNEL DOWN","label":"CHANNEL DOWN","deviceName":"TV scherm","deviceKey":"6333602498120515584","roomName":"Woonkamer","roomKey":"6232364704816168960"},"CHANNEL LIST":{"key":"6333602498447671296","componentType":"button","name":"CHANNEL LIST","label":"CHANNEL LIST","deviceName":"TV scherm","deviceKey":"6333602498120515584","roomName":"Woonkamer","roomKey":"6232364704816168960"},"CHANNEL UP":{"key":"6333602498472837120","componentType":"button","name":"CHANNEL UP","label":"CHANNEL UP","deviceName":"TV scherm","deviceKey":"6333602498120515584","roomName":"Woonkamer","roomKey":"6232364704816168960"},"CURSOR DOWN":{"key":"6333602498502197248","componentType":"button","name":"CURSOR DOWN","label":"CURSOR DOWN","deviceName":"TV scherm","deviceKey":"6333602498120515584","roomName":"Woonkamer","roomKey":"6232364704816168960"},"CURSOR LEFT":{"key":"6333602498527363072","componentType":"button","name":"CURSOR LEFT","label":"CURSOR LEFT","deviceName":"TV scherm","deviceKey":"6333602498120515584",

2017-11-14 09:36:22.372 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Invalid UID (probably not an openhab thing): tv for key 6333602498120515584
2017-11-14 09:36:22.375 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Invalid UID (probably not an openhab thing): dvb for key 6333603326914985984
2017-11-14 09:36:22.378 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Invalid UID (probably not an openhab thing): avreceiver for key 6333603566179057664
2017-11-14 09:36:22.381 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Invalid UID (probably not an openhab thing): mediaplayer for key 6333603814326665216
2017-11-14 09:36:22.384 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Invalid UID (probably not an openhab thing): dvd for key 6333604522702667776
2017-11-14 09:36:22.387 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Invalid UID (probably not an openhab thing): gameconsole for key 6333613478682558464
2017-11-14 09:36:22.397 [DEBUG] [nal.servletservices.NeeoBrainService] - >>>> RESENDING
2017-11-14 09:36:22.407 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335752224903266304:Licht_Zolder","data":false}
2017-11-14 09:36:22.414 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335813294179221504:Licht_Trap","data":false}
2017-11-14 09:36:22.419 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335793750693904384:Licht_Badkamer","data":false}
2017-11-14 09:36:22.422 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 2 * Sending client request on thread ESH-io.neeo-17
2 > POST http://192.168.0.225:3000/v1/notifications
2 > Accept: application/json
2 > Content-Type: application/json
{"type":"6335752224903266304:Licht_Zolder","data":false}

2017-11-14 09:36:22.429 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 3 * Sending client request on thread ESH-io.neeo-15
3 > POST http://192.168.0.225:3000/v1/notifications
3 > Accept: application/json
3 > Content-Type: application/json
{"type":"6335813294179221504:Licht_Trap","data":false}

2017-11-14 09:36:22.439 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335793854913970176:Licht_Badkamer_Lavabos","data":false}
2017-11-14 09:36:22.444 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335813538778447872:Licht_Nachthal","data":false}
2017-11-14 09:36:22.446 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 4 * Sending client request on thread ESH-io.neeo-18
4 > POST http://192.168.0.225:3000/v1/notifications
4 > Accept: application/json
4 > Content-Type: application/json
{"type":"6335793750693904384:Licht_Badkamer","data":false}

2017-11-14 09:36:22.458 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 6 * Sending client request on thread ESH-io.neeo-19
6 > POST http://192.168.0.225:3000/v1/notifications
6 > Accept: application/json
6 > Content-Type: application/json
{"type":"6335793854913970176:Licht_Badkamer_Lavabos","data":false}

2017-11-14 09:36:22.458 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 5 * Sending client request on thread ESH-io.neeo-16
5 > POST http://192.168.0.225:3000/v1/notifications
5 > Accept: application/json
5 > Content-Type: application/json
{"type":"6335813538778447872:Licht_Nachthal","data":false}

2017-11-14 09:36:22.570 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 3 * Client response received on thread ESH-io.neeo-15
3 < 200
3 < Access-Control-Allow-Credentials: true
3 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
3 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
3 < Connection: keep-alive
3 < Content-Length: 16
3 < Content-Type: application/json; charset=utf-8
3 < Date: Tue, 14 Nov 2017 08:36:22 GMT
3 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
3 < Server: nginx
{"success":true}

2017-11-14 09:36:22.576 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335794192714825728:Licht_Slaapkamer_Kind1","data":false}
2017-11-14 09:36:22.581 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 7 * Sending client request on thread ESH-io.neeo-15
7 > POST http://192.168.0.225:3000/v1/notifications
7 > Accept: application/json
7 > Content-Type: application/json
{"type":"6335794192714825728:Licht_Slaapkamer_Kind1","data":false}

2017-11-14 09:36:22.629 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 7 * Client response received on thread ESH-io.neeo-15
7 < 200
7 < Access-Control-Allow-Credentials: true
7 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
7 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
7 < Connection: keep-alive
7 < Content-Length: 16
7 < Content-Type: application/json; charset=utf-8
7 < Date: Tue, 14 Nov 2017 08:36:22 GMT
7 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
7 < Server: nginx
{"success":true}

2017-11-14 09:36:22.632 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335795298064924672:Licht_Slaapkamer_Ouders","data":0}
2017-11-14 09:36:22.637 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 8 * Sending client request on thread ESH-io.neeo-15
8 > POST http://192.168.0.225:3000/v1/notifications
8 > Accept: application/json
8 > Content-Type: application/json
{"type":"6335795298064924672:Licht_Slaapkamer_Ouders","data":0}

2017-11-14 09:36:22.646 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 2 * Client response received on thread ESH-io.neeo-17
2 < 200
2 < Access-Control-Allow-Credentials: true
2 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
2 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
2 < Connection: keep-alive
2 < Content-Length: 16
2 < Content-Type: application/json; charset=utf-8
2 < Date: Tue, 14 Nov 2017 08:36:22 GMT
2 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
2 < Server: nginx
{"success":true}

2017-11-14 09:36:22.648 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335752802718973952:Licht_Zithoek","data":0}
2017-11-14 09:36:22.654 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 9 * Sending client request on thread ESH-io.neeo-17
9 > POST http://192.168.0.225:3000/v1/notifications
9 > Accept: application/json
9 > Content-Type: application/json
{"type":"6335752802718973952:Licht_Zithoek","data":0}

2017-11-14 09:36:22.661 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 4 * Client response received on thread ESH-io.neeo-18
4 < 200
4 < Access-Control-Allow-Credentials: true
4 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
4 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
4 < Connection: keep-alive
4 < Content-Length: 16
4 < Content-Type: application/json; charset=utf-8
4 < Date: Tue, 14 Nov 2017 08:36:22 GMT
4 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
4 < Server: nginx
{"success":true}

2017-11-14 09:36:22.668 [DEBUG] [org.openhab.io.neeo.internal.NeeoApi] - Sending Notification to brain (NEEO-d487672e): {"type":"6335753469437149184:Licht_Zithoek_Staanlamp","data":false}
2017-11-14 09:36:22.676 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 6 * Client response received on thread ESH-io.neeo-19
6 < 200
6 < Access-Control-Allow-Credentials: true
6 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
6 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
6 < Connection: keep-alive
6 < Content-Length: 16
6 < Content-Type: application/json; charset=utf-8
6 < Date: Tue, 14 Nov 2017 08:36:22 GMT
6 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
6 < Server: nginx
{"success":true}

2017-11-14 09:36:22.674 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 10 * Sending client request on thread ESH-io.neeo-18
10 > POST http://192.168.0.225:3000/v1/notifications
10 > Accept: application/json
10 > Content-Type: application/json
{"type":"6335753469437149184:Licht_Zithoek_Staanlamp","data":false}

2017-11-14 09:36:22.690 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 5 * Client response received on thread ESH-io.neeo-16
5 < 200
5 < Access-Control-Allow-Credentials: true
5 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
5 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
5 < Connection: keep-alive
5 < Content-Length: 16
5 < Content-Type: application/json; charset=utf-8
5 < Date: Tue, 14 Nov 2017 08:36:22 GMT
5 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
5 < Server: nginx
{"success":true}

2017-11-14 09:36:22.709 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 8 * Client response received on thread ESH-io.neeo-15
8 < 200
8 < Access-Control-Allow-Credentials: true
8 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
8 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
8 < Connection: keep-alive
8 < Content-Length: 16
8 < Content-Type: application/json; charset=utf-8
8 < Date: Tue, 14 Nov 2017 08:36:22 GMT
8 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
8 < Server: nginx
{"success":true}

2017-11-14 09:36:22.724 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 9 * Client response received on thread ESH-io.neeo-17
9 < 200
9 < Access-Control-Allow-Credentials: true
9 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
9 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
9 < Connection: keep-alive
9 < Content-Length: 16
9 < Content-Type: application/json; charset=utf-8
9 < Date: Tue, 14 Nov 2017 08:36:22 GMT
9 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
9 < Server: nginx
{"success":true}

2017-11-14 09:36:22.738 [DEBUG] [hab.io.neeo.internal.net.HttpRequest] - 10 * Client response received on thread ESH-io.neeo-18
10 < 200
10 < Access-Control-Allow-Credentials: true
10 < Access-Control-Allow-Headers: Content-Type,Accept,X-Requested-With,Origin,X-NEEO-Secure
10 < Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
10 < Connection: keep-alive
10 < Content-Length: 16
10 < Content-Type: application/json; charset=utf-8
10 < Date: Tue, 14 Nov 2017 08:36:22 GMT
10 < ETag: W/"10-oV4hJxRVSENxc/wX8+mA4/Pe4tA"
10 < Server: nginx
{"success":true}

2017-11-14 09:40:00.020 [INFO ] [e.smarthome.model.script.solar.rules] - PV uitlezen
2017-11-14 09:40:06.116 [INFO ] [smarthome.model.script.sunrise.rules] - Dim indoor lights on clear sky
2017-11-14 09:40:07.031 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden PV
2017-11-14 09:40:07.058 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden PV
2017-11-14 09:40:07.080 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden GS
2017-11-14 09:40:07.116 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden GS
2017-11-14 09:40:38.340 [INFO ] [e.smarthome.model.script.light.rules] - Calculate outside light
2017-11-14 09:45:00.025 [INFO ] [e.smarthome.model.script.solar.rules] - PV uitlezen
2017-11-14 09:45:05.560 [INFO ] [smarthome.model.script.sunrise.rules] - Dim indoor lights on clear sky
2017-11-14 09:45:06.463 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden PV
2017-11-14 09:45:06.494 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden GS
2017-11-14 09:45:06.500 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden PV
2017-11-14 09:45:06.508 [INFO ] [e.smarthome.model.script.solar.rules] - Update meterstanden GS
2017-11-14 09:45:38.458 [INFO ] [e.smarthome.model.script.light.rules] - Calculate outside light

@Mherwege
Went too far back in the openhab.log this time. What I need to see is the eventchange and then the logs around the same time. Example: you had an event change at 9:42:14 - what I need to see in the openhab log is around that time (I should see an item change message followed by some neeo messages)

@tmrobert8
It is all there in the 2 logs. the eventchange is written to the event.log, not the openhab.log. The event.log shows all ItemChange events of Licht_Zolder. Nothing is logged from neeo at that time in openhab.log. The timeframes I provided match between the 2 files, except that I started with openhab.log from the very start of the transport a few minutes earlier.
There is nothing logged in openhab.log between 9:40:38 and 9:45:00. All events happened in between these two times. The messages in openhab.log before and after these times are unrelated.

ah - missed the last timestamps were 9:45.

@Dragonfly @Mherwege

Could you try the latest:

  1. Maybe addressed @Mherwege issue with state changes
  2. Fixed @Dragonfly issue with long names
  3. Fixed @Mherwege issue with deregistration
  4. Changed a few things in MDNS discovery

And in between these times, the communication from Neeo to openHAB worked. Some of the command in the event.log came from Neeo. There is nothing logged on updates received from Neeo in the transport though. Is that expected?

@tmrobert8
Unfortunately, still the same with the latest version. Nothing gets logged from the transport when I use the switch from openHAB side. No update is sent to Neeo.

hmm - I’m wondering if the filtering logic I put in for @Dragonfly to reduce CPU usage is filtering everything of yours out. Do me a favor and bring up the NEEO connector page->things tab. Is their a checkmark next to the device that contains the switch (a check mark means it has been bound on the NEEO brain)?

@tmrobert8
Yes, the checkmarks are there.

I used a backup - Connector did not run there befor:


This is what i´m seeing for a few minutes - nothing happens.
Therefor i thought it would be nice to be informed, that it can take some time, until something can be seen… All items appear at once, not one after the other.

@Mherwege
I posted a new zip file just for you (it will perform horribly since I’m logging a TON of info this time). When you run it, do the switch - I’ll need all the log messages that begin with “>>>”

@tmrobert8
OK, I may have found something. The feedback worked for another switch (Licht_Trap). I don’t see a difference in the configuration in the connector screen, however, when I look at the neeodefinitions.json, there is a slight difference in the unit. I don’t know where this difference comes from.

{"uid":"nikohomecontrol:onOff:440e003a24e6:25","adapterName":"nikohomecontrol:onOff:440e003a24e6:25","type":{"text":"LIGHT"},"manufacturer":"openHAB","name":"Zolder","channels":[{"itemName":"Licht_Zolder","label":"Zolder","channelNbr":1,"type":"switch","range":{"minValue":0,"maxValue":100,"unit":""}}],"timing":{"standbyCommandDelay":5000,"sourceSwitchDelay":5000,"shutdownDelay":5000}}
{"uid":"nikohomecontrol:onOff:440e003a24e6:6","adapterName":"nikohomecontrol:onOff:440e003a24e6:6","type":{"text":"LIGHT"},"manufacturer":"openHAB","name":"Trap","channels":[{"itemName":"Licht_Trap","label":"Trap","channelNbr":1,"type":"switch","range":{"minValue":0,"maxValue":100,"unit":"%"}}],"timing":{"standbyCommandDelay":5000,"sourceSwitchDelay":5000,"shutdownDelay":5000}}

Turns out this is not the issue. I have other connected items with the same unit as ‘Licht_Trap’ that do not work either. I will try the version with full log.