Majordom offers a simple plugin system. Plugins are Python modules (i.e. files) that have to be located in the ‘plugins’ directory and that provide your install of Majordom with new functionalities. Plugins are loaded at start but they may as well be dynamically loaded at runtime in future versions of Majordom (Python offers natively the possibility to import modules at runtime).
They behave like actual drivers, but inside Majordom. For instance, the plugins.arduino_radio driver enables the communication with the arduino hardware used as a 433 MHz radio modem.
They provide the system with new blocks to be used in the scenarios. For the moment, the only automation plugin available is the plugins.base_blocks plugin. It gathers some examples of possible blocks.
They allow Majordom to communicate with other systems. For instance, the plugins.http_interface makes a (for the moment) simplistic http interface available, so that, for instance, a tablet app can access and modify the system.
For the moment, the four following plugins are available.