This document outlines the procedure to package up your plugin so it is available from within the HomeSeer application.
Plugins and their components are contained in a standard zip file. The zip file may be created on any Windows system. The root of the zip file should contain your plugin EXE file and any dependent DLL files and HTML files.
On the target system, the files need to be copied to specific folders, this is accomplished with the file named install.txt. This file instructs HomeSeer on where to copy the included files. Here is the sample plugin install.txt file:
The first and second line copy the plugin EXE file and its's config file to the HomeSeer root folder. Lines 3-5 copy the plugins HTML files to a new folder named "HomeSeerSamplePlugin" which HomeSeer will create in the HTML folder. This folder uses your plugin ID as the name of the folder. This is required.
If your plugin includes any dependent DLL files, they need to be copied to the bin folder. For example, if the sample plugin required a dll called "Newtonsoft.Json.dll", the following line would be added to your install.txt file:
It is recommended that you name the folder in the bin folder with your plugin ID in order to avoid conflicts with other plugins.
In order for your plugin to find your dependent DLL files, make sure you have this path entered in your plugin.exe.config file. For example, using the DLL above, the sample plugin config file would be named "HSPI_HomeSeerSamplePlugin.exe.config" and the contents would be:
Take note of your <probing privatePath> and make sure your path separator is "/". This allows the path to work on both Windows and Linux without providing a separate config file.
Once your plugin is ready for testing it may be published as Beta for users to test. To publish your plugin submit to the plugin developers portal. See the Plugin Portal doc for details.
Install File Format
This section describes the format of the install.txt file.