Overview
This guide walks you through creating a new input plugin for OM1. Input plugins allow you to integrate various data sources and sensors into your agent.Prerequisites
- Understanding of Python classes and inheritance
- Familiarity with async programming
- Knowledge of the data source you’re integrating
Implementation Steps
Step 1: Create a Provider class (Optional)
If your plugin requires complex initialization or external service integration, create a provider class. Location: /src/providers/your_provider.pyStep 2: Create a new Plugin File
To proceed with a new input plugin integration, create a python file. Location:/src/inputs/plugins/your_plugin.py
Required imports -
Step 3: Implement Your Plugin Class
Step 4: Implement Required Methods
Implement any methods that will be required for the setup. Here are a few examples-Plugin Registration
Automatic Discovery - Plugins are automatically discovered by the system. No manual registration required!How it works:
- The system scans /src/inputs/plugins/ directory
- Uses find_module_with_class() in /src/inputs/init.py
- Finds all classes inheriting from FuserInput
- Uses regex pattern: class (FuserInput)
Requirements for auto-discovery:
- Class must inherit from FuserInput
- File must be in /src/inputs/plugins/ directory
- Use standard class declaration syntax