[RELEASE] Google SDM API - Nest integration

This looks to be the logs generated by your Notification Rule.

From the left side menu pane, click on Apps - then Google SDM API in the list. Scroll down and ensure the toggle Enable debug logging? is on (blue), then click Done in the bottom right corner. Then again in the left side menu pane, scroll down as needed and click on Logs. Then press your doorbell button.

The resulting output will be verbose, it captures the full event JSON received from Google.

Ah! Apologies!

Here it is

I think from looking at it before and from reading on the forums that the Cloud Requesr error is from a previous attempt at when I tried to set up and connect my doorbell and other than present a call to the Hub (which is ignored) it has no other impact?

sys:12023-03-28 12:27:30.327 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 66.102.8.155

sys:12023-03-28 12:27:27.742 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.29

sys:12023-03-28 12:27:25.820 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.29

sys:12023-03-28 12:27:21.714 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.13

dev:382023-03-28 12:27:16.113 PMinfoSamsung TV-4.1-1: setPowerOnMode: [tvPwrOnMode: none]

sys:12023-03-28 12:27:15.908 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 34.116.21.59

sys:12023-03-28 12:27:15.749 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.13

sys:12023-03-28 12:27:14.484 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 66.102.8.155

sys:12023-03-28 12:27:12.734 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.30

app:72023-03-28 12:27:11.145 PMerrorreportStateResponse Error: null

dev:382023-03-28 12:27:11.126 PMinfoSamsung TV-4.1-1: onPollParse: [switch: on, powerState: on]

app:72023-03-28 12:27:06.159 PMerrorreportStateResponse Error: null

sys:12023-03-28 12:27:02.751 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 34.116.21.53

app:2262023-03-28 12:27:02.342 PMinfoWait over: elapsed time

app:2262023-03-28 12:27:02.334 PMinfoWait Event: elapsed time

sys:12023-03-28 12:26:57.418 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 66.102.8.159

sys:12023-03-28 12:26:47.951 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 34.116.21.51

app:2262023-03-28 12:26:47.258 PMinfoAction: Wait for event: --> elapsed time: 0:00:15

app:2262023-03-28 12:26:47.213 PMinfoAction: Notify Steve's Phone: 'Doorbell'

app:2262023-03-28 12:26:47.154 PMinfoEvent: Doorbell pushed 1

app:292023-03-28 12:26:47.085 PMdebug{ "eventId": "297bce3b-acdc-4b62-aa93-7c305a8a23b2", "timestamp": "2023-03-28T11:26:26.458357Z", "resourceUpdate": { "name": "enterprises/d4fa0fd0-8e38-4ad0-9ba7-68268d51826d/devices/AVPHwEut6EekpmZ7hy2I8z3SJrOnHj_WKO4KaAANhlGqPDJMYNESuNe_1v_lIiMRJSlXb3LVbhJNYQJEzqWB6HfmNn1wPQ", "events": { "sdm.devices.events.DoorbellChime.Chime": { "eventSessionId": "1670005561", "eventId": "n:1" } } }, "userId": "AVPHwEubtDyXV1xa0PF90cNz9czAESuYSsirnbPSMRJX", "eventThreadId": "93846444-08de-49cf-bf65-2f85b73b7e80", "resourceGroup": ["enterprises/d4fa0fd0-8e38-4ad0-9ba7-68268d51826d/devices/AVPHwEut6EekpmZ7hy2I8z3SJrOnHj_WKO4KaAANhlGqPDJMYNESuNe_1v_lIiMRJSlXb3LVbhJNYQJEzqWB6HfmNn1wPQ"], "eventThreadState": "ENDED"}

app:292023-03-28 12:26:47.071 PMdebugEvent received from Google pub/sub

app:292023-03-28 12:26:46.063 PMwarnGoogle connection outage detected

dev:382023-03-28 12:26:46.054 PMinfoSamsung TV-4.1-1: onPollParse: [switch: off, powerState: NC]

app:2262023-03-28 12:26:28.161 PMinfoEvent: Doorbell pushed 1

sys:12023-03-28 12:26:28.131 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 66.102.8.138

app:292023-03-28 12:26:28.091 PMdebug{ "eventId": "297bce3b-acdc-4b62-aa93-7c305a8a23b2", "timestamp": "2023-03-28T11:26:26.458357Z", "resourceUpdate": { "name": "enterprises/d4fa0fd0-8e38-4ad0-9ba7-68268d51826d/devices/AVPHwEut6EekpmZ7hy2I8z3SJrOnHj_WKO4KaAANhlGqPDJMYNESuNe_1v_lIiMRJSlXb3LVbhJNYQJEzqWB6HfmNn1wPQ", "events": { "sdm.devices.events.DoorbellChime.Chime": { "eventSessionId": "1670005561", "eventId": "n:1" } } }, "userId": "AVPHwEubtDyXV1xa0PF90cNz9czAESuYSsirnbPSMRJX", "eventThreadId": "93846444-08de-49cf-bf65-2f85b73b7e80", "resourceGroup": ["enterprises/d4fa0fd0-8e38-4ad0-9ba7-68268d51826d/devices/AVPHwEut6EekpmZ7hy2I8z3SJrOnHj_WKO4KaAANhlGqPDJMYNESuNe_1v_lIiMRJSlXb3LVbhJNYQJEzqWB6HfmNn1wPQ"], "eventThreadState": "STARTED"}

