> For the complete documentation index, see [llms.txt](https://docs.buildings.ability.abb/collection/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buildings.ability.abb/collection/german/verpflichtende-basis/assets/attribute-functions/filters.md).

# Filter

Der Filterdienst bietet eine umfassende Auswahl an Filtern, die auf eingehende Daten angewendet werden können. Diese Filter sollen die Qualität und Relevanz der gespeicherten Daten erhöhen, indem sie nur signifikante Änderungen und wichtige Informationen durchlassen. Daten werden nur 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 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**

Der **Totbandfilter** speichert Werte nur dann, 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 **Epsilon**:

$$∣\text{New value}−\text{Previous value}∣ ≥ \text{Epsilon}$$

**Beispiel:**

* **Toleranz:** 5 %
* **Maximalwert:** 100 °C
* **Mindestwert:** 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-Durchschnitts-Filter**

Der **Filter des gleitenden Durchschnitts** speichert nicht die ursprünglichen Werte, 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 Vorgang 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 **strikt höher** als ein definierter Grenzwert sind. Dies ist ideal zur Ü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 **strikt 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 einen Hoch- und einen Niedriggrenzwert 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 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
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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.buildings.ability.abb/collection/german/verpflichtende-basis/assets/attribute-functions/filters.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
