---
title: "Statistiken und Wertinfo"
description: "Statistiken und Wertinfo im TapHome-Skript: CurrentValueTime, PreviousValue, LastKnownValue, History.Values abgeschlossener Zeiträume, wie viele Zeiträume erhalten bleiben, Beispiele."
url: "https://taphome.com/de/docs/script/value-info/"
language: de
lastmod: 2026-11-06
generator: hugo
ai:
  topics: ["scripting-language","variables","statistics","value-info","history"]
  questions: ["Wie verwende ich eine Statistik eines Geräts in einem TapHome-Skript?","Wie erhalte ich den letzten bekannten Wert eines Geräts, das jetzt NaN liefert?","Wie lange hat sich ein Gerätewert nicht geändert?","Wie lese ich in einem Skript den gestrigen Wert einer Statistik?","Wie viele abgeschlossene Zeiträume behält eine Statistik?","Wie summiere ich den Niederschlag der letzten 48 Stunden aus einer täglichen Niederschlagsstatistik?"]
---

# Statistiken und Wertinfo

Statistiken und Wertinfo in TapHome-Skripten: der Wert einer Statistik, der Zeitpunkt der letzten Änderung, der vorherige und der letzte bekannte Wert und die Werte abgeschlossener Zeiträume.

Zuletzt aktualisiert: 2026-11-06

Außer dem reinen Wert eines Geräts kann eine Skriptvariable eine Statistik des Geräts enthalten oder Informationen über einen Wert: wann er sich zuletzt geändert hat, seinen vorherigen Wert und die Werte abgeschlossener Zeiträume. Beides wird in der Auswahl der Gerätewerte im Skripteditor gewählt.

## Statistiken

Außer den reinen Gerätewerten bietet die Auswahl der Gerätewerte auch die Statistiken des Geräts an (Abschnitt **Statistiken**): die Statistiken, die der Benutzer am Gerät aktiviert hat oder die das Gerät selbst bereitstellt, zum Beispiel Minimum, Maximum, Durchschnitt, Anzahl oder Summe eines Werts über einen Zeitraum. Eine so ausgewählte Variable enthält den Wert dieser Statistik:

- Eine Statistik vom Typ **Aktueller Zeitraum**, zum Beispiel der Durchschnitt der aktuellen Stunde, wird vom Beginn des laufenden Zeitraums — der Stunde, des Tages oder des Monats — bis jetzt berechnet.
- Eine Statistik vom Typ **Zeitraum bis jetzt**, zum Beispiel der Durchschnitt der letzten 24 Stunden, wird über ein gleitendes Fenster der angegebenen Länge berechnet, das jetzt endet.

```taphome
# Se wurde als Stundendurchschnitt von Temperatur ausgewählt (aktueller Zeitraum)
IF Se > 25
    RETURN(1);
END
0;
```

