Openhab2 Nest binding - 2.2.0.SNAPSHOT An Updated 2.0 Binding that works!

This binding has become extremely resource intensive. I’m running on a rpi3b+. When this binding is loaded the CPU jumps up to >200%. Its largely because I have several structures, lots of cameras, thermostats, smoke detectors… so there are updates coming through the REST Streaming API almost every second… An update will come through while it’s still processing the previous update… and another during that (one on top of another).

And the binding processes every single thing every times it updates. I wonder if it would be possible to set limits somehow so that only channels items I care about are updated instantly.

In other words when one of these massive 46,000 character updates gets pushed through, the binding can look for only 3 or 4 things to change if the frequency is greater then 5 minutes… otherwise it can process and update everything.

I’m not exactly sure how that could be implemented. Is anyone else having this problem? I’m open to other suggestions - I just would like this to work without slowing all of my rules to a crawl.

I never noticed this problem with my setup which may have fewer Nest devices and runs on an Intel i5 NUC. What may already help is if the binding would only update linked channels. Maybe you want to test that change with this org.openhab.binding.nest-2.4.0-SNAPSHOT.jar?

There are other changes possible as well but this is the most easiest. :slight_smile:

Also I hope your rules use “changed” conditions with items instead of “received update” conditions because that would also cause a lot of unnecessary processing of rules.

See: [SOLVED] Items: difference between "changed" and "received update".

Thank you so much @wborn. Unfortunately, I don’t notice any change in the amount of time the binding spends processing and the CPU is still full throttle while the binding is installed.

My rules only trigger with changes. I had the same thought initially and vetted everything to make sure. Regardless, the changes that are triggering nest to send an update aren’t even items that trigger rules 99% of the time. It is things like the camera snapshot_url, last_event, or any thing with last_connection (to name a few).

Long ago I trimmed the actual number of channels I have down to only a few per thing that I need to monitor. I was hoping this would help but even with your new change in the snapshot it is the same.

I’d be happy to send you a copy of the DEBUG log if you think that might help.

Can you quantify the device count and the number of updates per second? I’ll then try to simulate it and hook up a profiler to find the biggest bottlenecks.

Absolutely. I tried removing a couple structures to see if there was an improvement, but no such luck. In my current configuration there are 8 cameras, 7 smoke_detectors, 1 structure, 1 thermostat.

Here is a snippet of the actual rest updates (with all of the data removed):

2018-06-22 19:06:58.746 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:07:06.517 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:07:35.337 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:07:43.199 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:07:52.343 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:08:00.259 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:08:08.003 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:08:15.805 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:08:29.747 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:08:37.668 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
2018-06-22 19:08:45.534 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":

So at the moment it’s updating once every 8 seconds or so.

Here is the an example of the debug log in between 2 updates… the log just keeps rolling and rolling. There is seemingly no break from one update and processing to the next update. Almost every update is like this with no break.

