How to create a package

First, what type of package do you want to create ?

There are several types of packages :

  • Plugins
  • External members

Plugins

Plugin is the main package type in Domogik. It allows you to use some devices (x10 gateway, Zwave stick, ...) or some software (web service, ...) in Domogik.

A plugin is made of :

  • A json file which describes the plugin, the features, ...
  • Some python files.

External members

An external member is a xPL client not linked to Domogik. It can be a product like :

  • The RFXCOM xPL.
  • A sqeezebox.
  • An diy or arduino board with an ethernet shield and a sketch which communicate xPL.
  • A xPL program made outside of Domogik (xpl-perl for example).

To interact with Domogik, some files must be created for an external member :

  • A json file which describes the member and the features of the external member.

Warning

Currently, for each external member you have to create some json and xml files. We will create a generic external member with some common features in order to handle some external members with classic features (temperature, ...). So, people won’t have to create a package for each external client.

Then, how to create a package ?

Before creating the package

  • Check if there is not already an existing (or in development) package for what you want to do.
  • Look into the packages life cycle.

Create the package

../_images/packages_lifecycle.png

Download SVG source file.

  1. Make specification for your package on the wiki. You can create a page wiki.domogik.org/<package type>_<package name>. Example : http://wiki.domogik.org/plugin_ipx800 for the ipx800 plugin.
  2. Start developing the package.
  3. Write the package documentation at the same time.
  4. Write some test cases for the package.
  5. Test your package.
  6. Generate the package and send a request to upload it on a repository.
  7. The package will be reviewed by a Domogik core team member.