---
title: "Štatistiky a Info o hodnote"
description: "Štatistiky a Info o hodnote v skripte TapHome: CurrentValueTime, PreviousValue, LastKnownValue, History.Values ukončených období, koľko období sa uchováva, príklady."
url: "https://taphome.com/sk/docs/script/value-info/"
language: sk
lastmod: 2026-11-06
generator: hugo
ai:
  topics: ["scripting-language","variables","statistics","value-info","history"]
  questions: ["Ako použijem štatistiku zariadenia v skripte TapHome?","Ako získam poslednú známu hodnotu zariadenia, ktoré je teraz NaN?","Ako dlho sa hodnota zariadenia nezmenila?","Ako v skripte prečítam včerajšiu hodnotu štatistiky?","Koľko ukončených období štatistika uchováva?","Ako vypočítam úhrn zrážok za posledných 48 hodín z denného úhrnu?"]
---

# Štatistiky a Info o hodnote

Štatistiky a Info o hodnote v skriptoch TapHome: hodnota štatistiky, čas poslednej zmeny, predchádzajúca a posledná známa hodnota a hodnoty ukončených období.

Posledná aktualizácia: 2026-11-06

Okrem samotnej hodnoty zariadenia môže premenná skriptu obsahovať štatistiku zariadenia alebo informácie o hodnote: kedy sa naposledy zmenila, jej predchádzajúcu hodnotu a hodnoty ukončených období. Obe sa vyberajú vo výbere hodnoty zariadenia v editore skriptu.

## Štatistiky

Okrem samotných hodnôt zariadenia ponúka výber hodnoty zariadenia aj jeho štatistiky (sekcia **Štatistiky**): štatistiky, ktoré na zariadení zapol používateľ alebo ktoré poskytuje samo zariadenie, napríklad minimum, maximum, priemer, počet alebo súčet hodnoty za obdobie. Takto vybraná premenná obsahuje hodnotu tejto štatistiky:

- Štatistika typu **Aktuálne obdobie**, napríklad priemer aktuálnej hodiny, sa počíta od začiatku prebiehajúceho obdobia — hodiny, dňa alebo mesiaca — až po súčasnosť.
- Štatistika typu **Obdobie do teraz**, napríklad priemer za posledných 24 hodín, sa počíta v kĺzavom okne zadanej dĺžky, ktoré končí teraz.

```taphome
# Se je vybraná ako hodinový priemer zariadenia Teplota (aktuálne obdobie)
IF Se > 25
    RETURN(1);
END
0;
```

Hodnoty ukončených období nie sú súčasťou samotnej štatistiky; prečítajte ich z [Info o hodnote](https://taphome.com/sk/docs/script/value-info/#value-info) štatistiky.

## Info o hodnote

Vstupné premenné smart rules typu Rovnica, Vzorec a Skript, obmedzujúcej podmienky typu Vzorec a textov notifikácií sa dajú vybrať aj ako Info o hodnote; výber ich ponúka ako **Info o hodnote***názov hodnoty*, a to pre samotnú hodnotu zariadenia aj pre štatistiku typu **Aktuálne obdobie**. Taká premenná neobsahuje číslo, ale informácie o hodnote:

| Vlastnosť | Typ | Obsah |
|---|---|---|
| `Current` | `currentvalueinfo` | Aktuálna a predchádzajúca hodnota, pozri [Aktuálna a predchádzajúca hodnota](https://taphome.com/sk/docs/script/value-info/#current-and-previous-value). Naplnené pri samotnej hodnote zariadenia, pri štatistike `Null`. |
| `History` | `historyvalues` | Hodnoty ukončených období, pozri [História štatistiky](https://taphome.com/sk/docs/script/value-info/#history-of-a-statistic). Naplnené pri štatistike s históriou, pri samotnej hodnote zariadenia `Null`. |

Info o hodnote neobsahuje samotnú hodnotu. Ak chcete pracovať s hodnotou aj s informáciami o nej, pridajte hodnotu zariadenia do skriptu dvakrát: raz ako hodnotu (napríklad `Se`) a raz ako Info o hodnote (napríklad `SeInfo`).

**Dostupnosť** — TapHome Next 2026.1.36599+.

## Aktuálna a predchádzajúca hodnota

`Current` opisuje poslednú zmenu hodnoty:

| Vlastnosť | Typ | Obsah |
|---|---|---|
| `CurrentValueTime` | `datetime` | Kedy sa hodnota zmenila na aktuálnu. Keď zariadenie pošle tú istú hodnotu znova, čas sa neposunie. |
| `PreviousValue` | ľubovoľný | Hodnota pred poslednou zmenou; môže byť `NaN` alebo `Null`. |
| `PreviousValueTime` | `datetime` | Kedy sa hodnota zmenila na `PreviousValue`. |
| `LastKnownValue` | ľubovoľný | Posledná predchádzajúca hodnota, ktorá nebola `NaN` ani `Null`. |
| `LastKnownValueTime` | `datetime` | Kedy sa hodnota zmenila na `LastKnownValue`. |

`Current` je `Null`, kým sa hodnota prvý raz nezmení — pred čítaním jeho vlastností ho overte funkciou `ISNULL`.

**Príklad — okno otvorené dlhšie ako 10 minút**

```taphome
# Wi = okenný kontakt (1 = otvorené), WiInfo = Info o hodnote okenného kontaktu
IF ISNULL(WiInfo.Current)
    RETURN(0);
END
IF Wi = 1 AND WiInfo.Current.CurrentValueTime < DATETIMEADD(NOW(), 0, 0, 0, 0, -10)
    RETURN(1);
END
0;
```

**Príklad — stúpa hodnota, alebo klesá**

```taphome
# Se = Teplota, SeInfo = Info o hodnote zariadenia Teplota
IF ISNULL(SeInfo.Current) OR ISNULL(SeInfo.Current.LastKnownValue)
    RETURN(0);
END
VAR change := Se - SeInfo.Current.LastKnownValue;
IF change > 0
    RETURN(1);
ELSEIF change < 0
    RETURN(-1);
END
0;
```

## História štatistiky

Pri štatistike typu **Aktuálne obdobie** obsahuje `History` hodnoty období, ktoré sa už skončili:

| Vlastnosť | Typ | Obsah |
|---|---|---|
| `Values` | kolekcia | `Values[0]` je posledné ukončené obdobie, `Values[1]` obdobie pred ním a tak ďalej. Obdobie bez dát je `Null`. Prebiehajúce obdobie v nej nie je — to je hodnota samotnej štatistiky. |
| `FirstPeriodStartTime` | `datetime` | Začiatok obdobia `Values[0]`. |

Koľko období sa uchováva, závisí od obdobia štatistiky a od toho, či má zapnutý záznam histórie — prepínač histórie štatistiky na stránke **Štatistiky** zariadenia:

| Obdobie | Uchované obdobia, záznam histórie zapnutý | Uchované obdobia, záznam histórie vypnutý |
|---|---|---|
| 5 minút | 36 (3 hodiny) | 3 |
| 10 minút | 18 (3 hodiny) | 3 |
| 15 minút | 12 (3 hodiny) | 3 |
| 1 hodina | 48 (2 dni) | 3 |
| 3 hodiny | 17 (asi 2 dni) | 3 |
| 1 deň | 35 | 3 |
| 1 mesiac | 25 | 3 |
| 1 rok | 10 | 3 |

Pri každom inom období (1, 2, 3 a 30 minút, 12 hodín, 2 a 3 dni, 1 týždeň, 1 štvrťrok) a pri štatistike typu **Obdobie do teraz** je `History` `Null`. `Values` môže mať menej prvkov, než je počet uchovávaných období, napríklad krátko po zapnutí štatistiky — pred čítaním indexu, ktorý nemusí existovať, overte `LENGTH`.

**Príklad — dnešná spotreba doteraz v porovnaní s celým včerajškom**

```taphome
# En = denný súčet zariadenia Energia (aktuálne obdobie), EnInfo = Info o hodnote tej istej štatistiky
VAR yesterday := GETAT(EnInfo.History.Values, 0);
IF ISNULL(yesterday)
    RETURN(NaN);
END
En - yesterday;
```

**Príklad — priemerná denná spotreba za posledných 7 dní**

```taphome
# EnInfo = Info o hodnote denného súčtu zariadenia Energia (aktuálne obdobie)
AVG(COPY(EnInfo.History.Values, 0, MIN(7, LENGTH(EnInfo.History.Values))));
```

`COPY` vezme prvých 7 dní — `MIN` pokryje históriu kratšiu ako 7 dní, pretože `COPY` za koncom kolekcie je chyba — a `AVG` preskočí dni bez dát. `MIN`, `MAX` a `AVG` preskakujú `Null`, takže celú históriu možno použiť aj priamo:

```taphome
# SeInfo = Info o hodnote hodinového maxima zariadenia Teplota (aktuálne obdobie)
MAX(SeInfo.History.Values);
# Result: the highest temperature of the kept hours
```

**Pozrite aj** — [Premenné a konštanty](https://taphome.com/sk/docs/script/variables/), [MIN, MAX a AVG](https://taphome.com/sk/docs/script/mathematical-functions/#min), [COPY](https://taphome.com/sk/docs/script/text-string-and-byte-array/#copy).
