# Filter

Der Filterdienst 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 nur signifikante Änderungen und wichtige Informationen durchgelassen werden. Daten werden nur in der Datenbank gespeichert, wenn sie den Filter passiert haben, was bedeutet, dass der Filter nur auf den Wert nach der Berechnung angewendet wird.

Dies stellt sicher, dass nur relevante Datenpunkte erfasst werden, was die Effizienz der Datenverarbeitung und -speicherung erhöht.

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

## Unterstützte Filtertypen

<figure><img src="https://3489494878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9GvUpaatBiReR43XFSMg%2Fuploads%2FRtJZrHDQ8XyKsKtEhIIw%2FFrame%202695.png?alt=media&#x26;token=0c8f8a6c-8b99-4fc2-a6c9-46f242f6de0f" alt=""><figcaption></figcaption></figure>

## **1. Totbandfilter**

Die **Totbandfilter** speichert Werte nur, wenn sich der Wert nach der Berechnung deutlich vom vorherigen unterscheidet. Die Änderung wird durch die folgende Formel definiert:

**Formel:**

$$\text{Epsilon} = \frac{\text{Tolerance}}{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 ist als **Epsilon**:

$$∣\text{New value}−\text{Previous value}∣ ≥ \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, weil die Änderung |21,5 - 20| = 1,5 **< 2.5** nicht ausreichend ist.
  * 23 °C wird gespeichert, weil |23 - 20| = 3 **≥ 2,5**
  * 24,4 °C wird nicht gespeichert, weil |24,4 - 23| = 1,4 **< 2.5**
  * 26 °C wird gespeichert, weil |26 - 23| = 3,0 **≥ 2,5**

***

## **2. Gleitender-Mittelwert-Filter**

Die **Gleitender-Mittelwert-Filter** speichert nicht die Originalwerte, sondern den Durchschnitt einer definierten Anzahl aufeinanderfolgender Werte (Fenstergröße).

**So funktioniert es:**

* Der Filter sammelt Werte innerhalb eines definierten Fensters.
* Nachdem die Fenstergröße erreicht ist, wird der Durchschnitt der Werte berechnet und gespeichert.
* Anschließend wird das Fenster um einen Wert verschoben, und der Prozess wiederholt sich.

**Beispiel:**

* **Fenstergröße:** 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):

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

Durchschnitt der nächsten 3 Werte (18 V, 21 V, 24 V):

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

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

***

## **3. Hochpassfilter**

Der Hochpassfilter speichert nur Werte, die **streng höher** als ein definierter Grenzwert sind. Dies ist ideal für die Überwachung von Grenzwertüberschreitungen.

**Beispiel:**

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

***

## **4. Tiefpassfilter**

Der Tiefpassfilter speichert nur Werte, die **streng niedriger** als ein definierter Grenzwert sind. Dieser Filter ist nützlich, um niedrige Werte zu analysieren oder obere Grenzwerte einzuhalten.

**Beispiel:**

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

***

## **5. Bandpassfilter**

Der Bandpassfilter speichert nur Werte, die **innerhalb eines definierten Bereichs** (Band) liegen. Das Band wird durch eine obere und eine untere Grenze 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 nur Werte, wenn sie **nicht gleich dem vorherigen Wert sind**. Dadurch werden redundante Werte ausgeschlossen und nur Änderungen erfasst.

**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/pflichtbasis/assets/attribute-functions/filters.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.
