openmotics / plugins

Repository containing the gateway plugins.
19 stars 25 forks source link

OpenMotics Gateway Plugins

Contents

This repository contains the gateway plugins.

Plugins

Production ready

A plugin is considered production ready when it's been in use in a real-live production setup for quite some time, is stable and has most bugs ironed out. These production ready plugins can be downloaded pre-packaged, see the "Download" section below.

Third party:

In development

Some plugins are still a work in progress. While they might be suitable for daily usage, they might require some more attention or lack decent documentation.

Download

The production ready plugins will be available for direct download via the releases page. Our "latest releases" contain the binary .tgz plugin packages, toghether with their checksum.

When you would like your plugin to be included in these releases, please open an issue.

Contribution

If you'd like to add your own plugin, please take note of the following rules/guidelines:

Don't hesitate to send us pull requests with your own plugins.

Tools

This repository contains a few helper scripts for maintaining plugins:

Packaging

The package.sh script can be used to create a tgz file that can be uploaded to the OpenMotics gateway. It will print the md5sum and the name of the resulting archive file.

Usage: ./package.sh <plugin name>.

Example:

[somebody@computer plugins]$ ./package.sh fibaro
79cfa774148ee56bcbfbd6372f53afa2  fibaro_1.2.3.tgz
[somebody@computer plugins]$

Publishing

The publish.sh script can be used for uploading a plugin that was packaged before. So first, use the package script, then use the publish script.

Usage: ./publish.sh <package> <ip/hostname of openmotics gateway> <username>.

Example:

[somebody@computer plugins]$ ./publish.sh fibaro_1.2.3.tgz 192.168.0.24 john
Enter password:
Publish succeeded
[somebody@computer plugins]$

The gateway interface will reload and after a few seconds, the plugin will be available.

Log watching

The logwatcher.py script can be used to watch (or tail -f if you're used to Linux) the logs of a certain plugin. Please note that plugin names should be the plugin name as stated in the code, not the foldername as with the publish and package scripts. This logwatcher depends on a few python modules (e.g. requests).

Usage: ./logwatcher.py <ip/hostname of openmotics gateway> <username> <plugin name>

Example:

[somebody@computer plugins]$ ./logwatcher.py 192.168.0.24 john InfluxDB
Password:
2016-01-03 10:15:19.430031 - Starting InfluxDB plugin...
2016-01-03 10:15:19.431273 - InfluxDB is enabled
2016-01-03 10:15:19.432826 - Started InfluxDB plugin
2016-01-03 10:16:04.790170 - Output 28 changed to ON
2016-01-03 10:16:04.790435 - Output 28 changed to level 97
2016-01-03 10:16:04.791925 - Output 29 changed to ON
2016-01-03 10:16:04.799517 - Output 30 changed to ON
2016-01-03 10:16:04.811670 - Output 31 changed to ON

Warranty

This repository contains plugins that might not be written by OpenMotics which means we can give no official support on them. However, we'll do our best to help you wherever possible. If you have any problems, please create an issue here in GitHub and mention (@) the creator if known.