Announcement

Collapse
No announcement yet.

Windows Style Live-Tile UI for HomeSeer

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #61
    Originally posted by wposner View Post
    I needed NodeJS to create a proxy between the HTML UI and the ASCII interface which is a pure tcp connection. There is no way to communicate from HTML to a TCP server. I tried websockets and server sent events but none would work. A proxy is the only way to broker the communication.
    Ok, clear. I'm straight TCP with my application.

    Still awaiting anxiously for answers 1 and 3...

    Comment


      #62
      Originally posted by claude View Post
      Does it return 'OK' when you request authorization (au,user,pass)? And that will be quite a challenge. As authorization is compulsory with the ASCII interface, I had to define with HS a local user with password, even if I allow local access to HS without a password.

      So either you ask all users to create such a user/password combination on their HS and have a way for them to make that available to your JavaScript, or you ask all users to create a common generic user/password combination which is then hard coded in your JavaScript.

      P.S. See my response to your other post on the ASCII interface (status changes)
      Sorry...missed this post. I have no authentication with my proxy. Not sure if something changed between .152 and .153, but it just works by creating a simple tcp connection. I can post some video if that helps.

      Interestingly, when I tried testing the ASCII interface with .152, I couldn't even get a telnet connection to work. Once Rich gave me .153 the telnet connection worked fine. Again, no authentication required.

      As for the superwebockets suggestion--that really won't work based on the architecture I've chosen for this project. I wanted something was wasn't bound to IIS and could easily be hosted on another server in your household. The entire application is client-side with the exception of the proxy server. It can run on your NAS or your HomeTroller.

      Comment


        #63
        Originally posted by claude View Post
        Are you getting unsolicited status from HS or are you asking for status?



        I'm not clear why NodeJS is needed, but I suspect you know more than I do; can you provide more details?

        Is it a D/L somewhere?
        .153 is available when Rich makes it so. I'm not sure if he wants me providing the link.

        As for the status, it's completely unsolicited. I just listen. The easiest way to see what I'm seeing is to open a terminal and launch a telnet session to your HomeSeer server on port 11000. It should connect without any issues or prompting for authentication. Then turn on/off a light or walk past a motion detector (if your alarm is tied in), or toggle a virtual device. You will see something like:

        DC, 215, 0, 255
        DC, 215, 255, 0

        Not sure what the DC is, but 215 is my device ID. The first line shows that I turned my light off and it's previous ControlValue was 255. The second line shows that I turned my light on.

        I simply pass this info from the proxy to the UI, and let the magic of KnockoutJS data binding do it's thing.

        Comment


          #64
          Originally posted by wposner View Post
          Sorry...missed this post. I have no authentication with my proxy. Not sure if something changed between .152 and .153, but it just works by creating a simple tcp connection. I can post some video if that helps.

          Interestingly, when I tried testing the ASCII interface with .152, I couldn't even get a telnet connection to work. Once Rich gave me .153 the telnet connection worked fine. Again, no authentication required.

          As for the superwebockets suggestion--that really won't work based on the architecture I've chosen for this project. I wanted something was wasn't bound to IIS and could easily be hosted on another server in your household. The entire application is client-side with the exception of the proxy server. It can run on your NAS or your HomeTroller.
          superwebsocket is not bound to IIS or anything like that, it is a websocket implementation that is just .net, so you can actually use it direct in a plugin to act as a server without needing any specific server, also to my knowledge works in mono as well from memory .

          Either way, a great system you have created that looks great and seems to work well from my testing
          HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

          Facebook | Twitter | Flickr | Google+ | Website | YouTube

          Comment


            #65
            Originally posted by wposner View Post
            .153 is available when Rich makes it so. I'm not sure if he wants me providing the link.
            A bit frustrating as I've been asking Rich for this for a couple of months now.

            Originally posted by wposner View Post
            ...
            DC, 215, 0, 255
            DC, 215, 255, 0

            Not sure what the DC is...
            The normal return from a Get Status (gs) is
            ref,parent_ref,status,name,location2,location1

            So I guess there's another format for unsolicited status messages.

            Comment


              #66
              I believe DC means Device Control ..just like you see in the HS Log type.....

              Comment


                #67
                Here's a video of the UI working with real-time updates coming in via the ASCII interface.

                http://youtu.be/RE3tlL_za-M

                Just out of curiosity, are there any objections to running a node.js proxy server on your HomeSeer server? I've been trying to test to see what kind of overhead it brings, so I'm not quite sure I'm ready to release this yet without understanding the full impact. Right now there doesn't appear to be any, but I haven't had it running for a long enough duration to be able to accurately assess.

                Comment


                  #68
                  I'm going to post this for download. I've written up some step by step instructions to install the proxy as a Windows service. It'll be availabile in the first post of this thread in a few hours. This build will have a few fixes but the only new feature will be the real time updates.

                  Comment


                    #69
                    Originally posted by wposner View Post
                    ... Interestingly, when I tried testing the ASCII interface with .152, I couldn't even get a telnet connection to work. Once Rich gave me .153 the telnet connection worked fine. Again, no authentication required ...
                    From what I can gather, opening a TCP connection puts the source address on a list and HS will issue unsolicited status changes to addresses on that list. No authentication required.

                    But if you use any of the A2Z-link commands, prior authentication is required.

                    Comment


                      #70
                      So it works for you with .152? That's good news. I couldn't get telnet to connect.

                      Comment


                        #71
                        Has anyone downloaded the 1.0.2 version yet and set up the proxy server? If so, how's it running for you?

                        I'm still hard at work improving it. I had to make some architecture changes to get ready to support thermostats. That's definitely coming.

                        But please share comments/feedback.

                        Thanks!

                        Comment


                          #72
                          Wayne:

                          Using 1.0.2 without the proxy. All is working well.

                          For what it's worth, the Telnet ASCII interface works for me w/ status. I'm on .152

                          I thought I might try to set up the proxy, but I'm not comfortable with any more overhead.
                          Don

                          Comment


                            #73
                            Just wondering if the proxy allows for string changes to be updated as well, I noticed it does status but I assume this would not update the string the same way?
                            HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

                            Facebook | Twitter | Flickr | Google+ | Website | YouTube

                            Comment


                              #74
                              The proxy doesn't have be hosted on your homeseer server. You could also run it on a different box, as long as you install node.js

                              I don't control what the proxy is returning. I'm just relaying what the ASCII interface is sending me, which is just the device ref, the new controlValue, and the old controlValue.

                              Comment


                                #75
                                Originally posted by donstephens View Post
                                ... the Telnet ASCII interface works for me w/ status. I'm on .152 ...
                                It's confusing at times when we talk about status with the ACSII interface.

                                When you say "works for me w/ status. I'm on .152", I assume you mean sending a status request and getting a response back.

                                With 153, HS3 will send unsolicited status changes to any client that has a TCP connection on port 11000 (without the client asking, just listening). I assume you are not getting these unsolicited status changes.

                                Could you confirm?

                                Comment

                                Working...
                                X