bramkragten / lyric

Add support for Honeywell Lyric thermostats in Home Assistant
MIT License
13 stars 18 forks source link

500 Internal Service Error #12

Open Arsenal10108 opened 4 years ago

Arsenal10108 commented 4 years ago

New install of the lyric integration here. All steps went great except when I tried to authorize the account within HA, I get all the way to connect the device and I get a 500 Internal service error. The server has gotten itself in trouble.

Ernst-JanKromhout commented 4 years ago

I have the same issu as Arsenal10108

orlandogil2007 commented 4 years ago

I have the same issu as Arsenal10108

zikeji commented 4 years ago

Looks like the get handler is out of date or something.

    def get(self, request):
        """Handle a GET request."""
        code = request.query.get('code')
        state = request.query.get('state')

        if None in (code, state):
            return self.json_message('Authentication failed, not the right '
                                     'variables, try again.', HTTP_BAD_REQUEST)

        self.lyric.authorization_code(code=code, state=state)

But even after fixing that it appears the other library is flawed. I'm just waiting on this integration: https://github.com/home-assistant/core/pull/39695

queelyte commented 4 years ago

I’m having the same issue. If I can get someone to help me fix it, I’m willing to buy them a coffee.

If this repo is not being supported, I wish they would remove it so I can stop waiting and getting my hopes up. I tried to install and research a fix that I can understand (I’m a noob) over the past 5 months.

danielgoepp commented 4 years ago

I’m having the same issue. If I can get someone to help me fix it, I’m willing to buy them a coffee.

If this repo is not being supported, I wish they would remove it so I can stop waiting and getting my hopes up. I tried to install and research a fix that I can understand (I’m a noob) over the past 5 months.

I was able to get this going recently (after all these other comments) with the latest code as of the pull request, but I had to make one modification. The path in the URL for me was not "api/lyric/authenticate" I changed it to this "auth/external/callback" and it worked. I'm not sure when or where this change was introduced...but that's what worked for me.

queelyte commented 4 years ago

@danielgoepp thank you for your response! I tried changing the url but now I get this error message:

   {"code":400, "message":"The redirect URL provided does not match the redirect URL registered for the app."}

How do I apply the latest code from the pull request as you stated? Where do I find it and how do I add it?

Thanks in advance for your help!

Arsenal10108 commented 4 years ago

@danielgoepp thank you for your response! I tried changing the url but now I get this error message:

   {"code":400, "message":"The redirect URL provided does not match the redirect URL registered for the app."}

How do I apply the latest code from the pull request as you stated? Where do I find it and how do I add it?

Thanks in advance for your help!

That error means that the external url to home assistant is not correct. You have dns name and ssl set up? I believe you have to have ssl working.

Arsenal10108 commented 4 years ago

I should say the URL defined in the developers console does not match the URL for home assistant. Here is the URL I am using. https://"yourdynamicdnsnamehere.duckdns.org:8123/auth/lyric/callback If you made everything available on port 8443 then change the port to that. One thing to note is portforwarding 8123 to 8443 on your router and then setting your url to 8443 will not work for this. You need to set the default port on HA 8443 (https) or do what I did and just leave 8123 accessible.

danielgoepp commented 4 years ago

@queelyte as @Arsenal10108 points out, if you are using a different port or external DNS you'll need to change to match your exact setup. Looks like @Arsenal10108 had to do the same thing I did regarding the path. I too am using external DNS (Nabu Casa for me). The way I figured it out was by looking at the path getting passed for auth, and just changing my configuration with Honeywell site to match it.

As for getting the latest version...I don't know if this is appropriate to do here, but the latest version of work on Lyric that I'm aware of is actually over on another repository, and is the one pending a pull request back into core. I don't know if this is appropriate to do here, but if you want the one that works for me:

https://github.com/timmo001/core/tree/honeywell-lyric-two/homeassistant/components/lyric

That is the work done by timmo001 and the branch is honeywell-lyric-two.

queelyte commented 4 years ago

I used my HA url which is my “IP address:8123/auth/lyric/callback. That’s when I get the error code 400 message I showed earlier. When I put my IP url and add “ api/lyric/authenticate” at the end, I proceeds to let me log into Honeywell, select my thermostats and then I get the 500 error.

I have recently sign up for NabuCasa so I even tried using that long address with both extensions that were suggested. But I get the 400 error.

To clear, I am logging into into the Honeywell developer app and updating the callback url with all of the suggestions. After that, I go back to HA and try to go through the lyric configuration “request authorization”.

Nothing has worked yet. :-(

Ernst-JanKromhout commented 4 years ago

HI All, I have the same issue here. I see in the log this error.

Logger: homeassistant.components.http Source: components/http/init.py:178 Integration: HTTP (documentation, issues) First occurred: 11:19:56 (1 occurrences) Last logged: 11:19:56

Detected use of deprecated base_url property, use homeassistant.helpers.network.get_url method instead. Please report issue to the custom component author for lyric using this method at custom_components/lyric/init.py, line 125: redirect_uri = conf.get(CONF_REDIRECT_URI, hass.config.api.base_url +

i hope someone can help me with this

danielgoepp commented 4 years ago

I hate to say this, but I would recommend starting fresh, and going with the more recently updated and supported version that is a candidate for merging into core via this pull request:

https://github.com/home-assistant/core/pull/39695

There is more active work being done there, so you are more likely to get a fix or attention for other folks using it I think. Also, it's the one that worked for me after I had both of the issues you had 4xx and 5xx errors.

queelyte commented 4 years ago

Ok. Removed the old repo for HA and then went to the pull request. How do I install it? I clicked on the hyperlink “package” and it took me to the files. I copied the “clone” https link https://github.com/timmo001/aiolyric.git and pasted it in HACS custom integration. I get an error message saying “repository structure for v1.0.0 is not compliant”.

I really appreciate you trying to help me with this!!!

Thank you!

On Sun, Oct 11, 2020 at 5:39 AM Daniel Goepp notifications@github.com wrote:

I hate to say this, but I would recommend starting fresh, and going with the more recently updated and supported version that is a candidate for merging into core via this pull request:

home-assistant/core#39695 https://github.com/home-assistant/core/pull/39695

There is more active work being done there, so you are more likely to get a fix or attention for other folks using it I think. Also, it's the one that worked for me after I had both of the issues you had 4xx and 5xx errors.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bramkragten/lyric/issues/12#issuecomment-706684454, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOENWWLWUWIVUEDBPHAHQIDSKGDMRANCNFSM4QQQ3MLA .

danielgoepp commented 4 years ago

@queelyte yeah, that's not going to work :) You need to clone the repository somewhere, then check out the specific branch and put all the files from this directory in the custom_components directory on your install. This depends on how you are running HA though (ha core vs hassio - https://www.home-assistant.io/faq/ha-vs-hassio). To be clear, this package is not wrapped up or included in HASSIO or HACS yet, so you need to do a bit more to get it going (it's a manual process). There is a lot of documentation on that already, and not related to the thread here, or even this package.

Tankdoz commented 4 years ago

I have the same 4xx 5xx problems. If someone could point me to the documentation that describes how to manually install the timmo001 files that would be great.