# Filter

Der Filter-Service bietet eine umfassende Auswahl an Filtern, die auf eingehende Daten angewendet werden können. Diese Filter sind darauf ausgelegt, die Qualität und Relevanz der gespeicherten Daten zu erhöhen, indem sie nur signifikante Änderungen und wichtige Informationen durchlassen. Daten werden nur dann in der Datenbank gespeichert, wenn sie den Filter passiert haben, was bedeutet, dass der Filter erst nach der Berechnung auf den Wert angewendet wird.

Dies gewährleistet, dass nur relevante Datenpunkte erfasst werden, wodurch die Effizienz der Datenverarbeitung und Speicherung erhöht wird.

{% hint style="info" %}
Filter werden auf den Wert NACH der Berechnung angewendet!
{% endhint %}

## Unterstützte Filtertypen

<figure><img src="/files/oWR93JRitywJPqiIPEJ1" alt=""><figcaption></figcaption></figure>

## **1. Totband-Filter (Deadband)**

Der **Totband-Filter** speichert nur Werte, wenn sich der Wert nach der Berechnung signifikant vom vorherigen unterscheidet. Die Änderung wird durch die folgende Formel definiert:

**Formel:**

$$
\text{Epsilon} = \frac{\text{Toleranz}}{2} \cdot \left(\frac{\text{Max} - \text{Min}}{100}\right)
$$

Ein neuer Wert wird nur gespeichert, wenn die absolute Differenz zum vorherigen Wert größer oder gleich **Epsilon** ist:

$$
∣Neuer Wert−Vorheriger Wert∣ ≥ \text{Epsilon}
$$

**Beispiel:**

* **Toleranz:** 5 %
* **Maximalwert:** 100 °C
* **Minimalwert:** 0 °C
* **Epsilon:**

$$
\text{Epsilon} = \frac{5}{2} \cdot \left(\frac{100 - 0}{100}\right) = 2.5
$$

* **Eingehende Werte:** 20 °C → 21.5 °C → 23 °C → 24.4 °C → 26 °C
* **Ergebnis:**
  * 20 °C wird gespeichert (erster Wert).
  * 21.5 °C wird nicht gespeichert, da die Änderung |21.5 - 20| = 1.5  **< 2.5** nicht ausreicht.
  * 23 °C wird gespeichert, da |23 - 20| = 3  **≥ 2.5**
  * 24.4 °C wird nicht gespeichert, da |24.4 - 23| = 1.4 **< 2.5**
  * 26 °C wird gespeichert, da |26 - 23| = 3.0 **≥ 2.5**&#x20;

***

## **2. Gleitender Durchschnittsfilter (Moving Average)**

Der **Gleitende Durchschnittsfilter** speichert nicht die Originalwerte, sondern den Durchschnitt einer definierten Anzahl von aufeinanderfolgenden Werten (Fenstergrö**ss**e).

**Funktionsweise:**

* Der Filter sammelt Werte innerhalb eines festgelegten Fensters.
* Nach Erreichen der Fenstergrösse wird der Durchschnitt der Werte berechnet und gespeichert.
* Das Fenster wird dann um einen Wert verschoben, und der Prozess wiederholt sich.

**Beispiel:**

* **Fenstergrösse:** 3 Werte
* **Eingehende Werte:** 12 V → 15 V → 18 V → 21 V → 24 V

**Berechnungen:**

Durchschnitt der ersten 3 Werte (12 V, 15 V, 18 V):&#x20;

$$
\frac{15 + 18 + 21}{3} = 18 , \text{V}
$$

Durchschnitt der nächsten 3 Werte (18 V, 21 V, 24 V):&#x20;

$$
\frac{18 + 21 + 24}{3} = 21 , \text{V}
$$

**Gespeicherte Werte:** 15 V, 18 V, 21 V.

***

## **3. Hi-pass-Filter**

Der Hi-pass-Filter speichert nur Werte, die **strikt höher** als ein festgelegtes Limit sind. Dies ist ideal, um Schwellenwertüberschreitungen zu überwachen.

**Beispiel:**

* **Limit:** 50 kW
* **Eingehende Werte:** 45 kW → 52 kW → 48 kW → 55 kW
* **Gespeicherte Werte:** 52 kW, 55 kW

***

## **4. Low-pass-Filter**

Der Low-pass-Filter speichert nur Werte, die **strikt niedriger** als ein festgelegtes Limit sind. Dieser Filter ist nützlich, um niedrige Werte zu analysieren oder Obergrenzen einzuhalten.

**Beispiel:**

* **Limit:** 30 ppm
* **Eingehende Werte:** 25 ppm → 35 ppm → 20 ppm → 30 ppm
* **Gespeicherte Werte:** 25 ppm, 20 ppm

***

## **5. Band-pass-Filter**

Der Band-pass-Filter speichert nur Werte, die **innerhalb eines definierten Bereichs** (Band) liegen. Das Band wird durch ein Hi- und ein Low-Limit bestimmt.

**Beispiel:**

* **Band:** 10 bis 20 V
* **Eingehende Werte:** 9 V → 15 V → 25 V → 18 V
* **Gespeicherte Werte:** 15 V, 18 V

***

## **6. OnChange-Filter**

Der OnChange-Filter speichert Werte nur dann, wenn diese **nicht gleich dem vorherigen Wert** sind. Dadurch werden redundante Werte ausgeschlossen, und nur Änderungen werden aufgezeichnet.

**Beispiel:**

* **Eingehende Werte:** 100 l/h → 100 l/h → 105 l/h → 105 l/h → 110 l/h
* **Gespeicherte Werte:** 100 l/h, 105 l/h, 110 l/h


---

# Agent Instructions: 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.buildings.ability.abb/collection/german-14.2-freezed/dokumentation/weitere-funktionen/attribut-funktionen/filter.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.
