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

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…

@wborn,

I just checked in with the nest developer portal, and I see that google is migrating from works with nest (WWN) to works with google (WWG). To my eye this may introduce breaking changes for those of us that use the nest binding. At a minimum no new people will be able to link to WWN as of August 31, 2019.

It most definitely will introduce breaking changes as Google as announced that only “heavily vetted third party partners” will be allowed to use the WWG API. And they explicitly call out IFTTT as not being among those who will be allowed. Even Alexa support is in doubt. Given that major players like Amazon and IFTTT won’t work, what chance does openHAB have?

In short, Nest products will no longer work with openHAB or any other third party home automation hub. Adding a new link with WWN is already blocked according to reports on this forum and elsewhere.

Remember when google’s motto was “don’t be evil”…? Those were the days…

Sorry, I didn’t see all of the discussion before I posted. Will link here for others:

Many thanks to EVERYONE! I installed 4 additional nest remote sensors which show up great in nest, but I haven’t had any success bringing the remote sensors into Openhab2. Can anyone tell me of a binding that will allow me to read them? Thank you in advance for your support :+1:

There is no binding that supports remote sensors. Google Nest never exposed an API that gives access to them.

Note that the Nest binding will stop working probably by the end of the year. Google is closing down their Works with Nest API which this binding relies upon. They are “replacing” it with a Works with Google API, but they will only allow a select few “heavily vetted third parties” access to that API. OH will not qualify. They were originally going to shut it down Oct. 1. They have given an extension but have not announced how long they will keep the API running.

There lots of people looking into alternatives likes screen scraping and the like, but I wouldn’t expect it to be usable before Google shuts down the API.

1 Like

Thank you @rlkoshak ! Google said that all the world has carpets. One day Google will clean them all. They do make other t-stats that Google will never own yet can still be integrated to OH2. I am going to pitch my nest. I am actually not that thrilled with Nest anyway. Yes I can replace my Nest but I will never get rid of my OH2 (unless Google buy’s that too)!!! :upside_down_face: