Standard Plugins

Igor comes with a set of standard plugins. Some of these can be used as-is, and installed using (for example):

   igorSetup addstd copytree

Some are more examples that you should copy and adapt to your own need, or use as inspiration.

Plugins take their name (for use in plugindata, for example) from the name they are installed under (which can be different than the standard name). So you can install multiple independent copies (for example as say and sayInBedroom) and use different plugindata to control each copy of the plugin.

Various plugins should be considered standard to Igor operations and usually installed:

  • ca allows access to the Certificate Authority
  • device allows adding and removing devices
  • user allows adding and removing users
  • systemHealth implements the self-checks and health-checks of Igor
  • user allows managing users: adding new users, changing passwords, etc

ble

Listens to Bluetooth Low Energy advertisements to determine which devices are in range. See the ble readme for details.

buienradar

Stores rain forecast for the coming hour. See buienradar/readme.md for details.

ca

Certificate Authority. Programming interface to the Igor SSL certificate authority that allows https: access to local services (like Igor itself). See ca/readme.md for details.

copytree

Copies subtree src to dst. Both src and dst can be local or remote, allowing mirroring from one Igor to another (or actually between any two REST servers). Optional arguments mimetype and method are available.

device

Low level API to add devices and their capabilities and secret keys, and allow devices to call certain actions. User interface is provided.

dhcp

Queries database of DHCP server on local machine and stores all active dhcp leases. See dhcp/readme.md for details.

fitbit

Retrieves health data from Fitbit devices using the Fitbit cloud API and stores this in sensors/fitbit. See fitbit/readme.md for details.

Note the underscore: the plugin is called fitbit because otherwise it would have a name clash with the underlying Python module it uses.

As of October 2018 this is the first plugin to have a user interface through a setup.html page, it can be used as an example of such. It is also currently the only plugin that implements OAuth2 to retrieve data from external websites.

homey

Example Homey integration. See homey/readme.md for details.

Needs work.

iirfid

Example RFID reader integration. See iirfid/readme.md for details.

iotsaDiscovery

A plugin to discover devices based on the iotsa architecture and configure those devices (install certificates, install Igor capabilities, etc). The NeoClock, Plant and Smartmeter_iotsa devices below are examples of iotsa devices. User interface is provided.

kaku

Turns lights (or other devices) on and off using a KlikAanKlikUit device. See kaku/readme.md for details.

lan

Determines whether a local (or remote) internet service is up and running. See lan/readme.md for details.

lastFileAccess

Determine when a file was last modified or accessed (for example to check when some program was last used).

lcd

Displays messages on an LCD display. See lcd/readme.md for details.

logparse

Incomplete.

neoclock

Driver for NeoClock internet-connected clock. See neoclock/readme.md for details.

netatmo

Driver for NetAtmo weather stations. See netatmo/readme.md for details.

philips

Example of controlling a Philips television. See philips/readme.md for details.

plant

Move an internet-connected plant up and down. See plant/readme.md for details.

say

Speaks messages to the user. See say/readme.md for details.

smartmeter_iotsa

Reads current energy use in the household using a iotsa SmartMeter reader. See smartmeter_iotsa/readme.md for details.

smartmeter_rfduino

Older Bluetooth-based version of smartmeter___iotsa, reads current energy use in the household using a RFDuino-based SmartMeter reader.

systemHealth

Collects error messages from services/*, devices/* and sensors/* and stores these in environment/systemHealth. See systemHealth/readme.md for details.

testPlugin

A Python-based plugin that simply shows all the arguments it has been passed. This can be used as the starting point for a python-based plugin.

timemachine

Checks last time that Apple Time Machine backed up specific machines. See timemachine/readme.md for details.

user

Low-level interface to add and delete users, including capabilities and such, and change passwords. User interface is provided.

watchdog

Reboots the host system in case of problems. See watchdog/readme.md for details.