Announcement

Collapse
No announcement yet.

HS4 Alpha Plugin Development Release

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

    HS4 Alpha Plugin Development Release

    We are pleased to announce the release of our official plugin SDK for HomeSeer HS4. The new SDK has been designed to simplify and streamline the entire plugin development process so that it more intuitively integrates with the HomeSeer platform and deals directly with the components that users expect to be interacting with. It also takes advantage of modern UX design patterns so that every plugin has a similar look and feel as the rest of the platform, drastically improving usability and scalability across all screen sizes.


    Some of our goals include:
    • Enhance the user experience through a more intuitive, modern interface.
    • Update the structure of devices and their relationships so that they more closely adhere to user expectations and represent the real world more accurately.
    • Establish common plugin design patterns to eliminate "searching" or the need for users to read through the documentation to figure out how to use plugins.
    • Reduce the need to write "boilerplate" code when trying to accomplish many common tasks within a plugin.
    • Decouple the SDK from the core code to allow for more flexible update schedules.
    • Full backward compatibility with all currently published HS3 plugins.

    Please be aware that this content is currently in an Alpha state and some components are still a work in progress.


    As stated above, HS3 plugins will be supported in the new release, but they will not be able to take advantage of some of the new features. We strongly advise that you update your plugins to the new architecture as soon as possible. We have done testing to ensure that existing HS3 plugins will work as expected without any modifications. If you are encountering issues with the functionality of an HS3 plugin, please let us know. Once HS4 is officially released, we will not be able to prioritize fixes for these plugins; so please let us know sooner than later.


    Additionally, we will be expanding our own selection of HomeSeer branded plugins to support products & technologies that we identify as strategically important for our competitiveness and growth. At the moment, these new plugins will support the following products and will be provided at no charge to new HS4 users.
    • Tuya
    • Philips HUE
    • Harmony Hub
    • Ecobee
    • Chromecast
    • SmartThings
    • Enhanced Zigbee

    We do understand that this effort may impact developers who are also currently supporting these products; however, this does not preclude them from continued development and upgrades to their existing plugins.


    Getting Started

    You can download an installer for the HS4 Beta here: https://forums.homeseer.com/forum/de...dy-for-testing

    This build of HS4 is an alpha version and is for plugin development purposes only. Please do not share this build outside of the plugin development community in this forum.

    Also, please note that you should install HS4 to its own directory. Do not install overtop an existing HS3 instance, and please do not run them at the same time.

    These HS4 installations will only work with a trial license for the time being. You can request one here: https://shop.homeseer.com/products/h...eloper-license


    PluginSDK

    The new PluginSDK is available for download through NuGet: https://www.nuget.org/packages/HomeSeer-PluginSDK/


    We have produced some sample plugins that demonstrate how to use the new SDK. These have been published to GitHub.
    We are also beginning to migrate our documentation to a new platform. Here is a getting started guide for using the new PluginSDK on a new plugin. We will be publishing additional documentation in the coming days to go over many of the other aspects of plugin development, including a guide on how to migrate a legacy plugin to the new architecture. Inline XML documentation is also available through IntelliSense in your IDE.


    Support

    If you have any questions about the PluginSDK or the HS4 Alpha, please post in this forum. (HS4 Development)

    Build Changes

    See here for release notes for each build:

    https://forums.homeseer.com/forum/de...-sdk-on-github

    #2
    What about the license needed to get HS4 running?
    stefxx

    Comment


      #3
      Originally posted by stefxx View Post
      What about the license needed to get HS4 running?
      These HS4 installations will only work with a trial license for the time being.

      I've updated the op to reflect this.

      Comment


        #4
        Thanks. I just requested a HS3 trial license but it is not accepted on HS4.
        stefxx

        Comment


          #5
          Is it too late to migrate to DotNetCore instead of DotNet / Mono? Core is the future of dotnet, to the point where Microsoft is ceasing development on .net and moving all to .net core. In addition it would make porting to Linux a non-event.

          Comment


            #6
            I see no option to start a trial - only register now
            Cheers,
            Bob
            Web site | Help Desk | Feature Requests | Message Board

            Comment


              #7
              Apologies for the miscommunication about licenses. Please go here to request an HS4 trial license: https://shop.homeseer.com/products/h...eloper-license

              Comment


                #8
                Originally posted by kingfetty View Post
                Is it too late to migrate to DotNetCore instead of DotNet / Mono? Core is the future of dotnet, to the point where Microsoft is ceasing development on .net and moving all to .net core. In addition it would make porting to Linux a non-event.
                We are investigating this. Thanks for bringing it up. The primary concern here is backward compatibility for HS3 plugins, which are built using the dotNet framework.

                Comment


                  #9
                  I get this trying to start one of my HS3 plugins

                  2019-09-06 3:11:40 PM
                  BLRoombaWifi Error
                  This exception was caught during initialization: Object reference not set to an instance of an object. Service Version: NO_VERSION
                  Cheers,
                  Bob
                  Web site | Help Desk | Feature Requests | Message Board

                  Comment


                    #10
                    Not bad for a first version just two small issues found:

                    Same old issue still exists with the installation of all plugins for certain regional settings. For instance, Country: Netherlands, Regional format: English (Netherlands):
                    Error unzipping C:\Program Files (x86)\HomeSeer HS4\Updates3\Neato Robot Vacuums3.0.0.13\Neato_3.0.0.13.zip, 1 is not a supported code page. Parameter name: codepage on line 0

                    New issue with plugin with a "/" in the name, like my "JLR Jaguar / Land Rover Vehicles" plugin:
                    Unable to create directory: C:\Program Files (x86)\HomeSeer HS4\Updates3\JLR Jaguar / Land Rover Vehicles3.0.0.3 :Could not find a part of the path 'C:\Program Files (x86)\HomeSeer HS4\Updates3\JLR Jaguar \ Land Rover Vehicles3.0.0.3'.

                    All my other 6 plugins installed and started successful without errors. I will continue testing the plugins in the next few days/weeks/...

                    I also noticed a few other errors as well (including database errors after loading my HS3 database) in the log, should we start reporting those as well?
                    stefxx

                    Comment


                      #11
                      stefxx Yes, please. Report everything you can. We will be working on consolidating bug reports and addressing them as soon as we can, but we wanted to get the new PluginSDK in your hands for the weekend so you can explore when you are more likely to have free time to do so. (Wasn't under the impression many plugin devs worked on this stuff during normal working hours)

                      For error reports, please provide as much contextual information for us as possible such as steps to reliably reproduce the error, whether you added the plugin in before or after starting HS4, and any error messages logged to either your plugin console window, the HS4 application window, or the HS4 log. The more info, the better. Optimally, if you can tell us the exact line of code that is being executed that causes the error, we will be able to more quickly work towards a resolution.

                      Blade this is pertinent to you too. Can you please elaborate on this error?

                      Thanks in advance!

                      Comment


                        #12
                        I get this error in the InitIO function when the plugin is starting up
                        I added the plugin after starting HS4 but even after a restart I get the same error
                        I do not get a web link to the plugin - likely not properly initialized

                        2019-09-06 3:11:40 PM
                        BLRoombaWifi Error
                        This exception was caught during initialization: Object reference not set to an instance of an object. Service Version: NO_VERSION

                        I am thinking that it could possibly be failing in the hs.RegisterPage call in InitIO
                        Cheers,
                        Bob
                        Web site | Help Desk | Feature Requests | Message Board

                        Comment


                          #13
                          This is another error with BLGarbage I get when trying to access the web interface for the plugin
                          This is a plugin that still uses the GenPage call

                          Error finding plugin in GenPage: Unable to cast object of type 'Scheduler.PluginHolder' to type 'HomeSeerAPI.IAllRemoteAPI'.
                          Cheers,
                          Bob
                          Web site | Help Desk | Feature Requests | Message Board

                          Comment


                            #14
                            The sample seems to show as a HS3 plugin

                            Attached Files
                            Cheers,
                            Bob
                            Web site | Help Desk | Feature Requests | Message Board

                            Comment


                              #15
                              I don't understand how to get to my device config?

                              In HS3 I click on device name and then go to the config page (this includes child devices as well):

                              Click image for larger version

Name:	CalendarHS3.PNG
Views:	572
Size:	124.0 KB
ID:	1325433


                              Click image for larger version  Name:	ConfigDevice.PNG Views:	0 Size:	285.7 KB ID:	1325049


                              In HS4 the devices are not clickable?

                              Click image for larger version

Name:	Capture4.PNG
Views:	571
Size:	56.8 KB
ID:	1325434

                              Comment

                              Working...
                              X