Announcement

Collapse
No announcement yet.

Connected2.homeseer.com not working

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Thanks, seems like this was a temporary situation as things are now back to normal.
    cheers,

    Comment


      rjh Something is going on again. egigeozone (Android app) is reporting HTTP 401 response when connecting to connected2.homeseer.com (using the URL format discussed earlier in the thread. This only happens when I am on LTE. On my home WiFi it works as expected. I am using the same URL I have used for over 5 years. I did some testing and this is what I noticed:

      1) On home WiFi, if I open Chrome on my mobile device and visit connected2.homeseer.com I get HTTP basic auth prompt. I enter the same credentials I use in egigeozone and I am redirected to my local HS4 instance.
      2) On LTE, if I open Chrome and perform the same test I get two HTTP basic auth prompts. The first one is from connected2.homeseer.com after which I am redirected to connected33.homeseer.com and I receive a second HTTP basic auth prompt. After entering my credentials a second I can access my HS4 instance.
      3) If I update egigeozone to use connected33 instead of connected2 it works as expected, but I suspect I am losing load balancing for your services.

      From this I suspect there is an issue with the load balancer config at connected2.homeseer.com. Is getting the second HTTP basic auth prompt expected? If not I could see that being what is tripping up egigeozone.

      EDIT:
      HSCS-15668

      Comment


        I am not sure why you are going to connected# urls? If you are trying to go to the web interface, go to myhs.homesee.com, that will send you to the correct server.

        Originally posted by AZweimiller View Post
        rjh Something is going on again. egigeozone (Android app) is reporting HTTP 401 response when connecting to connected2.homeseer.com (using the URL format discussed earlier in the thread. This only happens when I am on LTE. On my home WiFi it works as expected. I am using the same URL I have used for over 5 years. I did some testing and this is what I noticed:

        1) On home WiFi, if I open Chrome on my mobile device and visit connected2.homeseer.com I get HTTP basic auth prompt. I enter the same credentials I use in egigeozone and I am redirected to my local HS4 instance.
        2) On LTE, if I open Chrome and perform the same test I get two HTTP basic auth prompts. The first one is from connected2.homeseer.com after which I am redirected to connected33.homeseer.com and I receive a second HTTP basic auth prompt. After entering my credentials a second I can access my HS4 instance.
        3) If I update egigeozone to use connected33 instead of connected2 it works as expected, but I suspect I am losing load balancing for your services.

        From this I suspect there is an issue with the load balancer config at connected2.homeseer.com. Is getting the second HTTP basic auth prompt expected? If not I could see that being what is tripping up egigeozone.

        EDIT:
        HSCS-15668
        website | buy now | support | youtube

        Comment


          Originally posted by rjh View Post
          I am not sure why you are going to connected# urls? If you are trying to go to the web interface, go to myhs.homesee.com, that will send you to the correct server.


          Not using the web interface. Using a third party Android app (egigeozone) that posts JSON data to HomeSeer for the phlocation2 plugin. This is discussed more in-depth earlier in this (admittedly older) thread. The app only supports HTTP Basic authentication. I believe this is why it has always used connected2.homeseer.com. It has worked for for years, except for the interruption noted at the beginning of this thread and again in the last few weeks.

          I will try myhs.homeseer.com and see if it works. I just always know (in the past) that connected2 was required (for whatever reason).

          EDIT:

          Tested. Results below

          Note: the Android app that does a GET to this URL adds additional data and variables to the URL. This is the baseline template in the app configuration.

          https://myhs.homeseer.com/phl2api?dtype=EG&
          Results in HTTP 404

          https://connected2.homeseer.com/phl2api?dtype=EG&
          Results in HTTP 401, possible due to HTTP Auth being required twice

          https://connected33.homeseer.com/phl2api?dtype=EG&
          Works as expected

          I've provided a good bit of details on how this has historically behaved and what I am suddenly seeing now. I would appreciate someone looking into this a little deeper.

          Thanks.

          Comment


            The traffic manager that picks a server is now using a "performance" mode. This means it will select the fastest server. When HS starts it will pick one server, but when you attempt to connect with a JSON request it may not pick the same server. So in this case it will redirect. Most likely this is the change you are seeing. The app that you are using to connect should be able to handle a redirect I would think. To make this work better you should include credentials in your json request and go to myhs.homeseer.com. With this method your request will be forwarded to the correct server. More info is here:

            JSON API - Plugin SDK - HomeSeer Docs

            Originally posted by AZweimiller View Post

            Not using the web interface. Using a third party Android app (egigeozone) that posts JSON data to HomeSeer for the phlocation2 plugin. This is discussed more in-depth earlier in this (admittedly older) thread. The app only supports HTTP Basic authentication. I believe this is why it has always used connected2.homeseer.com. It has worked for for years, except for the interruption noted at the beginning of this thread and again in the last few weeks.

            I will try myhs.homeseer.com and see if it works. I just always know (in the past) that connected2 was required (for whatever reason).

            EDIT:

            Tested. Results below

            Note: the Android app that does a GET to this URL adds additional data and variables to the URL. This is the baseline template in the app configuration.

            https://myhs.homeseer.com/phl2api?dtype=EG&
            Results in HTTP 404

            https://connected2.homeseer.com/phl2api?dtype=EG&
            Results in HTTP 401, possible due to HTTP Auth being required twice

            https://connected33.homeseer.com/phl2api?dtype=EG&
            Works as expected

            I've provided a good bit of details on how this has historically behaved and what I am suddenly seeing now. I would appreciate someone looking into this a little deeper.

            Thanks.
            website | buy now | support | youtube

            Comment


              Originally posted by rjh View Post
              The traffic manager that picks a server is now using a "performance" mode. This means it will select the fastest server. When HS starts it will pick one server, but when you attempt to connect with a JSON request it may not pick the same server. So in this case it will redirect. Most likely this is the change you are seeing. The app that you are using to connect should be able to handle a redirect I would think. To make this work better you should include credentials in your json request and go to myhs.homeseer.com. With this method your request will be forwarded to the correct server. More info is here:

              JSON API - Plugin SDK - HomeSeer Docs



              Rich,

              As included in my examples above, the phlocation 2 plugin creates a path on my homeseer web interface: http://homeseer.local/phl2api?dtype=EG&

              The /ph2api path is what the mobile geofencing apps hit in order to report geofencing data. I believe it uses HTTP GET to this URL.

              Importantly, this path is not accessible when going through MyHS. In Chrome on my PC, https://myhs.homeseer.com/phl2api?dtype=EG& reports "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable." (HTTP 404). I get the same 404 on my mobile companion app.

              Is there a way to access this path through MyHS? I'd love to use it, but I suspect not. Which is why everyone was using connected2.homeseer.com.

              To your point that the mobile app should be able to "follow" the redirect from connected2.homeseer.com:

              I believe it may be following the redirect but is failing to provide HTTP Basic auth a second time, resulting in a HTTP 403 Forbidden.

              Is there any way we can remove the requirement of double authentication when using the load balancer? To see what I mean, try it in a browser. Visit https://connected2.homeseer.com and it will prompt for HTTP Basic authentication. After redirecting you to the closest server you are prompted again.

              I don't think egigeozone on Android is under active development anymore. I doubt I can ask the developer to try to account for this double-authentication edge case.


              Right now I am up and running pointed at connected33.homeseer.com but would love to use the load balancer if possible.

              Thanks.

              Comment


                Originally posted by rjh View Post
                I updated our service this morning so it now supports a redirect with post commands. So please see if the geofence app is working now. I don't know if Imperihome uses a post, but I suspect it does. If so, see if Imperihome is working ok now also.
                The problem with POST requests failing to redirect has returned.

                This affects Geofency (iOS App) posting to PHLocation2 plugin, when the GeoFency client resolves connected2.homeseer.com to a different connectedxx, (xx = [22, 33, ca]) than that which the HS server is currently connected to.

                As posted previously, this can be demonstrated using native HS operations:


                Using curl commands, was able to verify that the MyHS redirect works for the JSON GET interface, but fails for JSON POST

                System connected thru connected22.

                JSON GET redirected -- works, status is returned
                Code:
                curl --location-trusted "https://connected33.homeseer.com/JSON?request=getstatus&ref=624&user=me&pass=bozo"
                JSON POST direct -- works, light comes on
                Code:
                curl --location-trusted -d "{'action':'controlbyvalue','deviceref':'39','value':'255'}" "https://connected2.homeseer.com/JSON?user=me&pass=bozo"
                JSON POST redirected -- fails
                Code:
                curl --location-trusted -d "{'action':'controlbyvalue','deviceref':'39','value':'255'}" "https://connected33.homeseer.com/JSON?user=me&pass=bozo"
                { "Response":"Error, request missing" }

                Comment


                  Originally posted by zwolfpack View Post

                  The problem with POST requests failing to redirect has returned.

                  This affects Geofency (iOS App) posting to PHLocation2 plugin, when the GeoFency client resolves connected2.homeseer.com to a different connectedxx, (xx = [22, 33, ca]) than that which the HS server is currently connected to.

                  As posted previously, this can be demonstrated using native HS operations:


                  Using curl commands, was able to verify that the MyHS redirect works for the JSON GET interface, but fails for JSON POST

                  System connected thru connected22.

                  JSON GET redirected -- works, status is returned
                  Code:
                  curl --location-trusted "https://connected33.homeseer.com/JSON?request=getstatus&ref=624&user=me&pass=bozo"
                  JSON POST direct -- works, light comes on
                  Code:
                  curl --location-trusted -d "{'action':'controlbyvalue','deviceref':'39','value':'255'}" "https://connected2.homeseer.com/JSON?user=me&pass=bozo"
                  JSON POST redirected -- fails
                  Code:
                  curl --location-trusted -d "{'action':'controlbyvalue','deviceref':'39','value':'255'}" "https://connected33.homeseer.com/JSON?user=me&pass=bozo"
                  { "Response":"Error, request missing" }

                  I suspect we're reporting the same or at least similar issues. Unfortunately I am becoming pessimistic about receiving any resolution. I opened a support ticket and had it closed (without comment) as a duplicate nearly a week later. Without any feedback I am left to assume that this was because I also opened a discussion for the issue on the forum? This was a pretty disappointing support experience. When the new support system was launched we were instructed to open tickets even for issues posted on the forum. The argument was that HomeSeer staff do not monitor the forums closely enough to address every issue. I've always thought this reasonable. I appreciate rjh chiming in on the thread. I also appreciate the demands on his time and have no expectation of him personally solving my issue or ever setting foot in this thread again. That's just the nature of things and that is why I opened a support ticket. I would think the goal behind any support ticket system is that someone can take ownership of an issue and see it through to its resolution. Instead my ticket was closed and the discussion has stalled.

                  If I open another ticket will it now be closed as a duplicate of the first one?

                  Comment


                    I've been trying to figure out if I'm just doing this wrong, but based on this thread I'm wondering if the service is interrupted. Can anyone verify that these steps should produce my desired outcome?

                    1) Create a new user (for this illustration, I'll use "NewUser") - that is, from the controller I created a new user. The reason for doing so was to restrict the user's access, but I was also unable to complete these steps with my root user.
                    2) Create a password (e.g. "UserPassword")
                    3) Test connection by entering: 'https://connected2.homeseer.com/JSON?user=NewUser&pass=UserPassword&request=getstatus'

                    The response I receive is:
                    { "Response":"Error, invalid credentials. CODE 403" }

                    I am able to receive the "ok" response when I use the local IP without credentials, so I'm wondering if the credentials I am creating are not being created in the correct way or at the right level, or if I need to enable something else.

                    ETA:

                    I have found that the basic MyHS subscription that I have is only able to have a single user, so I have focused my testing on my main account user and have just removed the other one. When I try using my account user/pass it pulls up a login screen, I re-enter my credentials and it just throws up the login screen again. I have confirmed that remote access is enabled in my controller and I have forwarded the listed port to my device.

                    Comment


                      Where did you create this user? What you need to do is:

                      * Create a new user for your system at myhs.homeseer.com
                      * Enable that user for access to the system you want but make only that one user has access to the system. If you set more than one user to access a system the json request might fail as it will not know which system to connect to.
                      * Make sure that same user/pass is created on the HS system in setup.

                      Originally posted by TFink View Post
                      I've been trying to figure out if I'm just doing this wrong, but based on this thread I'm wondering if the service is interrupted. Can anyone verify that these steps should produce my desired outcome?

                      1) Create a new user (for this illustration, I'll use "NewUser") - that is, from the controller I created a new user. The reason for doing so was to restrict the user's access, but I was also unable to complete these steps with my root user.
                      2) Create a password (e.g. "UserPassword")
                      3) Test connection by entering: 'https://connected2.homeseer.com/JSON?user=NewUser&pass=UserPassword&request=getstatus'

                      The response I receive is:
                      { "Response":"Error, invalid credentials. CODE 403" }

                      I am able to receive the "ok" response when I use the local IP without credentials, so I'm wondering if the credentials I am creating are not being created in the correct way or at the right level, or if I need to enable something else.

                      TIA!
                      website | buy now | support | youtube

                      Comment


                        Originally posted by rjh View Post
                        * Create a new user for your system at myhs.homeseer.com
                        Going there, you can either "Access System" or "Manage Account". I created the user from the controller (Access System). I've since deleted the user though and so only have the one user. Under Manage Account, I see that same user under Account, and I see my device under Systems and Users. I do not see a user under Systems and Users, but I also don't see a way to add one. When i click the System it takes me to the controller, just as if I had clicked "Access System" at the start, so I feel like the user listed under Account is the one user.

                        Originally posted by rjh View Post
                        * Enable that user for access to the system you want but make only that one user has access to the system. If you set more than one user to access a system the json request might fail as it will not know which system to connect to.
                        I don't see how to enable access to the system by user. Do you have a path for that? I see how to enable access under Network, and how to grant user permissions, but nothing specifically granting This User access to MyHS.

                        Originally posted by rjh View Post
                        * Make sure that same user/pass is created on the HS system in setup.
                        This makes me feel like I'm missing a user creation option somewhere outside of the controller, like on the account management page, but I've looked over it at least 10x now and I don't see anything that would let me create a user outside of the controller (Controller > Setup > Users > Add User). Though I feel like this may be moot since I'm using my one and only user now that I've deleted the other one after finding out that the Basic plan only supports one user anyway.

                        Comment


                          My instructions were more for a premium myhs account where you manage multiple users. I am betting that you are using the default free account that only supports one user. So you don't need to set up anything special there.

                          So all you need to do is make sure your myhs login is also entered into HS on the users tab in setup.

                          In MyHS make sure you added your system license to your account which you most likely did when you first created the account.

                          Originally posted by TFink View Post

                          Going there, you can either "Access System" or "Manage Account". I created the user from the controller (Access System). I've since deleted the user though and so only have the one user. Under Manage Account, I see that same user under Account, and I see my device under Systems and Users. I do not see a user under Systems and Users, but I also don't see a way to add one. When i click the System it takes me to the controller, just as if I had clicked "Access System" at the start, so I feel like the user listed under Account is the one user.



                          I don't see how to enable access to the system by user. Do you have a path for that? I see how to enable access under Network, and how to grant user permissions, but nothing specifically granting This User access to MyHS.



                          This makes me feel like I'm missing a user creation option somewhere outside of the controller, like on the account management page, but I've looked over it at least 10x now and I don't see anything that would let me create a user outside of the controller (Controller > Setup > Users > Add User). Though I feel like this may be moot since I'm using my one and only user now that I've deleted the other one after finding out that the Basic plan only supports one user anyway.
                          website | buy now | support | youtube

                          Comment


                            Originally posted by rjh View Post
                            So all you need to do is make sure your myhs login is also entered into HS on the users tab in setup.

                            In MyHS make sure you added your system license to your account which you most likely did when you first created the account.
                            Correct, I only have the basic. I do have the same user listed and my system license was added at creation.

                            ​​​​​​I'm not sure what else to try. It doesn't seem like there are that many relevant settings.

                            Comment


                              If you want to PM the URL you are trying I can take a look and see what is going on. It should work if the URL is formatted correctly as there are many apps out there that access our JSON interface, including our mobile app. Does our mobile app access your system ok?

                              Originally posted by TFink View Post

                              Correct, I only have the basic. I do have the same user listed and my system license was added at creation.

                              ​​​​​​I'm not sure what else to try. It doesn't seem like there are that many relevant settings.
                              website | buy now | support | youtube

                              Comment


                                Originally posted by rjh View Post
                                If you want to PM the URL you are trying I can take a look and see what is going on. It should work if the URL is formatted correctly as there are many apps out there that access our JSON interface, including our mobile app. Does our mobile app access your system ok?


                                I appreciate it. I got it working - didn't understand that there were two separate user accounts with the same username and different passwords.

                                Comment

                                Working...
                                X