Google-Nest Offical Device Access Console Finally Released!

Logger: homeassistant.config_entries
Source: config_entries.py:247
First occurred: 6:58:50 PM (3 occurrences)
Last logged: 6:59:05 PM

Config entry for nest not ready yet. Retrying in 5 seconds
Config entry for nest not ready yet. Retrying in 10 seconds
Config entry for nest not ready yet. Retrying in 20 seconds

Nothing else
Tried again and now everything is working.

That doesnā€™t look like the full log entry ā€“ Did you try ā€˜Load full home assistant logā€™ and look around in there?

I did. In any case it is working now. Iā€™m sure I missed one of the steps in the google setup.

This needs to be marked as a solution for this thread. :slight_smile: People like me need to know this information. :slight_smile:

I donā€™t think there is any one be-all-end-all solution to everyoneā€™s problems here except maybe follow the documented steps to the ā€œTā€, and if you fail, try again, and again, and againā€¦

I tried like 5+ times and only got different error messages. Then suddenly I got passed all those messages and a integration showed up. But no camerasā€¦
image

What am I supposed to do with it?

There may be errors in the error log indicating that setup is not working, so maybe check there? Playing around with popping up notifications on error instead in a future version.

I had this yesterday. It means something is setup incorrectly. I wish I could tell you what fixed it for me, but I canā€™t. I just followed the instructions again and it worked. There is a massage above I believe 286 that lists the steps. I printed it out an carefully follow it and it worked.

Thanks for getting us started on the notifications for events! Using your example, i also tried sending a notification through the Home Assistant App following the instructions for sending Companion App: Attachments.

- alias: Camera Motion Notification
  description: ''
  trigger:
  - platform: device
    device_id: b06fjdakslfjskaf16cdfda69fdasfds5
    domain: nest
    type: camera_motion
  condition: []
  action:
  - service: notify.mobile_app_some_phone
    data:
      message: Motion in side yard
      data:
        image: /api/camera_proxy/camera.sideyard
  mode: single

Interestingly though due to the stream lag of 5 or 6 seconds, I think I have the opposite problem as you do and get the screenshot before the event happened. Anyway, work in progressā€¦

2 Likes

I donā€™t think this has anything to do with you. It is operator error on the link to the nest account. Many places to make mistakes. I have done this with different apps that need google permission and sometimes it works easily and sometimes it doesnā€™t. Most of the issues have to do with people unfamiliar with the google console, authentication, etc. Not easy to document it all as Google changes their interface from time to time.

Yeah, i agree that it is easy for everyone to get the steps wrong ā€“ iā€™m just trying to help make it easier for users to diagnose. I was thinking of moving to use a config flow to make it easier for users to follow ā€œstep by stepā€ and ideally it could even test configuration at each step and tell the user which steps they missedā€¦

1 Like

Wouldnā€™t this need to get info from google? I believe my error may have been either in the subscription step or coping the wrong info in the yaml file. Seeing Fanan above which is the same as mine shows it is connected to the nest account but an incorrect setup to get the information to your app. Not sure how you can tell from this what is incorrect? Not easy to trace back through the Google maze to find the error.

Does this approach, using /api/camera_proxy/camera.name, basically automate a camera snapshot? That is my interpretation of the companion app doc on the link. Secure and automated link. Right?

One way you could fix it is to add a delay before the action perhaps? To adjust for the delay in the stream.

Rather than get an image from the stream, where the delay may be variable, would it be easier to use the api to get the image url related to the event, using the CameraEventImage trait. Allen would need to build support into the integration I think though, maybe through a dedicated service. Not been trying this at all, my camera isnā€™t local and gets little action, so just following the conversation.

1 Like

Yes, i think youā€™re right. Playing around with getting a demo working and some ideas here:

I was leaning towards overriding the default snapshot for like 15-30 seconds after an event(and stuff like the camera proxy for notifications just works), but it is less flexible ā€“ but maybe it ā€œjust worksā€. Making extra services to return the snapshot of the last event can work too, though might be slightly more complicated. I might write up the options in more detail into a doc to discuss the options, pros/cons a bit more to get feedback from more folks.

1 Like
homeassistant.components.nest: critical
homeassistant.components.nest.camera_sdm: critical
google_nest_sdm: critical
google_nest_sdm.device: critical
google_nest_sdm.device_manager: critical
google_nest_sdm.google_nest_subscriber: critical
google_nest_sdm.event: critical
google.cloud.pubsub_v1: critical
google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager: critical
homeassistant.components.stream.worker: critical
homeassistant.components.stream: critical
libav.rtsp: critical 
libav.tls: critical

In the end these are all the ones I added to get no logging showing up. Not sure at this point if both homeassistant.components.stream.worker and homeassistant.components.stream are needed but at this point Iā€™m just leavig it as is :rofl:

Great stuff, I will be happy to test if you need testers šŸ¤ø

Iā€™d definitely go for something that will work, over something that might work. The api call looks simple enough, Iā€™ve not written a service before, but it canā€™t be too hard :grin:

Here is a writeup of what the design might look like if you want to give any other feedback:

3 Likes

Interesting read. I guess what would be important for me would be knowing that when I send a notification to phone (or whatever) that I can guarantee that I have the image of the event the camera is reporting on. Iā€™m less worried about 100% accuracy of what is showing moment to moment in Lovelace, because I donā€™t sit there watching that. But of course if I click on the image to get the live stream, Iā€™d like that to be as near real time as possible as well. I donā€™t mind a new service to get the image (though I recognise your code duplication issue), but then I use Node Red almost exclusively for my automation, so would be easy to utilise all your hard work :wink:

Of course others will have many other use cases with different importance.

2 Likes