Google Nest SDM

What new cam and doorbell type are you using? Battery, wired?

I have the same thing for battery type devices, if there is motion and a person detected it only sends the person event.
When you disable in the home app the person detection it will send the motion.
There should not be a connection with 6.1 version of the app.

Hi Erwin, I will change the behaviour for the newest devices a bit, when a person event happens I will start a motion event as well, this way a zone will become active for 10 seconds.

Can someone with Google Nest protect confirm or share his experience ?

  • I got no Manual test Active ever triggered even when performing manual test - smoke alarm does seems working (CO nor Heat didn’t tested yet :wink: )
  • battery is reporting 100% even after 2 years ?

Naturally the official app do not provide any details on top - battery state just OK/KO, etc.

Just tested it again, for me manual test works, with both Start and End trigger.
Battery is a battery alarm, not measure, so indeed should be OK/NOT OK. Just noticed that the battery display gives you also the measure option, that is not good, will look into it.

1 Like

Have been testing to get a meaningful reading for battery level. Capability is still in the device, will remove it with a next revision

1 Like

Thank you - hm, maybe I’m not testing it right ?

I created test flow with one trigger, no condition :

I initiated successfully manual checks :

The manual check tags and the flow hasn’t been triggered.

It’s not a big deal just the problem is that with battery on 100% and values not getting updated, I have no idea if the integration actually works or not - or can’t test it, until some real alarm - which already happened, to I know it works but still… :wink:

Actually maybe I’m not connected anymore ?

022-04-14 11:03:44 Unhandled Rejection at: Promise { TypeError: Cannot read properties of undefined (reading 'transport_url') at NestLegacyClient.getNESTAuthenticate (/lib/NestLegacyClient.js:195:35) at processTicksAndRejections (node:internal/process/task_queues:96:5) } reason: TypeError: Cannot read properties of undefined (reading 'transport_url') at NestLegacyClient.getNESTAuthenticate (/lib/NestLegacyClient.js:195:35) at processTicksAndRejections (node:internal/process/task_queues:96:5)

Could you pm me a bigger chunk of the log? Is this a wired Protect?

So I requested again NEST Protect Code and indeed it become broken - so another test was successful, the trigger has been triggered but the value in the Nest Protect didn’t get updated anyway.

I wonder why I become broken and how can I check it then ;-(

Btw the code was all that was there, there were some olders logs but I believe they were too old. Anyway if interested, I can PM it for sure.

Yes interested…how long ago was the code requested…should not be an issue, but then again :grin:

Martin Verbeek

1 Like

A ! Manual test updated just now (time stamp)…it took some time, it’s working. :wink:

So now I wonder why I lost access if it’s maybe expiring… no idea ;-(

The access has been granted the same day you integrated Legacy Nest , it’s not so long time ago… I will need to think how to ensure if it gets broken, I will know.

Nest Protect battery not work for me

These are the messages you get when you install the nest protect. What is not working?

Martin Verbeek

when i test the smoke alarm, i do not get push alert, doors do not unlock and nothing from Nest mini

That’s not good. Could you retry and send me the log ?

Martin Verbeek

<small>2022-04-18 22:26:55 checkOnCloud() Not authenticated</small>
<small>2022-04-18 21:54:04 onOAuth2Init() settings enableDebug true</small>
<small>2022-04-18 21:54:03 onOAuth2Init() settings enableDebug false</small>
<small>2022-04-18 21:53:24 checkOnCloud() Not authenticated</small>
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 7)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: 'ec44fabc-eee7-4349-ab71-311df00155cd' }</small>
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: '7686f02a-539c-4997-a7c6-64b0fd83c69b' }</small>
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 5)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: '7e885b17-d7b9-4883-ac2d-1b8f0aeff134' }</small>
<small>2022-04-18 12:24:13 checkOnCloud() Not authenticated</small>
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: '6d83d289-4b78-4a27-b4c2-c166d5ed72e3' }</small>
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: '99451cf5-f796-40d7-8c84-aefbc73c34b0' }</small>
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: '4caccec3-ecef-434e-b4ae-ada0057cec21' }</small>
**(node:5406) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.**
**(node:5406) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)**
**(node:5406) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined at NestApp.firstDataNestProtect (/app.js:258:24) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:276:30) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5)**
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: '80f6992c-c3d4-47f6-b40b-7ff27eba9181' }</small>
<small>2022-04-18 12:18:12 Error: 9999 at NestLegacyClient.getNESTUpdatedData (/lib/NestLegacyClient.js:267:12) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async NestApp.getDataNestProtect (/app.js:284:4) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) at async NestApp.getDataNestProtect (/app.js:295:5) getDataNestProtect() Error during subscribing</small>
<small>undefined-Invalid Date-undefined undefined ot Okay Response { size: 0, timeout: 0, [Symbol(Body internals)]: { body: PassThrough { _readableState: [ReadableState], readable: true, _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, _writableState: [WritableState], writable: false, allowHalfOpen: true, _transformState: [Object], [Symbol(kCapture)]: false }, disturbed: false, error: null }, [Symbol(Response internals)]: { url: 'https://czfe23-front01-iad01.transport.home.nest.com/v6/subscribe', status: 400, statusText: 'Bad Request', headers: Headers { [Symbol(map)]: [Object: null prototype] }, counter: 0 } }</small>
<small>2022-04-18 12:18:11 Invoke updateDevicesNestProtect</small>
<small>undefined-Invalid Date-undefined undefined ponse NOT Okay and JSON { error: 'access_denied', error_description: 'permission denied', instance_id: 'c2303bef-001e-4707-ad14-d39c70117368' }</small>
<small>2022-04-18 12:13:15 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 12:11:51 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 12:09:39 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 12:06:22 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 12:06:12 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 12:02:31 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 12:00:22 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:55:16 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:55:03 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:53:44 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:50:43 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:50:06 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:47:18 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:45:38 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:39:12 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:37:53 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:37:18 Invoke updateDevicesNestProtect</small>
<small>2022-04-18 11:</small>

I think I see what is happening, there will be a update version today or tomorrow that should fix this…

Martin Verbeek

2 Likes

Thanks :smiley:

6.2.0 is on the store, could you do me a favor and test it as well? Please wait at least 1 hour before testing, that is access token expiration cycle.

“6.1.1”: “Problem in Legacy Nest auth and Update of data, remove battery measure for nest protect, add a clear log button”

“6.2.0”: “Implement workaround for Hub Max missing events, this is now retrieved via Legacy interface. Now showing images and triggering on motion/person etc”

To get the Hub Max to work, you need to get a Nest Legacy code set up. You can do that in the configure App, go to the Legacy Nest tab and “request” (copy) and “save”

2 Likes