2018-06-22 19:06:58.746 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":........
2018-06-22 19:06:58.751 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-22 19:06:58.777 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for thermostat
2018-06-22 19:06:58.788 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.798 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.808 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.818 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.828 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.839 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.849 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.859 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for camera
2018-06-22 19:06:58.869 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:06:58.879 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:06:58.889 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:06:58.901 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:06:58.911 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:07:01.706 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:07:01.711 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for smoke detector
2018-06-22 19:07:01.713 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:01.715 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-22 19:07:01.804 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:01.806 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:01.808 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:01.810 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:01.812 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:01.814 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam1_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:01.816 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:01.818 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:01.820 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-22 19:07:01.892 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:01.894 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:01.896 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:01.897 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:01.899 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam3_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:01.901 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:01.903 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:01.904 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:01.906 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-22 19:07:01.975 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:01.977 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:01.979 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:01.980 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam4_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:01.982 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-22 19:07:02.052 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:02.054 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:02.056 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:02.057 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:02.059 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:02.060 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:02.062 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam2_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:02.064 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:02.065 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:02.067 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:02.068 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:02.070 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:02.071 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:02.073 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam8_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:02.074 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-22 19:07:02.147 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke1_deviceId is not handling update for smoke2_deviceId
2018-06-22 19:07:02.149 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke1_deviceId is not handling update for smoke3_deviceId
2018-06-22 19:07:02.151 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke1_deviceId is not handling update for smoke4_deviceId
2018-06-22 19:07:02.153 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke1_deviceId is not handling update for smoke5_deviceId
2018-06-22 19:07:02.154 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke1_deviceId is not handling update for smoke6_deviceId
2018-06-22 19:07:02.156 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke1_deviceId
2018-06-22 19:07:02.230 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke1_deviceId is not handling update for smoke7_deviceId
2018-06-22 19:07:02.232 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:02.234 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:02.236 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:02.238 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:02.242 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:02.245 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:02.248 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-22 19:07:02.320 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam7_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:02.321 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:02.323 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:02.324 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:02.326 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:02.327 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-22 19:07:02.399 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam6_deviceId
2018-06-22 19:07:02.401 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:02.402 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam5_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:02.404 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam2_deviceId
2018-06-22 19:07:02.405 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam1_deviceId
2018-06-22 19:07:02.407 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam3_deviceId
2018-06-22 19:07:02.408 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam4_deviceId
2018-06-22 19:07:02.410 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam5_deviceId
2018-06-22 19:07:02.411 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-22 19:07:02.489 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam7_deviceId
2018-06-22 19:07:02.491 [DEBUG] [nding.nest.handler.NestCameraHandler] - Camera cam6_deviceId is not handling update for cam8_deviceId
2018-06-22 19:07:02.494 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke5_deviceId is not handling update for smoke2_deviceId
2018-06-22 19:07:02.496 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke5_deviceId is not handling update for smoke3_deviceId
2018-06-22 19:07:02.498 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke5_deviceId is not handling update for smoke4_deviceId
2018-06-22 19:07:02.500 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke5_deviceId
2018-06-22 19:07:02.575 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke5_deviceId is not handling update for smoke6_deviceId
2018-06-22 19:07:02.578 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke5_deviceId is not handling update for smoke1_deviceId
2018-06-22 19:07:02.580 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke5_deviceId is not handling update for smoke7_deviceId
2018-06-22 19:07:02.581 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke7_deviceId is not handling update for smoke2_deviceId
2018-06-22 19:07:02.583 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke7_deviceId is not handling update for smoke3_deviceId
2018-06-22 19:07:02.585 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke7_deviceId is not handling update for smoke4_deviceId
2018-06-22 19:07:02.587 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke7_deviceId is not handling update for smoke5_deviceId
2018-06-22 19:07:02.588 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke7_deviceId is not handling update for smoke6_deviceId
2018-06-22 19:07:02.590 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke7_deviceId is not handling update for smoke1_deviceId
2018-06-22 19:07:02.591 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke7_deviceId
2018-06-22 19:07:02.738 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke2_deviceId
2018-06-22 19:07:05.728 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke2_deviceId is not handling update for smoke3_deviceId
2018-06-22 19:07:05.730 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke2_deviceId is not handling update for smoke4_deviceId
2018-06-22 19:07:05.731 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke2_deviceId is not handling update for smoke5_deviceId
2018-06-22 19:07:05.733 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke2_deviceId is not handling update for smoke6_deviceId
2018-06-22 19:07:05.735 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke2_deviceId is not handling update for smoke1_deviceId
2018-06-22 19:07:05.738 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke2_deviceId is not handling update for smoke7_deviceId
2018-06-22 19:07:05.740 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke6_deviceId is not handling update for smoke2_deviceId
2018-06-22 19:07:05.743 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke6_deviceId is not handling update for smoke3_deviceId
2018-06-22 19:07:05.745 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke6_deviceId is not handling update for smoke4_deviceId
2018-06-22 19:07:05.748 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke6_deviceId is not handling update for smoke5_deviceId
2018-06-22 19:07:05.750 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke6_deviceId
2018-06-22 19:07:05.869 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke6_deviceId is not handling update for smoke1_deviceId
2018-06-22 19:07:05.874 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke6_deviceId is not handling update for smoke7_deviceId
2018-06-22 19:07:05.876 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke3_deviceId is not handling update for smoke2_deviceId
2018-06-22 19:07:05.878 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke3_deviceId
2018-06-22 19:07:05.970 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke3_deviceId is not handling update for smoke4_deviceId
2018-06-22 19:07:05.972 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke3_deviceId is not handling update for smoke5_deviceId
2018-06-22 19:07:05.974 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke3_deviceId is not handling update for smoke6_deviceId
2018-06-22 19:07:05.977 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke3_deviceId is not handling update for smoke1_deviceId
2018-06-22 19:07:05.978 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke3_deviceId is not handling update for smoke7_deviceId
2018-06-22 19:07:05.980 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke4_deviceId is not handling update for smoke2_deviceId
2018-06-22 19:07:05.982 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke4_deviceId is not handling update for smoke3_deviceId
2018-06-22 19:07:05.983 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Updating smoke detector smoke4_deviceId
2018-06-22 19:07:06.075 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke4_deviceId is not handling update for smoke5_deviceId
2018-06-22 19:07:06.077 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke4_deviceId is not handling update for smoke6_deviceId
2018-06-22 19:07:06.078 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke4_deviceId is not handling update for smoke1_deviceId
2018-06-22 19:07:06.082 [DEBUG] [est.handler.NestSmokeDetectorHandler] - Smoke detector smoke4_deviceId is not handling update for smoke7_deviceId
2018-06-22 19:07:06.084 [DEBUG] [g.nest.handler.NestThermostatHandler] - Updating thermostat therm1_deviceId
2018-06-22 19:07:06.337 [DEBUG] [ernal.discovery.NestDiscoveryService] - thingDiscovered called for structure
2018-06-22 19:07:06.340 [DEBUG] [ng.nest.handler.NestStructureHandler] - Updating structure structure1_deviceId
2018-06-22 19:07:06.517 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":
1 Like

I alsio see this line showing up frequently in the logs. So maybe the update rate is even more frequent but the processor can only get to it every 7-8 seconds. I’m supposing it gets added to a queue?

[DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=3321
[DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=7607
[DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=4003
[DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=24

Thanks for the numbers and logging @omatzyo! There’s some other improvements I want to do with the binding so I’ll combine it with improving performance.

The profiler already showed me some interesting facts. E.g. asking the framework what channels are linked is more expensive than I thought. Getting the Nest deviceId for things, which is done a lot, was also done in an inefficient way.

With debugging on you get tons of logging that helps with debugging. Though keep it off when not debugging because all the extra I/O causes some serious bad performance. :turtle: :snail: It’s called debug for a reason. :smile:

The “Check: Receiving streaming…” is just a periodic check to see if the connection is still alive by checking how many millis ago an event was received. If it’s too high the connection is closed/reopened and the thing status is updated.

Can you test the new performance improvements in this org.openhab.binding.nest-2.4.0-SNAPSHOT.jar @omatzyo? According to my profiler it should perform a lot better!

Fantastic! Thanks so much for making these changes.

I’ve had it going for about 30 minutes with a noticeable improvement. The DEBUG log also looks much better, and there is more of a break between updates. I still have long periods where the CPU jumps up to ~160% during rapid fire updates.

It looks as though the cameras are causing the increased frequency… I wonder what the exact trigger is, and if there is something there we can target.

Here is a snippet of the DEBUG log… (The processing load is similar for me with DEBUG or INFO logging.)

2018-06-24 12:46:31.034 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:31.038 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:31.047 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:31.102 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:31.163 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:31.214 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:31.267 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:31.320 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:31.373 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:31.411 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:31.517 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:31.522 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:31.533 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:31.690 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:34.505 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:34.619 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:34.659 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:34.712 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:34.775 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:34.814 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:39.960 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:39.964 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:39.978 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:40.027 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:40.074 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:40.134 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:40.344 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:43.155 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:43.222 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:43.280 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:43.328 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'keep-alive' event, data: null
2018-06-24 12:46:43.329 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received message to keep connection alive
2018-06-24 12:46:43.404 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:43.409 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:43.418 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:43.469 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:43.510 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:43.564 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:43.613 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:43.650 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:43.699 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:43.752 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:43.862 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:43.867 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:43.875 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:43.976 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:44.121 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:46.964 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:47.015 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:47.079 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:47.136 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:47.187 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:47.293 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:47.307 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:47.316 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:47.357 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:47.403 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:47.442 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:47.481 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:47.524 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:47.570 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:47.617 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:51.665 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:51.695 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:51.713 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:51.776 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:51.841 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:51.892 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:51.945 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:51.976 [DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=3016
2018-06-24 12:46:52.001 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:52.056 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:52.110 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:53.564 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:53.571 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:53.580 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:53.621 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:53.668 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:46:53.725 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:53.781 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:53.831 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:53.961 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:54.082 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:56.977 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:46:56.998 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:46:57.024 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:46:57.081 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:46:57.133 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:46:57.177 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:46:57.224 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:46:57.273 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:46:57.321 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:46:57.381 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:10.476 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'keep-alive' event, data: null
2018-06-24 12:47:10.479 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received message to keep connection alive
2018-06-24 12:47:12.193 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:12.198 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:12.218 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:15.117 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:15.192 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:15.257 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:15.322 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:15.382 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:15.425 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:15.472 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:15.588 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:15.596 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:15.611 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:15.662 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:15.724 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:15.852 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:18.716 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:18.841 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:18.887 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:18.943 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:21.983 [DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=6398
2018-06-24 12:47:24.789 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:24.796 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:24.817 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:25.000 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:27.860 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:27.912 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:27.952 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:27.996 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:28.039 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:28.080 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:28.120 [DEBUG] [g.nest.handler.NestThermostatHandler] - Updating thermostat therm8_deviceId
2018-06-24 12:47:28.445 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:28.450 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:28.460 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:28.589 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:31.442 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:31.568 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:31.637 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:31.696 [DEBUG] [g.nest.handler.NestThermostatHandler] - Updating thermostat therm8_deviceId
2018-06-24 12:47:31.995 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:32.034 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:32.086 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:32.322 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:32.327 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:32.348 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:32.477 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:35.358 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:35.433 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:35.486 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:35.557 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:35.629 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:35.690 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:35.864 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:35.872 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:35.881 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:35.936 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:35.987 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:36.149 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:39.023 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:39.099 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:39.180 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:39.237 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:39.361 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:39.367 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:39.379 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:39.423 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:39.463 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:39.503 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:39.541 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:39.600 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:39.650 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:39.770 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:42.761 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:42.769 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:42.779 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:42.833 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:42.882 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:42.935 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:42.976 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:43.018 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:43.066 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:43.113 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:43.158 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'keep-alive' event, data: null
2018-06-24 12:47:43.159 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received message to keep connection alive
2018-06-24 12:47:43.225 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:43.231 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:43.240 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:43.282 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:43.331 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:43.379 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:43.432 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:43.528 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:43.674 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:46.558 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:46.682 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:46.688 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:46.698 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:46.749 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:46.801 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:46.853 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:46.908 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:46.963 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:47.007 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:47.055 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:47.168 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:47.173 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:47.183 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:47.262 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:47.390 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:50.240 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:50.313 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:50.417 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:50.466 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:50.510 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:50.629 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:50.635 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:50.643 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
2018-06-24 12:47:50.688 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:50.734 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:50.779 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:50.827 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:50.870 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:50.910 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:50.950 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:51.283 [DEBUG] [nternal.rest.NestStreamingRestClient] - Received 'put' event, data: {"path":"/","data":{"devices":{"thermostats":{
2018-06-24 12:47:54.006 [DEBUG] [nternal.rest.NestStreamingRestClient] - Data has changed (or initial data sent)
2018-06-24 12:47:54.030 [DEBUG] [nternal.rest.NestStreamingRestClient] - Check: Receiving streaming events, millisSinceLastEvent=2748
2018-06-24 12:47:54.049 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam7_deviceId
2018-06-24 12:47:54.121 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam3_deviceId
2018-06-24 12:47:54.168 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam2_deviceId
2018-06-24 12:47:54.249 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam1_deviceId
2018-06-24 12:47:54.314 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam8_deviceId
2018-06-24 12:47:54.368 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam6_deviceId
2018-06-24 12:47:54.415 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam5_deviceId
2018-06-24 12:47:54.459 [DEBUG] [nding.nest.handler.NestCameraHandler] - Updating camera cam4_deviceId
1 Like

That’s great! :slight_smile:

In every update Nest gives the cameras a new URL in the web_url property. :cry:

Performance wise it won’t have a big impact when the channel is unlinked since the binding will then skip updating it. It will just show “Updating camera …” in the debug logging.

I’ve created another org.openhab.binding.nest-2.4.0-SNAPSHOT.jar that fixes a bug where channels wouldn’t be correctly updated. Also I’ve added some debug logging that shows what channels are updated:

21:08:42.281 [DEBUG] [inding.nest.handler.NestCameraHandler] - Updating camera aOyvbCO0m9SAU7A0-N12VZ0PovAIb2M4Wt9oPOSs2X6pHwviiburLQ
21:08:42.282 [DEBUG] [.binding.nest.handler.NestBaseHandler] - Updating channel nest:camera:83b744b3:aOyvbCO0m9SAU7A0-N12VZ0PovAIb2M4Wt9oPOSs2X6pHwviiburLQ:camera#web_url
21:08:42.282 [DEBUG] [inding.nest.handler.NestCameraHandler] - Updating camera se0a46JTo2LI2WBvy9UmOfuaJ1C4uhsRcLRMUsCkHx6u2--UobrD-A
21:08:42.283 [DEBUG] [.binding.nest.handler.NestBaseHandler] - Updating channel nest:camera:83b744b3:se0a46JTo2LI2WBvy9UmOfuaJ1C4uhsRcLRMUsCkHx6u2--UobrD-A:camera#web_url
1 Like

This is great! Even better since the last snapshot. I have not had the web_url channel connected for several months, so the log looks the same essentially.

Great job @wborn!
When can we expect this to be merged in the next snapshot, please?

There are still parts I want to test and maybe rewrite @vzorglub.

Thanks

The testing went well and the code has been reworked so it looks even better. :slight_smile:

So I’ve updated the org.openhab.binding.nest-2.4.0-SNAPSHOT.jar with the latest changes and created the following PR:

1 Like

The performance improvements should be part of openHAB 2.4.0-SNAPSHOT build #1308 that was just created.

Can anyone point me to the proper syntax for changing set point temp from the Basic UI? I can see temp data, can change temp from rules, but nothing happens when trying to change temp from the UI. In the rule I was forced to put + “°F” after the sendcommand, I’m assuming something similar in the sitemap.

Thanks!

Disregard – items were not formatted properly, the following work perfectly:

Number:Temperature nest_temperature 	          "Indoor Temp [%.1f °F]" 	<temperature>		(gTemp_Indoor_Chart) 		{ channel="nest:thermostat:d49be16f:wQj3mOWyRP-ykBs1HIuNlg8Ua0-nEJuf:temperature" }
Number:Temperature nest_setpoint_temperature  	  "Setpoint Temp [%.1f °F]" 		<temperature> 		(gTemp_Indoor_Chart) { channel="nest:thermostat:d49be16f:wQj3mOWyRP-ykBs1HIuNlg8Ua0-nEJuf:set_point" }

Sound Check:

Has anybody come up with a way for OH to be aware of the sound checks on the Smoke/CO2 Nest units that occur monthly?

Best, Jay

Hi,

I have an issue with the Nest Binding after updating to OpenHAB 2.4:
It was working fine for half a day, but now my Nest Account thing went to “UNKNOWN - Starting Poll Query”.
I Already deleted the account thing and set up a new one with my credentials and PIN - it has the same error. Is anybody experiencing the same?

Thanks!

EDIT: Another reboot solved it! But still I don’t know where this came from…