[RELEASE] Google SDM API - Nest integration

thank you, much appreciated. Worked flawlessly here with 3 thermostats on the one hub.

I don't if the cold meds or what. I can't find pub/auth on the Good SDM API page. It's been a while since I've installed this app. LOL

Yours looks different. Are you on the latest version?

Thanks! Now if only the nest cameras would show event pics again :angry:

It was the current version, but I reapplied the code and it popped up. Thanks! Everything updated with the new pub without issue!

I don't have Nest cameras on my hub, so I can't test this. The topic change shouldn't affect pictures, since the app still gets the same events, now through your own topic. If your thermostats or camera motion/person events update in real time, delivery is working.

To narrow down the pictures, turn on Debug Logging in the Google SDM API app and trigger motion on the camera. Then post the log lines, especially GenerateImage returned url or Received ClipPreview url, and any errors. Which camera model do you have? My understanding is that older cameras get a picture per event, while newer battery cameras and doorbells send a short clip.

I think you had to choose the devices when you first logged in. When I have added new cameras, I had to add permissions for them in the console (I think you can just do that by reauthorizing - i.e. clicking the "auth link" button. But it has been so long, I do not recall)

I think its my own fault cause I got a new google doorbell that would only work through google not nest so I transferred my other older cameras into google then found out that google doesn't send the pics in the correct format so I think that's the problem. I tried using google drive and the hacks AI suggested but nothing worked.

Here is the log though of an event:

dev:10112026-10-05 1:18:46.237 pmdebugFront Door Camera: after append - current active threads:[af1b726d-2d1c-4a05-9c0f-a6dbaeda487a, 5004dfd6-79c0-4dd8-9543-7a922dbc0ed6, dc83bb04-95c4-4f81-a42c-274c9759e0ba]
dev:10112026-10-05 1:18:46.234 pmdebugFront Door Camera: person event is active in thread: dc83bb04-95c4-4f81-a42c-274c9759e0ba
dev:10112026-10-05 1:18:46.229 pmdebugFront Door Camera: Person -- present
app:1982026-10-05 1:18:46.202 pmdebug{ "eventId": "a21d0e26-4738-4b2f-8c34-e14143eb74aa", "timestamp": "2026-10-05T20:18:39.980815998Z", "resourceUpdate": { "name": "enterprises/e4d596ce-abbb-4577-9090-61297bd3f511/devices/AVPHwEsplTzo29Yp7je_Ip7ntgsAMeiozrqhEb_byc6fwlkVT39tUOfpKRUJ-xhTbKdvNpo2BnNKlCaxYK6Q_BpWC-p2Rg", "events": { "sdm.devices.events.CameraPerson.Person": { "eventSessionId": "1791231519", "eventId": "1549891461", "zones": [""] } } }, "userId": "AVPHwEtNSC6Ylqnv3Kp8W3iwA0j3O6S3KSuDhiZkhvHs", "eventThreadId": "dc83bb04-95c4-4f81-a42c-274c9759e0ba", "resourceGroup": ["enterprises/e4d596ce-abbb-4577-9090-61297bd3f511/devices/AVPHwEsplTzo29Yp7je_Ip7ntgsAMeiozrqhEb_byc6fwlkVT39tUOfpKRUJ-xhTbKdvNpo2BnNKlCaxYK6Q_BpWC-p2Rg"], "eventThreadState": "STARTED"}

You're quick but I figured it out which is why I removed the post but the answer is to go to the Partner Connections Manager and enable the devices you would like Hubitat to have access to.

Already tried that thanks though.

(The following is all Claude, so take it with skeptical grains of salt.)

Thanks for the log, it helps. That event (CameraPerson.Person, eventThreadState: STARTED) has no clip attached, and that's the problem.

The new doorbell, and older cameras moved into the Google Home app, don't support event pictures at all. Google only gives them a short mp4 clip (CameraClipPreview). Google says the clip may come with the event or in a later message. Reading the app code (v1.2.0), I see two gaps:

  1. The app only downloads the clip if it arrives in the same message as the person/motion event. If it arrives separately, the app logs Unhandled ClipPreview event without another event type, please notify developer and drops it.
  2. When it does download a clip, the dashboard link serves the mp4 as image/jpeg, so it often won't play. That's probably the "wrong format" you saw.

Three things that would confirm it:

  1. Search your logs for Unhandled ClipPreview and for any later message with your eventSessionId (1791231519 in your example), especially one with eventThreadState UPDATED or ENDED.
  2. Since you moved the cameras into Google Home, click Discover in the app so it re-reads what each camera supports. The camera device's captureType should then show clip.
  3. Search for Received ClipPreview url. If that line appears, the clip is downloading and only the playback (point 2 above) is the problem.

Either way, it needs a code change in the app. If you post what you find, it'll help anyone who picks it up.

(Claude is offering to create and submit a code change to @dkilgore90, but would need someone to test it first.)

Searching the log for that event id only reveals the initial event. Not sure why there is no other event for it as I see a complete chain for most events (STARTED, UPDATED, ENDED)

Only error in the logs is:

app:1982026-10-05 1:29:58.982 pmerrorexecuteCommand sdm.devices.commands.CameraEventImage.GenerateImage response code: 400, body: { "error": { "code": 400, "message": "Command sdm.devices.commands.CameraEventImage.GenerateImage is not supported due to camera not supporting RTSP protocol.", "status": "INVALID_ARGUMENT" }}

Here is one (of many) UPDATED events as an example:

app:1982026-10-06 4:13:48.421 pmdebug{ "eventId": "06faf696-7115-4a9a-9e44-87fdf25e5b69", "timestamp": "2026-10-06T23:13:38.641634252Z", "resourceUpdate": { "name": "enterprises/e4d596ce-abbb-4577-9090-61297bd3f511/devices/AVPHwEvlw5Jp1j5ilJYJm3O6aZ0hcQC1yJywtZG1uuOUPP0w6CxWzpXhyzTzEQLS1HBm_xZLT8ZWGpYzdOTWiNrgW0B7bA", "events": { "sdm.devices.events.CameraMotion.Motion": { "eventSessionId": "1791328418", "eventId": "-1835553234", "zones": ["Zone 1"] } } }, "userId": "AVPHwEtNSC6Ylqnv3Kp8W3iwA0j3O6S3KSuDhiZkhvHs", "eventThreadId": "11bd34b0-2cd4-4b40-b343-98e2d85513b7", "resourceGroup": ["enterprises/e4d596ce-abbb-4577-9090-61297bd3f511/devices/AVPHwEvlw5Jp1j5ilJYJm3O6aZ0hcQC1yJywtZG1uuOUPP0w6CxWzpXhyzTzEQLS1HBm_xZLT8ZWGpYzdOTWiNrgW0B7bA"], "eventThreadState": "UPDATED"}

I am happy to test any code if you want.

Thanks for looking at it.

Which doorbell? I have a couple of the older ones and one newer one (newer one needed the Google app and does the video clip). All of them are working with this integration though. I have a dashboard for each of them (generic Hubitat dashboards), and the newer Google Doorbell shows the short video clip. Doesn't show on my Garmin watch though..... :slight_smile: