[comment]: # ({2e2a1a06-1910d8fa})
#8 Voorspellingsfuncties

Alle hier vermelde functies worden ondersteund in:

- [Trigger-expressies](/manual/config/triggers/expression)
- [Berekende items](/manual/config/items/itemtypes/berekend)

Enkele algemene opmerkingen over functieparameters:

- Functieparameters worden gescheiden door een komma
- Optionele functieparameters (of parameterdelen) worden aangegeven met:
    `<` `>`
- Functiespecifieke parameters worden bij elke functie beschreven
- `/host/key` en `(sec|#num)<:time shift>` parameters mogen nooit . zijn
    geciteerd

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

[comment]: # ({4d343eb8-4d343eb8})
##### Algemene parameters

- `/host/key` is een algemene verplichte eerste parameter voor de functies
    verwijzend naar de geschiedenis van het hostitem
- `(sec|#num)<:time shift>` is een gebruikelijke tweede parameter voor de
    functies die verwijzen naar de geschiedenis van het hostitem, waarbij:
    - **sec** - maximum [evaluatie
        periode](/manual/config/triggers#evaluation_period) in seconden
        (tijd [achtervoegsels](/manual/appendix/suffixes) kan worden gebruikt), of
    - **\#num** - maximum [evaluatie
        bereik](/manual/config/triggers#evaluation_period) in de laatste
        verzamelde waarden (indien voorafgegaan door een hekje)
    - **tijdverschuiving** (optioneel) maakt het mogelijk om het evaluatiepunt te verplaatsen
        terug in de tijd. Bekijk meer
        details](/manual/config/triggers/expression#time_shift) aan
        tijdverschuiving aangeven.

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

[comment]: # ({82cd0adc-e6aa7a7c})
#### Voorspellingsfuncties

|FUNCTIE|<|<|
|--|--|--|
|**Beschrijving**|**Functiespecifieke parameters**|**Opmerkingen**|
|**voorspelling** (/host/key,(sec\|\#num)<:time shift>,time,<fit>,<mode>)|<|<|
|Toekomstige waarde, max, min, delta of gemiddelde van het item.|Zie [algemene parameters](#common-parameters).<br><br>**tijd** - prognosehorizon in seconden (tijdsuffixen kunnen worden gebruikt ); negatieve waarden worden ondersteund<br><br>**fit** (optioneel; moet dubbele aanhalingstekens zijn) - functie die wordt gebruikt om historische gegevens te passen<br><br>Ondersteunde 'fits':<br>*linear* - lineair functie<br>*polynoomN* - polynoom van graad N (1 <= N <= 6)<br>*exponentiële* - exponentiële functie<br>*logaritmische* - logaritmische functie<br>*macht* - machtsfunctie<br ><br>Let op:<br>*linear* is standaard, *polynomial1* is gelijk aan *lineair*<br><br>**mode** (optioneel; moet dubbele aanhalingstekens zijn) - gevraagde uitvoer<br ><br>Ondersteunde `modes`:<br>*value* - waarde (standaard)<br>*max* - maximum<br>*min* - minimum<br>*delta* - *max*-*min* <br>*avg* - gemiddelde<br><br>Let op:<br>*value* schat de itemwaarde op het moment `nu` + `tijd`<br>*max*, *min*, *delta* en *avg* de schatting van de itemwaarde onderzoeken op het interval tussen 'nu' en 'nu' + 'tijd'|Ondersteunde waardetypen: float, int<br><br>Als de te retourneren waarde groter is dan 1.7976931348623157E+308 of minder dan -1.7976931348623157E+308, retourwaarde wordt bijgesneden tot 1.79769313486231 57E+308 of -1.7976931348623157E+308 dienovereenkomstig.<br><br>Wordt alleen niet ondersteund bij misbruik in expressie (verkeerd itemtype, ongeldige parameters), anders wordt -1 geretourneerd in geval van fouten.<br><br>Voorbeelden: <br>=> **voorspelling**(/host/key,**\#10**,**1u**) → voorspelling itemwaarde in één uur op basis van de laatste 10 waarden<br>=> ** forecast**(/host/key,**1u**,**30m**) → voorspelling itemwaarde in 30 minuten op basis van gegevens van het afgelopen uur<br>=> **forecast**(/host/key, **1u:nu-1d**,**12u**) → verwachte itemwaarde in 12 uur op basis van één uur een dag geleden<br>=> **prognose**(/host/key,**1u* *,**10m**,"exponentieel") → voorspelling itemwaarde in 10 minuten op basis van de gegevens van het afgelopen uur en exponentiële functie<br>=> **voorspelling**(/host/key,**1u**, **2u**,"polynomial3","max") → voorspel de maximale waarde die het item in de komende twee uur kan bereiken op basis van gegevens van het afgelopen uur en kubieke (derdegraads) polynoom<br>=> **voorspelling** (/host/key,**\#2**,**-20m**) → schat de waarde van het item 20 minuten geleden op basis van de laatste twee waarden (t dit kan nauwkeuriger zijn dan het gebruik van last(), vooral als het item zelden wordt bijgewerkt, bijvoorbeeld een keer per uur)<br><br>Zie ook aanvullende informatie over [predictive trigger-functies](/manual/config/triggers/prediction) .|
|**timeleft** (/host/key,(sec\|\#num)<:time shift>,threshold,<fit>)|<|<|
|Tijd in seconden die nodig is voor een item om een opgegeven drempel te bereiken.|Zie [algemene parameters](#common-parameters).<br><br>**drempel** - te bereiken waarde ([eenheidsachtervoegsels](/manual) /appendix/suffixes) kan worden gebruikt)<br><br>**fit** (optioneel; moet dubbele aanhalingstekens zijn) - zie forecast()|Ondersteunde waardetypen: float, int<br><br>If value te retourneren is groter dan 1.7976931348623157E+308, retourwaarde wordt bijgesneden tot 1.7976931348623157E+308.<br><br>Retourneert 1.7976931348623157E+308 als de drempel niet kan worden bereikt.<br><br>Wordt alleen niet ondersteund als het wordt misbruikt in de expressie (verkeerd itemtype, ongeldige parameters), geeft anders -1 terug in geval van fouten.<br><br>Voorbeelden:<br>=> **timeleft**(/host/key,**\#10** ,**0**) → tijd totdat de itemwaarde nul bereikt op basis van de laatste 10 waarden<br>=> **timeleft**(/host/key,**1h**,**100**) → tijd totdat de itemwaarde 100 bereikt op basis van de gegevens van het afgelopen uur<br>=> **timeleft**(/host/key,**1h:now-1d**,**100**) → tijd tot het item waarde bereikt 100 op basis van één uur per dag a go<br>=> **timeleft**(/host/key,**1h**,**200**,"polynomial2") → tijd totdat de itemwaarde 200 bereikt op basis van de gegevens van het afgelopen uur en aanname dat het item gedraagt zich als een kwadratische (tweedegraads) polynoom<br>Zie ook aanvullende informatie over [predictive trigger-functies](/manual/config/triggers/prediction).|

[comment]: # ({/82cd0adc-e6aa7a7c})
