---
title: "Statistika i Info vrijednosti"
description: "Statistika i Info vrijednosti u skripti TapHome: CurrentValueTime, PreviousValue, LastKnownValue, History.Values završenih razdoblja, koliko se razdoblja čuva, primjeri."
url: "https://taphome.com/hr/docs/script/value-info/"
language: hr
lastmod: 2026-11-06
generator: hugo
ai:
  topics: ["scripting-language","variables","statistics","value-info","history"]
  questions: ["Kako u skripti TapHome koristiti statistiku uređaja?","Kako dobiti posljednju poznatu vrijednost uređaja koji sada ima NaN?","Koliko se dugo vrijednost uređaja nije promijenila?","Kako u skripti pročitati jučerašnju vrijednost statistike?","Koliko završenih razdoblja statistika čuva?","Kako zbrojiti oborine u posljednjih 48 sati iz dnevne statistike oborina?"]
---

# Statistika i Info vrijednosti

Statistika i Info vrijednosti u skriptama TapHome: vrijednost statistike, vrijeme posljednje promjene, prethodna i posljednja poznata vrijednost te vrijednosti završenih razdoblja.

Posljednje ažuriranje: 2026-11-06

Osim same vrijednosti uređaja, varijabla skripte može sadržavati statistiku uređaja ili informacije o vrijednosti: kada se posljednji put promijenila, njezinu prethodnu vrijednost i vrijednosti završenih razdoblja. Oboje se odabire u izborniku vrijednosti uređaja u uređivaču skripte.

## Statistika

Osim samih vrijednosti uređaja, izbornik vrijednosti uređaja nudi i statistike uređaja (odjeljak **Statistika**): statistike koje je korisnik uključio na uređaju ili koje daje sam uređaj, na primjer minimum, maksimum, prosjek, broj ili zbroj vrijednosti u razdoblju. Tako odabrana varijabla sadrži vrijednost te statistike:

- Statistika tipa **Tekuće razdoblje**, na primjer prosjek tekućeg sata, računa se od početka razdoblja koje traje — sata, dana ili mjeseca — do sada.
- Statistika tipa **Razdoblje do sada**, na primjer prosjek posljednja 24 sata, računa se u kliznom prozoru zadane duljine koji završava sada.

```taphome
# Se je odabrana kao satni prosjek uređaja Temperatura (tekuće razdoblje)
IF Se > 25
    RETURN(1);
END
0;
```

