home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.88k stars 30.11k forks source link

Logi circle cam OAuth is broken (Google form) #36521

Closed KimberlyYang closed 3 years ago

KimberlyYang commented 4 years ago

The problem

Trying to get OAuth token from Logi Circle Api through a Google form.

Environment

External Form with OAuth token generator (google) https://docs.google.com/forms/d/184FUILJ10rVxotyOQR5DAiu6GcCbK31AZszUdzT1ybs/closedform

Problem-relevant configuration.yaml

Traceback/Error logs

Additional information

This Tikket is by request of TomBrien from discord

probot-home-assistant[bot] commented 4 years ago

logi_circle documentation logi_circle source (message by IssueLinks)

probot-home-assistant[bot] commented 4 years ago

Hey there @evanjd, mind taking a look at this issue as its been labeled with a integration (logi_circle) you are listed as a codeowner for? Thanks! (message by CodeOwnersMention)

TomBrien commented 4 years ago

Will be fixed by home-assistant/home-assistant.io#13684 (from our side anyway)

evanjd commented 4 years ago

This integration was originally built on Logi's private API (which requires no API key), until Logitech asked very nicely for that to be changed.

So, what I could do as a temporary workaround is update and repackage the old version of the integration to work as a custom integration so that people aren't stuck w/o access (assuming their private API hasn't changed dramatically since I last worked with it).

I'll check back in a few days once I've got some time to look at this.

stale[bot] commented 4 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

evanjd commented 4 years ago

Sorry for not responding as I said I would (COVID lockdowns + kids home 24/7 + full time job sapped all my time).

It looks like Logitech are once again processing applications for API access. PR raised to remove the alert.

tcsmath commented 3 years ago

Sorry for not responding as I said I would (COVID lockdowns + kids home 24/7 + full time job sapped all my time).

It looks like Logitech are once again processing applications for API access. PR raised to remove the alert.

Haven't you been thoroughly convinced at this point that supporting Logitech is a recipe for disaster? Last time I interacted with you and the Logitech rep who processes applications, it was clear that Logitech thinks they are being "nice" by performing this "service" on behalf of people who own their cameras.

What Logitech wants to do is sell hardware and hope to find a business model for cloud services at some point in the future. In the mean time, they are basically charging relatively minimal amounts for terrible cloud access to video (or, at least, terrible app support on iOS and Android; I haven't taken the time to distinguish which).

The last time we interacted, I suggested actually using HA's stream component for video, and you were concerned that HA keeping the stream alive would be prohibitively expensive to Logitech and they might be upset. So then I started looking into implementing a hook for their beta WebRTC support as a way of directly accessing the video stream locally. That project would have involved substantial effort, along with me donating debug cycles to Logitech. But given the apathy of everyone involved, and how allowing me to hack on Logitech's behalf was somehow seen as a privilege, I decided I had better uses for my time.

This was confirmed when I changed my DNS setup earlier this year and therefore had to re-request authorization keys. Of course, I received the reply that they are no longer being issued. It's a fool's errand to continue supporting this hardware. And it is impressive hardware, but Logitech doesn't really care about selling cameras; they want to sell cloud services behind their cameras. Of course, this the same as other companies, notably Google Nest. The difference is that Google actually provides a value proposition: ML services you couldn't easily implement yourself like face detection and (local) speech recognition. This is not Logitech's expertise, making their "security cameras" virtually useless if their utility is tied to Logitech's cloud ecosystem. They can't even get distributed video storage/streaming/caching/predictive buffering right. They are so, so, so far behind.

Of course, their hardware is still fantastic, and I will happily continue to use their webcams, mice, and keyboards.

evanjd commented 3 years ago

Haven't you been thoroughly convinced at this point that supporting Logitech is a recipe for disaster?

I'm not sure I'd put it that way, but I certainly have lost all motivation to do anything except keep the lights on with this integration given how poor the experience is getting API access from Logitech.

Last time I interacted with you and the Logitech rep who processes applications, it was clear that Logitech thinks they are being "nice" by performing this "service" on behalf of people who own their cameras.

I don't represent Logitech and that's never been my attitude, so I'm not sure why I'm being lumped in with Logitech here. I initially hacked together the integration by reverse engineering their API in my own time, I only went with their official API because they asked nicely, provided me test hardware so I could resolve issues for v2 cam users, and because of the danger of breaking changes to their private API.

At the time they asked me to switch over to their public API, they said that they were planning to deliver a self-service portal for API access. The google form was only supposed to be a stopgap until the portal was set up, and at the time, API requests were supposed to be turned around within a few business days. Obviously that portal never materialized and the turnaround time on API requests has deteriorated significantly. This is not what I expected to happen.

The last time we interacted, I suggested actually using HA's stream component for video, and you were concerned that HA keeping the stream alive would be prohibitively expensive to Logitech and they might be upset.

I did say at the time that:

...we’d need to be careful not to upset them otherwise they may start revoking API keys

To make it clear - my concern about this approach wasn't because I was protecting Logitech's interests, but was to ensure API access for existing HA integration users wasn't terminated for violating ToS.

Also, my objection was to your idea was that you'd initiate the stream on HA startup and keep it on 24/7. Using the stream component for video is fine, I even raised a PR for this myself. I only abandoned it because at the time, the stream component would fall over if it took longer than 10 seconds for the stream to return the first video frame. Logi's RTSP endpoint would frequently take longer than that to start streaming video.

It's a fool's errand to continue supporting this hardware.

Like I said, my only interest now is doing the minimum required to keep the integration working. I wouldn't be surprised if Logi terminated everyone's API access tomorrow, so I've got no immediate plans to build upon what's already there. My only interest is in resolving issues if they're within my power and aren't a ton of work (minor bugs, docs etc). I do still get e-mails from time to time asking for help setting things up, so there's at least a handful of people using it.

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.