> For the complete documentation index, see [llms.txt](https://docs.tricloudnexus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tricloudnexus.io/edge/nexus-modules/data-connector-modules/emulatormodule/tag-config.md).

# Tag Config

This section explains how to configure tags for the **Emulator Module** so it generates emulated measurements for development, demos, and testing. It follows the same overall tag structure used across modules and focuses on the parts relevant to the emulator’s data generation:

### Tag configuration properties used by the Emulator Module

* **ModuleId**\
  Set to `EmulatorModule`.
* **Input.Source**\
  Defines *what pattern* to generate and its parameters. This is the core of the emulator configuration (see syntax below).
* **Input.SamplingRate**\
  How often the emulator produces a measurement for the tag. The default sampling rate is 10 seconds.
* **Input.MeasurementType**\
  Desired output data type. Possible data types are "String", "Analog" or "Digital".

> **Not used/ignored:** `Input.Endpoint` (no external endpoint is needed for the emulator).

### Input.Source syntax

The emulator uses a simple, semicolon-separated syntax:

```
<pattern>[optional_modifiers];param1;param2;...
```

#### Supported patterns

**Sine curve**

Generate a value that oscillates between `min` and `max` over a fixed period (seconds).

```
sinus;<min>;<max>;<periodSeconds>
```

**Example**

```
sinus;0;10;30
```

Generates a sine wave that varies from 0 to 10 with a 30-second period.

***

**Step**

Alternate between a series of numbers for specific durations (seconds), then repeat from the original number again (A).

```
step;<A>;<durationA>;<B>;<durationB>;...
```

**Example**

```
step;-10;5;10;15
```

Holds -10 for 5 seconds, then 10 for 15 seconds, and repeats.

***

**Sequence**

Loop through a fixed list of values in order, repeating when the end is reached.

```
sequence;<v1>;<v2>;<v3>;...;<vn>
```

**Example**

```
sequence;1;2;3;4;5
```

Emits 1, 2, 3, 4, 5, then starts over.

***

**Random**

Emit random numbers within a range.

```
random;<max>
random;<min>;<max>
```

**Examples**

```
random;1000         (range 0..1000)
random;100;200      (range 100..200)
```

***

#### Modifiers

Attach modifiers in square brackets to the pattern name. Currently supported: **variance**.

Adds noise by randomly adding or subtracting a random value each sample:

```
<pattern>[variance=v];...
```

* `v` is an absolute value (same unit as the measurement).
* Final output per sample: `output = base_value ± v` (random positive or negative value, with minimum -v and maximum v).

**Example**

```
sinus[variance=0.3];0;10;30
```

Generates a 0–10 sine wave over 30 s, then adds or subtracts a value between 0 and **0.3** to each produced measurement.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tricloudnexus.io/edge/nexus-modules/data-connector-modules/emulatormodule/tag-config.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
