> 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-14.2-freezed/dokumentation/weitere-funktionen/attribut-funktionen/filter.md).

# 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**

***

## **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):

$$
\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. 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
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, and the optional `goal` query parameter:

```
GET https://docs.buildings.ability.abb/collection/german-14.2-freezed/dokumentation/weitere-funktionen/attribut-funktionen/filter.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
