No announcement yet.

Updates on fix for FW .206

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

    Updates on fix for FW .206

    I'm going to be stickying this post and providing updates on how the fix is coming along. I will provide another stickied post for discussion and locking this one to keep this one clean.

    You can leave responses or have discussions on this thread here:
    MeiAutomtion Home

    Update: 2018-12-17 10:44pm EDT

    I have found a library that allows you to connect to the hubs over the WebSockets. This should work for both the older firmware as well as the newer firmware. I have checked with both.

    The down sides:
    • Unfortunately the library is written in .Net Standard 2.0 which I can't reference in my plugin so even if I could use it as is, it would required a rewrite to .net 4.61 or my plugin would have to be rewritten
    • The library doesn't read incoming messages for updates from the hub. It only listens when you start an activity to see when it's done starting. The web socket is sending updates, the library is just ignoring them. Because of this, it is almost a complete rewrite of how the library handles incoming messages so that we can monitor the hub as well as just send commands.
    • I don't think the library is meant to be used as a long term connection. I'm going to change that, but because of that, there is no mechanism to keep the connection alive. I will have to figure out how to keep the connection alive, but that should still be doable.
    The Up sides:
    • The library included a discovery service which had eluded me so far. so I will be able to use that as a reference to add hub discovery to the plugin. This will mean no more manually entering IPs and if your hubs IP changes, it can self heal (though that would require a schedule)
    • The library has some of the little details I was still researching from the decompile of the phone app. So it will save me some time and it connects. This will save me some time.
    The biggest downside:
    This will be a pretty major rewrite. I'm going to try and blend my old method of handling messages with the websocket connection which should give us all the monitoring and control we had before with the new web socket connection method.
    MeiAutomtion Home


      Update 2018-12-18 10:54pm EDT

      I have incorporated changes to talk to the hubs using WebSockets (what the phone apps now use). I have been able to communicate (send and receive messages) with the hub in a test program (to make sure it works). I am currently working to integrate that code into the plugin. This will not be a small task, but I'm hoping to have a beta out by this weekend for people to try.

      This new method should work with the new firmware as well as the old firmware.

      You can discuss this update in this thread:
      MeiAutomtion Home


        2018-12-19 12:45AM EDT

        I got a lot done, but the websocket implementation I had found was for .net standard and not .net 4.5.2 (at least there is a bug in the 4.5.2 implementation). I am moving to another library to get it done, but I have a day full of meetings tomorrow so I am stopping for the night. Please understand I did get pretty far tonight. I added the new web socket code to the plugin but now I'm just starting to swap out the calls from the XMPP class I had written to the new WebSocket class I am using.
        MeiAutomtion Home


          Update: 2018-12-19 8:17PM

          I have a stable web socket connection in .net 4.5.2 and I receive and send messages again. Tonight I will be starting the actual moving from XMPP to WebSockets.

          On aother note, plenty of people have been blasting the thread on the Logitech forums saying that people have figured out the WebSocket connection method. I think this is a mistake. I wish people over there had just kept their mouth shut and didn't say anything. Not saying Logitech will close that hole, but I would rather not announce it to them.
          MeiAutomtion Home


            Update 2018-12-20 12:58AM

            I have most of the code swapped out and I can control Activities, but I'm not yet firing the internal plugin events when one changes (it's easy enough to do, but I have to stop somewhere).

            I think that perhaps as early as tonight (Thursday 12/20) I will be ready to release an Alpha/beta of the updated plugin for people to try on both versions .201 or earlier and .206.

            I'm thinking I'll just post it in the Beta section, but let me know if you think I should distribute manually until we know it's actually working correctly. You can post your thoughts here:

            Some notes:

            I may not have full functionality to start. I am focusing on Starting and monitoring the current activity and then Individual Device commands (saving the strings until later).
            I've been able to complete most of the work with very little changes to the configs so there should be no need to install fresh. All installs should upgrade with current configs in place (the plugin will make any necessary small updates to your stored settings).
            I have for the moment have no monitoring on the connection so I can't tell if the connection is dropped. I will try and get that in, but so far the websocket connection has been solid for me.

            If you want to be a beta tester let me know. I'm sure there are more than enough people to test. I will suggest that you take full backups of you HS install before installing the version I put out tonight/tomorrow night (Thursday/Friday).

            MeiAutomtion Home


              All, I tried my best and while I am about 95% there, I'm not ready to release the fix tonight. I'm pretty sure tomorrow night I will be able to release the first beta.

              Tonight I was able to:

              Get Device commands working
              Updating HS device when activity changes
              Got all the Activity triggers working

              I have yet to:
              Finish the sleep timer integration
              Test all the event Actions (though I'm pretty sure they will work)
              rewrite the mechanism and test how it handles disconnects.
              Write a method for automatic reconnect and connection attempts (currently it either connects or it doesn't)
              MeiAutomtion Home


                Update 2018-12-21 4:47pm

                Logitech has decided to support our community and add back in XMPP support. While I will continue to work on WEbSocket support so we have an option of connection types, for now I will leave the XMPP implementation in place as Logitech is officially allowing it.

                If you want to update to the beta firmware to restore XMPP communication, instructions are here:
                MeiAutomtion Home