---
title: Input Processors
slug: litmusedge-v2/input-processors
docTags: 
createdAt: 2024-08-06T18:50:03.006Z
---

The Analytics module makes use of built-in Input processors to retrieve data from a topic, database, or generator.&#x20;

The following describes the input processors that are currently available.



# Database Batch Input Processors

## Database Batch Input Overview

- Generate events by periodically polling specified DB measurements.
- **Filtering:**
  - You could add filtering for queries.
  - List of fields depends on database and measurement, but for device data, standard filters are: datatype, device\_id, is\_device\_status, register\_id, success, tag, topic, value.
- **Examples:**
  - Filter by tag: "tag" = 'tag1'
  - Filter by tag and success: "tag" = 'tag1' AND "success" = 1

## Database Batch Input Parameters

| **Parameters** | **Details**                                                                                  |
| -------------- | -------------------------------------------------------------------------------------------- |
| Database       | Select the name of the database from which data will be retrieved.                           |
| Filter         | Specify the SQL filter for the WHERE part of the query to filter the data from the database. |
| Metric Name    | Name of the metric for TimeSeriesDB polling.&#xD;                                            |
| Period Secs    | Set the polling interval in seconds for retrieving data from the database.                   |
| Typed          | Define the data typed policy for processing the retrieved data.                              |

::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/4ZJjjetAgS2DwcXUEJXs4_image.png" size="80" width="939" height="342" caption="Database Batch Input parameters" position="center" showCaption="true"}

# DataHub Subscribe Processors

## DataHub Subscribe Overview

- Generate events from specified DataHub topic and attach to output.

:::hint{type="info"}
**Note:&#x20;**&#x57;hen using the *DataHub Subscribe* processor, number values in your JSON payload are parsed as `float` datatype.&#x20;

If you're working with processors like [Switch](docId\:iFEZZLAX1G2RsDJnCJSTZ), [Change](docId\:VTr272iE--jAm2GcXxLoD), [JavaScript Processor](docId\:mDJr17s8NmTMI2jH90sm1), or [Tengo Script](docId:2AgbVhjUtmfUNUR_9Z7yw), ensure your input value and data type configurations are correct.
:::

## DataHub Subscribe Parameters

| **Parameters**                                            | **Details**                                                                      |
| --------------------------------------------------------- | -------------------------------------------------------------------------------- |
| Format                                                    | Choose the format of the data, with possible values of json or fb (flat buffer). |
| Topic                                                     | Select the specific device and tag from which data will be collected.            |
| Ignore Failed Data (Litmus Edge version 3.11.0 and later) | Select to ignore data with the output `success=false`.                           |
| Ignore Null Value (Litmus Edge version 3.11.0 and later)  | Select to ignore data with the output `value=null`.                              |



::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/28QEUcDCzQ40HcImkXnuc_image.png" size="90" width="755" height="372" position="center" caption="DataHub Subscribe Input parameters" showCaption="true"}

# Generator Processors

## Generator Overview

- Simple generator for testing, use **t** as the variable.

## Generator Parameters

| **Parameters**       | **Details**                                                                                                                                       |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Amplitude Multiplier | Specify the amplitude multiplier for the generated signal.                                                                                        |
| Formula              | Choose the supported math functions for generating the signal, such as sin, cos, tan, power, sqrt, log, exp, or abs.                              |
| Generator Type       | User defined signal generation or pre-defined generation.                                                                                         |
| Periodicity          | Define the periodicity of the signal in seconds.                                                                                                  |
| Strength             | Specify the strength of the simulated wave approximation, with the maximum value being 10.                                                        |
| Timer Interval       | Set the timer in milliseconds. If no event occurs, this timer is used to keep displaying the output continually. Enter zero to disable the timer. |

::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/2mSWPmCSfLhsuVGQusDDB_image.png" size="80" width="960" height="534" caption="Generator parameters" position="center" showCaption="true"}

# Inject Processors

## Inject Overview

- Generates a new message event based on the provided inputs.

## Inject Parameters

| **Parameters**       | **Details**                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Inject Field         | This parameter specifies the name of the field in the message where the data will be injected.<br />&#xD;          |
| Inject Value Type    | This defines the type of value being injected. Options include String, Integer, Boolean, etc.                      |
| Injected Value       | This is the actual value that will be injected into the specified field.                                           |
| Timing Mode          | This parameter controls when the message injection occurs. Options include **once&#x20;**&#x61;nd **interval**.    |
| Timer Interval Type  | If you're using a timed injection, this parameter defines the type of interval (e.g., seconds, minutes, or hours). |
| Timer Interval Value | This specifies the duration for the timer interval.                                                                |

::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/Ymm1SSRzFgnh98hW4zyKg_image.png" size="80" width="568" height="391" position="center" showCaption="false"}

