[comment]: # attributes: notoc

[comment]: # ({ee75c9cc-2e2a1a06})
# 8 Prädiktive Funktionen

Alle hier aufgeführten Funktionen werden unterstützt in:

-   [Auslöserausdrücken](/manual/config/triggers/expression)
-   [Berechneten Datenpunkten](/manual/config/items/itemtypes/calculated)
-   [Ausdrucksmakros](/manual/config/macros/expression_macros)

Die Funktionen werden ohne zusätzliche Informationen aufgeführt. Klicken Sie auf die Funktion, um die vollständigen Details anzuzeigen.

|Function|Description|
|--|--------|
|[forecast](#forecast)|Der zukünftige Wert, das Maximum, Minimum, Delta oder der Durchschnitt des Datenpunkts.|
|[timeleft](#timeleft)|Die in Sekunden benötigte Zeit, bis ein Datenpunkt den angegebenen Schwellenwert erreicht.|

[comment]: # ({/ee75c9cc-2e2a1a06})

[comment]: # ({645b8a56-4d343eb8})
##### Allgemeine Parameter

-   `/host/key` ist ein gemeinsamer obligatorischer erster Parameter für die Funktionen, die auf den Verlauf von Host-Datenpunkten verweisen
-   `(sec|#num)<:time shift>` ist ein gemeinsamer zweiter Parameter für die Funktionen, die auf den Verlauf von Host-Datenpunkten verweisen, wobei:
    -   **sec** - maximale [Auswertungsperiode](/manual/config/triggers#evaluation-period) in Sekunden (Zeit-[Suffixe](/manual/appendix/suffixes) können verwendet werden), oder
    -   **#num** - maximaler [Auswertungsbereich](/manual/config/triggers#evaluation-period) in den zuletzt erfassten Werten (wenn ein Hash-Zeichen vorangestellt ist)
    -   **time shift** (optional) ermöglicht es, den Auswertungspunkt in der Zeit zurückzuverschieben. Weitere [Details](/manual/config/triggers/expression#time-shift) zur Angabe von time shift finden Sie hier.

[comment]: # ({/645b8a56-4d343eb8})

[comment]: # ({c645f0e4-f3b63bc1})
### Funktionsdetails

Einige allgemeine Hinweise zu Funktionsparametern:

-   Funktionsparameter werden durch ein Komma getrennt
-   Optionale Funktionsparameter (oder Parameterteile) werden durch
    `<` `>` angegeben
-   Funktionsspezifische Parameter werden bei jeder Funktion beschrieben
-   Die Parameter `/host/key` und `(sec|#num)<:time shift>` dürfen niemals
    in Anführungszeichen gesetzt werden

[comment]: # ({/c645f0e4-f3b63bc1})

[comment]: # ({8a873b31-e4452b37})
##### forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>) {#forecast}

Der zukünftige Wert, das Maximum, Minimum, Delta oder der Durchschnitt des Datenpunkts.<br>
Unterstützte Wertetypen: *Float*, *Integer*.

Parameter:

-   Siehe [allgemeine Parameter](#common-parameters);<br>
-   **time** - der Prognosehorizont in Sekunden (Zeitsuffixe können verwendet werden); negative Werte werden unterstützt;<br>
-   **fit** (optional; muss in doppelte Anführungszeichen gesetzt werden) - die Funktion, die zum Anpassen historischer Daten verwendet wird. Unterstützte Anpassungen:<br>*linear* - lineare Funktion (Standard)<br>*polynomialN* - Polynom vom Grad N (1 <= N <= 6)<br>*exponential* - Exponentialfunktion<br>*logarithmic* - logarithmische Funktion<br>*power* - Potenzfunktion<br>Beachten Sie, dass *polynomial1* gleichbedeutend mit *linear* ist;
-   **mode** (optional; muss in doppelte Anführungszeichen gesetzt werden) - die gewünschte Ausgabe. Unterstützte Modi:<br>*value* - Wert (Standard)<br>*max* - Maximum<br>*min* - Minimum<br>*delta* - *max*-*min*<br>*avg* - Durchschnitt<br>Beachten Sie, dass *value* den Datenpunktwert zum Zeitpunkt `now` + `time` schätzt; *max*, *min*, *delta* und *avg* untersuchen die Schätzung des Datenpunktwerts im Intervall zwischen `now` und `now` + `time`.

Kommentare:

-   Wenn der zurückzugebende Wert größer als 1.7976931348623158E+308 oder kleiner als -1.7976931348623158E+308 ist, wird der Rückgabewert entsprechend auf 1.7976931348623158E+308 bzw. -1.7976931348623158E+308 begrenzt;
-   Wird nur dann nicht unterstützt, wenn die Funktion im Ausdruck falsch verwendet wird (falscher Datenpunkttyp, ungültige Parameter); andernfalls wird im Fehlerfall -1 zurückgegeben;
-   Siehe auch zusätzliche Informationen zu [prädiktiven Auslöserfunktionen](/manual/config/triggers/prediction).

Beispiele:

    forecast(/host/key,#10,1h) #prognostiziert den Datenpunktwert in einer Stunde auf Basis der letzten 10 Werte
    forecast(/host/key,1h,30m) #prognostiziert den Datenpunktwert in 30 Minuten auf Basis der Daten der letzten Stunde
    forecast(/host/key,1h:now-1d,12h) #prognostiziert den Datenpunktwert in 12 Stunden auf Basis einer Stunde von vor einem Tag
    forecast(/host/key,1h,10m,"exponential") #prognostiziert den Datenpunktwert in 10 Minuten auf Basis der Daten der letzten Stunde und einer Exponentialfunktion
    forecast(/host/key,1h,2h,"polynomial3","max") #prognostiziert den maximalen Wert, den der Datenpunkt in den nächsten zwei Stunden erreichen kann, auf Basis der Daten der letzten Stunde und eines kubischen Polynoms (dritten Grades)
    forecast(/host/key,#2,-20m) #schätzt den Datenpunktwert vor 20 Minuten auf Basis der letzten zwei Werte (dies kann genauer sein als die Verwendung von last(), insbesondere wenn der Datenpunkt selten aktualisiert wird, z. B. einmal pro Stunde)

[comment]: # ({/8a873b31-e4452b37})

[comment]: # ({834aceba-9b065620})
##### timeleft(/host/key,(sec|#num)<:time shift>,threshold,<fit>) {#timeleft}

Die in Sekunden benötigte Zeit, bis ein Datenpunkt den angegebenen Schwellenwert erreicht.<br>
Unterstützte Wertetypen: *Float*, *Integer*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters);<br>
-   **threshold** - der zu erreichende Wert ([Einheitensuffixe](/manual/appendix/suffixes) können verwendet werden);
-   **fit** (optional; muss in doppelte Anführungszeichen gesetzt werden) - siehe [forecast()](#forecast).

Kommentare:

-   Wenn der zurückzugebende Wert größer als 1.7976931348623158E+308 ist, wird der Rückgabewert auf 1.7976931348623158E+308 begrenzt;
-   Gibt 1.7976931348623158E+308 zurück, wenn der Schwellenwert nicht erreicht werden kann;
-   Wird nur dann nicht unterstützt, wenn die Funktion im Ausdruck falsch verwendet wird (falscher Datenpunkttyp, ungültige Parameter); andernfalls wird im Fehlerfall -1 zurückgegeben;
-   Siehe auch zusätzliche Informationen zu [prädiktiven Auslöserfunktionen](/manual/config/triggers/prediction).

Beispiele:

    timeleft(/host/key,#10,0) #die Zeit, bis der Datenpunktwert auf null sinkt, basierend auf den letzten 10 Werten
    timeleft(/host/key,1h,100) #die Zeit, bis der Datenpunktwert 100 erreicht, basierend auf den Daten der letzten Stunde
    timeleft(/host/key,1h:now-1d,100) #die Zeit, bis der Datenpunktwert 100 erreicht, basierend auf einer Stunde Daten von vor einem Tag
    timeleft(/host/key,1h,200,"polynomial2") #die Zeit, bis der Datenpunktwert 200 erreicht, basierend auf den Daten der letzten Stunde und der Annahme, dass sich der Datenpunkt wie ein quadratisches Polynom (zweiten Grades) verhält

[comment]: # ({/834aceba-9b065620})

[comment]: # ({ba59dd3a-9958c480})
Siehe [alle unterstützten Funktionen](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-9958c480})