Vrijednosti završenih razdoblja nisu dio same statistike; pročitajte ih iz [Info vrijednosti](https://taphome.com/hr/docs/script/value-info/#value-info) statistike.

## Info vrijednosti

Ulazne varijable u smart rules Jednadžba, Formula i Skripta, u ograničavajućem uvjetu Formula i u tekstovima obavijesti mogu se odabrati i kao Info vrijednosti; izbornik ih navodi kao **Info vrijednosti***naziv vrijednosti*, i za samu vrijednost uređaja i za statistiku tipa **Tekuće razdoblje**. Takva varijabla ne sadrži broj, nego informacije o vrijednosti:

| Svojstvo | Tip | Sadržaj |
|---|---|---|
| `Current` | `currentvalueinfo` | Trenutačna i prethodna vrijednost, vidi [Trenutačna i prethodna vrijednost](https://taphome.com/hr/docs/script/value-info/#current-and-previous-value). Popunjeno za samu vrijednost uređaja, `Null` za statistiku. |
| `History` | `historyvalues` | Vrijednosti završenih razdoblja, vidi [Povijest statistike](https://taphome.com/hr/docs/script/value-info/#history-of-a-statistic). Popunjeno za statistiku s poviješću, `Null` za samu vrijednost uređaja. |

Info vrijednosti ne sadrži samu vrijednost. Da biste radili s vrijednošću i informacijama o njoj zajedno, dodajte vrijednost uređaja u skriptu dvaput: jednom kao vrijednost (na primjer `Se`) i jednom kao Info vrijednosti (na primjer `SeInfo`).

**Dostupno** — TapHome Next 2026.1.36599+.

## Trenutačna i prethodna vrijednost

`Current` opisuje posljednju promjenu vrijednosti:

| Svojstvo | Tip | Sadržaj |
|---|---|---|
| `CurrentValueTime` | `datetime` | Kada se vrijednost promijenila na trenutačnu. Kad uređaj ponovno pošalje istu vrijednost, vrijeme se ne pomiče. |
| `PreviousValue` | bilo koji | Vrijednost prije posljednje promjene; može biti `NaN` ili `Null`. |
| `PreviousValueTime` | `datetime` | Kada se vrijednost promijenila na `PreviousValue`. |
| `LastKnownValue` | bilo koji | Najnovija prethodna vrijednost koja nije bila ni `NaN` ni `Null`. |
| `LastKnownValueTime` | `datetime` | Kada se vrijednost promijenila na `LastKnownValue`. |

`Current` je `Null` dok se vrijednost prvi put ne promijeni — prije čitanja njegovih svojstava provjerite ga funkcijom `ISNULL`.

**Primjer — prozor otvoren dulje od 10 minuta**

```taphome
# Wi = kontakt prozora (1 = otvoreno), WiInfo = Info vrijednosti kontakta prozora
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;
```

**Primjer — raste li vrijednost ili pada**

```taphome
# Se = Temperatura, SeInfo = Info vrijednosti uređaja Temperatura
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;
```

## Povijest statistike

Za statistiku tipa **Tekuće razdoblje** `History` sadrži vrijednosti razdoblja koja su već završila:

| Svojstvo | Tip | Sadržaj |
|---|---|---|
| `Values` | zbirka | `Values[0]` je posljednje završeno razdoblje, `Values[1]` razdoblje prije njega i tako dalje. Razdoblje bez podataka je `Null`. Razdoblje koje traje nije uključeno — ono je vrijednost same statistike. |
| `FirstPeriodStartTime` | `datetime` | Početak razdoblja `Values[0]`. |

Koliko se razdoblja čuva, ovisi o razdoblju statistike i o tome je li za nju uključeno bilježenje povijesti — prekidač povijesti statistike na stranici **Statistika** uređaja:

| Razdoblje | Sačuvana razdoblja, bilježenje povijesti uključeno | Sačuvana razdoblja, bilježenje povijesti isključeno |
|---|---|---|
| 5 minuta | 36 (3 sata) | 3 |
| 10 minuta | 18 (3 sata) | 3 |
| 15 minuta | 12 (3 sata) | 3 |
| 1 sat | 48 (2 dana) | 3 |
| 3 sata | 17 (oko 2 dana) | 3 |
| 1 dan | 35 | 3 |
| 1 mjesec | 25 | 3 |
| 1 godina | 10 | 3 |

Za svako drugo razdoblje (1, 2, 3 i 30 minuta, 12 sati, 2 i 3 dana, 1 tjedan, 1 tromjesečje) i za statistiku tipa **Razdoblje do sada** `History` je `Null`. `Values` može biti kraća od broja sačuvanih razdoblja, na primjer ubrzo nakon uključivanja statistike — prije čitanja indeksa koji možda ne postoji provjerite `LENGTH`.

**Primjer — današnja potrošnja do sada u usporedbi s cijelim jučerašnjim danom**

```taphome
# En = dnevni zbroj uređaja Energija (tekuće razdoblje), EnInfo = Info vrijednosti iste statistike
VAR yesterday := GETAT(EnInfo.History.Values, 0);
IF ISNULL(yesterday)
    RETURN(NaN);
END
En - yesterday;
```

**Primjer — prosječna dnevna potrošnja posljednjih 7 dana**

```taphome
# EnInfo = Info vrijednosti dnevnog zbroja uređaja Energija (tekuće razdoblje)
AVG(COPY(EnInfo.History.Values, 0, MIN(7, LENGTH(EnInfo.History.Values))));
```

`COPY` uzima prvih 7 dana — `MIN` pokriva povijest kraću od 7 dana, jer je `COPY` preko kraja zbirke pogreška — a `AVG` preskače dane bez podataka. `MIN`, `MAX` i `AVG` preskaču `Null`, pa se cijela povijest može koristiti i izravno:

```taphome
# SeInfo = Info vrijednosti satnog maksimuma uređaja Temperatura (tekuće razdoblje)
MAX(SeInfo.History.Values);
# Result: the highest temperature of the kept hours
```

**Vidi također** — [Varijable i konstante](https://taphome.com/hr/docs/script/variables/), [MIN, MAX i AVG](https://taphome.com/hr/docs/script/mathematical-functions/#min), [COPY](https://taphome.com/hr/docs/script/text-string-and-byte-array/#copy).