app:292023-03-28 12:26:28.077 PMdebugEvent received from Google pub/sub

sys:12023-03-28 12:26:20.736 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.20

dev:402023-03-28 12:26:20.578 PMinfoFront Door is open

sys:12023-03-28 12:26:15.889 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.19

sys:12023-03-28 12:26:14.792 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.24

sys:12023-03-28 12:26:11.732 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.11

app:1002023-03-28 12:26:06.687 PMinfoIgnored Activation Event: 'Living Room Motion' motion active

dev:1072023-03-28 12:26:06.643 PMinfoLiving Room Motion is active

sys:12023-03-28 12:26:06.437 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 66.102.8.144

sys:12023-03-28 12:26:02.704 PMwarnReceived cloud request for App 30 that does not exist, path: /events from 74.125.212.3

Aha, I see - Google is reporting a STARTED and ENDED eventThreadState, even for CHIME events. I'll need to add logic to the App for this, to not trigger a second push on the ENDED state - will try to get to this later today.

2 Likes

Hi, on my 3rd day with hubitat and appear to have successfully installed all my Google devices with your integration. I'm having some issues setting up a basic rule with my 3rd gen nest thermostat. The thermostat is responding to all of my commands, but when I set up a rule whereby if a temp sensor goes above a certain temperature, when I click on my thermostat under do this action, the page jumps to unexpected error trying to load the app. Underneath it says Error: The JSON input text should neither be null nor empty.

Can you offer any help on this one? Thanks

This seems more likely an issue regarding a corrupted/half-baked rule - though there was a recent (a week or two ago) update regarding the JSON format of supportedThermostatModes and supportedThermostatFanModes

Have you tried deleting the rule and starting over from scratch?

If this does not solve the problem, some logs (this App and Device, and the Rule if any exist) and a screenshot of the Device attributes might point to something specific.

Thanks got the response. Yeah I've tried deleting the rule several times over, tried using different temp sensors for the trigger but everytime I click on my nest thermostat for device action it boots me out.

I'll attempt to get some logs when I get home from work this evening and get them posted, it's still very early days for me and going through the learning process with logs etc.

App version 1.0.5 released which fixes the duplicate push behavior for newer doorbells.

@menz Thermostat Driver version 1.0.1 released -- update your driver and invoke the refresh command to populate a default supportedThermostatFanModes attribute with value: ["auto"] -- I'm hoping this will address the error you are seeing from Basic Rules

1 Like

Just installed and checked. Only one notification as expected, thanks for this :slight_smile:

Thanks very much for the update, no more errors when I create rules with my thermostat!

We got a new puppy and I haven’t been able to even tackle this! That was my plan on this vacation ….however the hubby had other plans, like a dog! Lol

Thank you! I will let you know when I try again.

@dkilgore90 - FYI, for the new Nest Doorbell Wired, I'm getting events showing up in HE, but photos still aren't coming through. It's showing this in the logs:

No folder is showing up in my Google Drive, and each time there's an event, it says the same thing, that a folder is being created. I can confirm Google Drive API is enabled on my API Console, and I've redone the authorization within the HE app multiple times. I don't know if it's something with the new doorbell, or something with my integration setup...?

My C7 Hub (only used for LAN integrations) is also consistently showing warnings that my hub load is elevated or severe, and I think it's the SDM API integration (see excessive hub load message in above photo) that's causing (at least some of) my issues. Any thoughts?

Yikes - the hub load is no good, sorry about that!

I'll look into this right away, maybe there is some looping behavior causing this to get stuck.

One suspect, line 927 of the App is attempting to log the entire clip file... :sob:. May not be the culprit, but it certainly isn't helping matters. Try commenting this line out in the App code, // at the beginning of the line.

Done... Let me know if there's anything else you want me to try...

From the hub's app stats...

Definitely seems to be hogging up a bunch of the hub's resources for some reason.

Ok. If you don't mind, keep an eye on it to see if it at least starts saving the clips. Peeling the onion, this part of the code never executed before because it aborted at the auth issue.

Thanks for being my guinea pig on this, I've got legacy hardware so no way to test it.

Will do! If it helps, these are the different error codes the doorbell was throwing.

Quick update for you @dkilgore90 - I'm not sure what's changed, but the folders finally showed up in my Google Drive and one doorbell started saving mp4s of events yesterday and the other started saving mp4s of events today, so a step in the right direction...

The most recent mp4 isn't showing up on the device's page in HE though - just a pictogram of a picture:
image

Subsequently, the mp4 (image attribute) isn't showing up on the HE Dashboard either:
image

That's good progress, thanks for the update! Any more hub load issues since commenting out that log line?

Should be fixed in app:1.0.6 - along with removing the log line you commented out

1 Like

No, I haven't seen any hub load messages, etc. since... And can confirm that the mp4s are saving into their respective Google Drive folders, displaying within their respective devices on HE, sharing via hub mesh, and displaying on the dashboard via the image attribute, so it seems all is working as intended now! Thanks!! :smiley:

2 Likes