HomeSeer / Plugin-SDK

Plugin development kit for the 4th major edition of the HomeSeer platform.
https://www.nuget.org/packages/HomeSeer-PluginSDK/
GNU Affero General Public License v3.0
21 stars 5 forks source link

SDK walktrough failures #1

Closed mcsSolutions closed 5 years ago

mcsSolutions commented 5 years ago

Attempt to use the Sample VB plugin by following https://docs.homeseer.com/display/HSPI and clicking on Where do I start Using the SDK article Did not find an "article", but followed link https://docs.homeseer.com/display/HSPI/Sample+Plugins to "Try the sample plugins" where the text included "and instructions on how to use them". Page provides link to download a sample plugin. No instructions as what to do after the download. The download project did not contain any instructions Tried to compile the sample solution using Visual Studio 2019. Several BC30002 errors such as Type 'AbstractPlugin' is not defined. During compile I noticed that HomeSeer-Plugin SDK and Newtonsoft.Json were downloaded. To resolve the reference needed to manually browse to the three dll's used in the sample project. This may identify a dependency as to where the sample project is located on the filesystem. Suggest the following updates to the walkthrough

  1. Provide the instructions (that were referenced) for setting up the sample project

Back to create a new plugin rather than using sample plugin. Guide indicates 4.6.2 framework. I had 4.7.2 so try to installed 4.6.2 from MS site. Received ".NET Framework or a later update is already installed on this computer." More info link to MS site indicates no action necessary for this error so continued with 4.7.2. Followed the walkthrough at https://docs.homeseer.com/display/HSPI/Creating+a+Plugin Prior to build the BC30610 error shows "AbstractPlugin: Protected MustOverride Overloads ReadOnly Property SettingsFileName as String Added Protected Overrides ReadOnly Property SettingsFileName As String with Get to return a .ini filename Suggest the following updates to the walkthrough

  1. SettingsFileName should be added to list of needed overrides.
  2. Need to define the assembly name and root namespace in My Project to start with HSPI. This is likely a difference between C++ vs. VB process.
  3. Need to create \bin\HomeSeerSamplePlugin folder to match the app.config probing path
  4. Framework later than 4.6.2 should be an option
jldubz commented 5 years ago

Thank you for your input. We ask that you please be patient with us as we build the documentation out.

Tried to compile the sample solution using Visual Studio 2019. Several BC30002 errors such as Type 'AbstractPlugin' is not defined. During compile I noticed that HomeSeer-Plugin SDK and Newtonsoft.Json were downloaded.

There was unnecessary ..\ in the paths for both of those dependencies. This was fixed in C# Sample Commit 1fef388 VB Sample Commit 18b9bf0

This should be the only thing preventing you from starting the sample plugin and using it. If you have any further issues getting it going, please post an issue in the corresponding GitHub repo. Future issues regarding the sample plugins in this repo will be closed automatically to keep things organized.

C# Sample VB Sample


SettingsFileName should be added to list of needed overrides.

This was documented out of sync with the SDK update. They should match now as of Commit aa8891c


Need to define the assembly name and root namespace in My Project to start with HSPI. This is likely a difference between C++ vs. VB process.

Will look into this and open a separate issue to track it.


Need to create \bin\HomeSeerSamplePlugin folder to match the app.config probing path

You should be able to include a copy task in the project file to copy over any required assemblies to that location similar to the copy task for HTML files

<Copy SourceFiles="@(HtmlFiles)" DestinationFolder="$(OutputPath)\html\$(PluginId)" /> See Microsoft's documentation on the Copy Task for more information. I'll see if I can write something up for you if I can get the time to do it.


Framework later than 4.6.2 should be an option

There are compatibility concerns that we are working over internally. We have no encountered any issues with 4.7.2 in plugins, but we cannot promise support for plugins not running with 4.6.2 at this time. We will be tabling this for now and revisiting it later.

jldubz commented 5 years ago

Need to define the assembly name and root namespace in My Project to start with HSPI. This is likely a difference between C++ vs. VB process.

If you can please follow up with a separate issue on this and some more information, that would be greatly appreciated. Otherwise, there aren't any other immediate, development action items in this issue; so I will be closing it.

Thank you for your feedback.