Die Werte abgeschlossener Zeiträume sind nicht Teil der Statistik selbst; lesen Sie sie aus der [Wertinfo](https://taphome.com/de/docs/script/value-info/#value-info) der Statistik.

## Wertinfo

Eingangsvariablen der smart rules Gleichung, Formel und Skript, der Begrenzungsbedingung Formel und der Benachrichtigungstexte können auch als Wertinfo ausgewählt werden; die Auswahl zeigt sie als **Wertinfo von***Name des Werts*, sowohl für einen reinen Gerätewert als auch für eine Statistik vom Typ **Aktueller Zeitraum**. Eine solche Variable enthält keine Zahl, sondern Informationen über den Wert:

| Eigenschaft | Typ | Inhalt |
|---|---|---|
| `Current` | `currentvalueinfo` | Der aktuelle und der vorherige Wert, siehe [Aktueller und vorheriger Wert](https://taphome.com/de/docs/script/value-info/#current-and-previous-value). Gefüllt bei einem reinen Gerätewert, `Null` bei einer Statistik. |
| `History` | `historyvalues` | Werte der abgeschlossenen Zeiträume, siehe [Verlauf einer Statistik](https://taphome.com/de/docs/script/value-info/#history-of-a-statistic). Gefüllt bei einer Statistik mit Verlauf, `Null` bei einem reinen Gerätewert. |

Die Wertinfo enthält nicht den Wert selbst. Um mit dem Wert und seinen Informationen zusammen zu arbeiten, fügen Sie den Gerätewert zweimal zum Skript hinzu: einmal als Wert (zum Beispiel `Se`) und einmal als Wertinfo (zum Beispiel `SeInfo`).

**Verfügbar** — TapHome Next 2026.1.36599+.

## Aktueller und vorheriger Wert

`Current` beschreibt die letzte Änderung des Werts:

| Eigenschaft | Typ | Inhalt |
|---|---|---|
| `CurrentValueTime` | `datetime` | Wann sich der Wert auf seinen aktuellen Wert geändert hat. Sendet das Gerät denselben Wert erneut, verschiebt sich der Zeitpunkt nicht. |
| `PreviousValue` | beliebig | Der Wert vor der letzten Änderung; er kann `NaN` oder `Null` sein. |
| `PreviousValueTime` | `datetime` | Wann sich der Wert auf `PreviousValue` geändert hat. |
| `LastKnownValue` | beliebig | Der jüngste vorherige Wert, der weder `NaN` noch `Null` war. |
| `LastKnownValueTime` | `datetime` | Wann sich der Wert auf `LastKnownValue` geändert hat. |

`Current` ist `Null`, bis sich der Wert zum ersten Mal ändert — prüfen Sie es mit `ISNULL`, bevor Sie seine Eigenschaften lesen.

**Beispiel — ein Fenster, das länger als 10 Minuten offen ist**

```taphome
# Wi = Fensterkontakt (1 = offen), WiInfo = Wertinfo des Fensterkontakts
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;
```

**Beispiel — steigt oder fällt der Wert**

```taphome
# Se = Temperatur, SeInfo = Wertinfo von Temperatur
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;
```

## Verlauf einer Statistik

Bei einer Statistik vom Typ **Aktueller Zeitraum** enthält `History` die Werte der bereits abgeschlossenen Zeiträume:

| Eigenschaft | Typ | Inhalt |
|---|---|---|
| `Values` | Sammlung | `Values[0]` ist der letzte abgeschlossene Zeitraum, `Values[1]` der Zeitraum davor und so weiter. Ein Zeitraum ohne Daten ist `Null`. Der laufende Zeitraum ist nicht enthalten — er ist der Wert der Statistik selbst. |
| `FirstPeriodStartTime` | `datetime` | Beginn des Zeitraums von `Values[0]`. |

Wie viele Zeiträume erhalten bleiben, hängt vom Zeitraum der Statistik ab und davon, ob für sie die Verlaufsaufzeichnung aktiviert ist — der Verlaufsschalter der Statistik auf der Seite **Statistiken** des Geräts:

| Zeitraum | Erhaltene Zeiträume, Verlaufsaufzeichnung ein | Erhaltene Zeiträume, Verlaufsaufzeichnung aus |
|---|---|---|
| 5 Minuten | 36 (3 Stunden) | 3 |
| 10 Minuten | 18 (3 Stunden) | 3 |
| 15 Minuten | 12 (3 Stunden) | 3 |
| 1 Stunde | 48 (2 Tage) | 3 |
| 3 Stunden | 17 (etwa 2 Tage) | 3 |
| 1 Tag | 35 | 3 |
| 1 Monat | 25 | 3 |
| 1 Jahr | 10 | 3 |

Bei jedem anderen Zeitraum (1, 2, 3 und 30 Minuten, 12 Stunden, 2 und 3 Tage, 1 Woche, 1 Quartal) und bei einer Statistik vom Typ **Zeitraum bis jetzt** ist `History` `Null`. `Values` kann kürzer sein als die Anzahl der erhaltenen Zeiträume, zum Beispiel kurz nach dem Aktivieren der Statistik — prüfen Sie `LENGTH`, bevor Sie einen Index lesen, der möglicherweise nicht existiert.

**Beispiel — der heutige Verbrauch bis jetzt im Vergleich zum ganzen gestrigen Tag**

```taphome
# En = Tagessumme von Energie (aktueller Zeitraum), EnInfo = Wertinfo derselben Statistik
VAR yesterday := GETAT(EnInfo.History.Values, 0);
IF ISNULL(yesterday)
    RETURN(NaN);
END
En - yesterday;
```

**Beispiel — durchschnittlicher Tagesverbrauch der letzten 7 Tage**

```taphome
# EnInfo = Wertinfo der Tagessumme von Energie (aktueller Zeitraum)
AVG(COPY(EnInfo.History.Values, 0, MIN(7, LENGTH(EnInfo.History.Values))));
```

`COPY` nimmt die ersten 7 Tage — `MIN` deckt einen Verlauf ab, der kürzer als 7 Tage ist, denn `COPY` über das Ende der Sammlung hinaus ist ein Fehler — und `AVG` überspringt die Tage ohne Daten. `MIN`, `MAX` und `AVG` überspringen `Null`, sodass ein ganzer Verlauf auch direkt verwendet werden kann:

```taphome
# SeInfo = Wertinfo des Stundenmaximums von Temperatur (aktueller Zeitraum)
MAX(SeInfo.History.Values);
# Result: the highest temperature of the kept hours
```

**Siehe auch** — [Variablen und Konstanten](https://taphome.com/de/docs/script/variables/), [MIN, MAX und AVG](https://taphome.com/de/docs/script/mathematical-functions/#min), [COPY](https://taphome.com/de/docs/script/text-string-and-byte-array/#copy).
