---
title: "TapHome API"
description: "TapHome-API-PacketParser-Vorlage — Verbindung beliebiger TapHome Core-Geräte mit einem anderen TapHome Core über REST API."
url: "https://taphome.com/de/compatibility/taphome-api/"
language: de
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","gateway","rest-api","cloud","local-network"]
  questions: ["Wie integriert man die TapHome-API-Vorlage mit TapHome?","Welche Gerätetypen unterstützt die TapHome-API-Vorlage?","Wie verbindet man zwei TapHome Cores über die API?","Wie authentifiziert man TapHome API-Anfragen mit einem Bearer-Token?","Was ist der Unterschied zwischen Cloud- und lokalem TapHome API-Zugriff?","Warum gibt die TapHome-API-Vorlage zwischengespeicherte Werte zurück?"]
---

# TapHome API

Kommunikation: Packet Parser → HTTP

- [TapHome API Dokumentation](https://taphome.com/en/support/601227274)

## Integrationsanleitung

Die TapHome-API-Vorlage ist eine PacketParser-HTTP-Vorlage, die die eigene REST API von TapHome Core zurück in TapHome integriert. Dies ermöglicht Core-to-Core-Kommunikation — Geräte, die auf einem TapHome Core freigegeben sind, können als native Geräte auf einem anderen Core gespiegelt werden. Die Vorlage kommuniziert über HTTPS (Cloud über `api.taphome.com:443`) oder HTTP (lokales Netzwerk über `http://{core-ip}/api/...`) mit Bearer-Token-Authentifizierung.

Die Vorlage bietet 15 einzigartige Gerätetypen mit je 15 Instanzen (225 Geräte insgesamt), die Schalter, Dimmer, Sensoren, Zähler, Jalousien, Beleuchtung, Thermostate und mehr abdecken. Jedes Gerät liest und schreibt Werte über die Endpunkte `getDeviceValue` und `setDeviceValue` mit spezifischen `valueTypeId`-Parametern.

## Konfiguration

Die TapHome-API-Vorlage erfordert zwei Konfigurationsparameter:

1. **API-Token** — wird auf dem Quell-Core unter **Einstellungen > Geräte freigeben > TapHome API** generiert. Der Token verwendet ein eigenes Bearer-Format (`Authorization: TapHome {token}`). Es ist jeweils nur ein Token aktiv — das Generieren eines neuen Tokens macht den vorherigen ungültig.

2. **Geräte-ID** — jede Vorlageninstanz wird einer bestimmten Geräte-ID auf dem Quell-Core zugeordnet. Verwenden Sie den Discovery-Endpunkt (`/api/TapHomeApi/v1/discovery`), um alle freigegebenen Geräte mit ihren IDs und unterstützten Werttypen aufzulisten.

Die Vorlage unterstützt zwei Zugriffsmodi mit identischer API-Struktur:

- **Cloud** — `https://api.taphome.com/api/TapHomeApi/v1/` (Internetzugang, funktioniert von überall)
- **Lokales Netzwerk** — `http://{core-ip}/api/TapHomeApi/v1/` (LAN/VPN-Zugang, niedrigere Latenz, erfordert Core 2021.3+)

> [!TIP]
> Der lokale Netzwerkzugang eliminiert die Internetabhängigkeit und reduziert die Latenz. Weisen Sie dem Quell-Core eine statische IP oder DHCP-Reservierung zu, da TapHome Core kein mDNS-Discovery unterstützt.

## Gerätefunktionen

Die Vorlage deckt 15 Gerätetypen ab. Jeder Typ verwendet spezifische ValueType-IDs zum Lesen und Schreiben des Gerätestatus über die JSON-Antwort der API (`$.values[?(@.valueTypeId == N)].value`).

### Schalten und Ausgangssteuerung

- **Switch** — binäres Ein/Aus über ValueType 48 (SwitchState). Liest und schreibt `1` (EIN) oder `0` (AUS).
- **Analog Output** — stufenloser Pegel 0–100 % über ValueType 42 (AnalogOutputValue). Wird für Dimmer, Ventilantriebe oder beliebige analoge Ausgangsgeräte verwendet.
- **Multi-Value Switch** — numerischer Moduswahlschalter mit Werten 0–9 über ValueType 49. Wird benutzerdefinierten Zuständen für die Steuerung von Geräten mit mehreren Modi zugeordnet.

### Sensoren und Messung

- **Analog Input** — generischer numerischer Eingang über ValueType 55 (AnalogInputValue). Nur lesen.
- **Temperature Sensor** — Temperatur (°C) über ValueType 5 (RealTemperature) und Luftfeuchtigkeit (%) über ValueType 3. Nur lesen, Abfrageintervall 15 Sekunden.
- **Brightness Sensor** — Umgebungshelligkeit (Lux) über ValueType 2. Nur lesen, Abfrageintervall 15 Sekunden.
- **Wind Speed Sensor** — Windgeschwindigkeit (m/s) über ValueType 14. Nur lesen, Abfrageintervall 15 Sekunden.
- **Electricity Meter** — kumulativer Energieverbrauch (kWh) über ValueType 59 und momentane Leistungsaufnahme (kW) über ValueType 60. Nur lesen, Abfrageintervall 15 Sekunden.
- **Reed Contact** — binärer Offen/Geschlossen-Status über ValueType 44. Gibt `1` (Offen) oder `0` (Geschlossen) zurück. Nur lesen.

### Beleuchtung

- **Dual White Light** — Helligkeit (%) über ValueType 65 (HueBrightness) und korrelierte Farbtemperatur über ValueType 89 (CCT).
- **RGB Light** — volle HSB-Farbsteuerung: Farbton (0–360°) über ValueType 40, Sättigung (0–100 %) über ValueType 41, Helligkeit über ValueType 65 und CCT über ValueType 89.

### Klima und Beschattung

- **Thermostat** — liest aktuelle Temperatur (ValueType 5), Luftfeuchtigkeit (ValueType 3) und steuert den Temperatur-Sollwert (ValueType 6).
- **Blind** — Positionspegel (%) über ValueType 46 (BlindsLevel) und Lamellenneigungswinkel über ValueType 10 (BlindsSlope).
- **Slide** — Positionspegel (%) über ValueType 46 (BlindsLevel). Teilt denselben ValueType wie Blind, jedoch ohne Neigungssteuerung.

### Allgemein

- **Variable** — universelle numerische Variable über ValueType 62 (VariableState). Kann jeden benutzerdefinierten Wert in TapHome darstellen.

### Servicediagnose

Das Modul stellt ein Serviceattribut bereit — **Devices** — das alle freigegebenen Geräte mit ihren IDs und Typen durch Aufruf des Endpunkts `/api/TapHomeApi/v1/discovery` auflistet.

Sensorgeräte (Brightness, Variable, Wind Speed) enthalten ein zusätzliches Serviceattribut auf Geräteebene — **Value Types** — das alle verfügbaren ValueType-IDs und -Namen für das jeweilige Gerät auflistet.

### Weitere Funktionen

Die TapHome API stellt auch mehrere ValueTypes auf Systemebene bereit, die von der Vorlage derzeit nicht abgefragt werden: Device Status (ID 7) für den Gerätezustand, Operation Mode (ID 22) und Manual Timeout (ID 23) für die Steuerung des Manuell-/Automatik-Modus. Es existieren Sollwert-Varianten für Analog Output (ID 67), Hue Brightness (ID 68) und Multi-Value Switch (ID 71) sowie ein Blinds Is Moving-Indikator (ID 66). Die Discovery- und Location-Endpunkte liefern Diagnoseinformationen über den Core. Webhook-Push-Benachrichtigungen (Drosselung 300 ms) bieten eine Echtzeit-Alternative zur Abfrage. Diese Funktionen können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### API gibt 401 Unauthorized zurück

1. Überprüfen Sie, ob der Token korrekt ist und nicht neu generiert wurde — das Generieren eines neuen Tokens macht alle vorherigen Tokens ungültig
2. Prüfen Sie das Format des Autorisierungs-Headers: `Authorization: TapHome {token}` (beachten Sie das Präfix `TapHome` statt `Bearer`)
3. Stellen Sie sicher, dass der Token zur richtigen Core-Lokation gehört

### API gibt 403 Forbidden zurück

Das angeforderte Gerät ist nicht über die TapHome API freigegeben. Navigieren Sie auf dem Quell-Core zu **Einstellungen > Geräte freigeben > TapHome API** und überprüfen Sie, ob das Gerät aufgelistet ist.

### Zwischengespeicherte oder veraltete Werte

Die API begrenzt die Häufigkeit von `getDeviceValue`-Anfragen auf 500 ms-Intervalle. Schnellere Anfragen können zwischengespeicherte Werte zurückgeben. Vergleichen Sie das `timestamp`-Feld in der Antwort — identische Zeitstempel weisen auf zwischengespeicherte Daten hin. Erhöhen Sie das Abfrageintervall auf mindestens 1 Sekunde.

### Schreibanfragen geben HTTP 503 zurück

Der Endpunkt `setDeviceValue` gibt 503 (Service Unavailable) zurück, wenn er häufiger als alle 500 ms aufgerufen wird. Verteilen Sie die Schreibanfragen mit ausreichendem Abstand.

> [!WARNING]
> Die Neugenerierung eines API-Tokens macht das vorherige für diese Schnittstelle ungültig. Wenn ein anderes System das vom Template verwendete Token neu generiert (z. B. während der Einrichtung von Home Assistant), verliert das Template den Zugriff — koordinieren Sie daher die Token-Nutzung über Integrationen hinweg, die sich eine Schnittstelle teilen. Bei älteren Core-Versionen stellt ein Core eine einzige TapHome API-Schnittstelle mit einem aktiven Token bereit; ein neuerer Core (2026.1+) unterstützt mehrere Schnittstelleninstanzen auf einem Core, jede mit ihrem eigenen Token, sodass separate Integrationen separate Token verwenden können.

## Verfügbare Geräte 225

Diese Geräte erscheinen nach dem Import in TapHome.

TapHome API Modul

Serviceattribute

|        |
|--------|
| Geräte |

Benutzerdefinierte Variablen

|                      |                                                                                                          |
|----------------------|----------------------------------------------------------------------------------------------------------|
| `API_token` (string) | TapHome API Bearer Token zur Authentifizierung (in der TapHome App unter Einstellungen → API generieren) |

Serviceattribute

Devices

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/discovery", "GET", "", "Authorization: TapHome " + API_token);
IF response.IsSuccess
    var max := PARSEJSON(response.content, "$.devices[-1:].deviceId");
    var ret := "";
    var i := 0;
    do
        ret := ret + "(" + PARSEJSON(response.content, "$.devices[" + tostring(i) + "].deviceId", true) + ") ";
        ret := ret + PARSEJSON(response.content, "$.devices[" + tostring(i) + "].name", true);
        ret := ret + " - " + PARSEJSON(response.content, "$.devices[" + tostring(i) + "].type", true);
        ret := ret + "\n";
        i := i + 1;
    loop while i < max
    
    RETURN(ret);
END
```

Analogeingang (1) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (1) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (1) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (1) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (1) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (1) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (1) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (1) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (1) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (1) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (1) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (1) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (1) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (1) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (1) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (2) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (2) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (2) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (2) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (2) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (2) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (2) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (2) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (2) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (2) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (2) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (2) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (2) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (2) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (2) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (3) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (3) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (3) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (3) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (3) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (3) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (3) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (3) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (3) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (3) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (3) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (3) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (3) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (3) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (3) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (4) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (4) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (4) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (4) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (4) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (4) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (4) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (4) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (4) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (4) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (4) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (4) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (4) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (4) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (4) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (5) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (5) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (5) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (5) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (5) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (5) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (5) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (5) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (5) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (5) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (5) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (5) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (5) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (5) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (5) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (6) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (6) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (6) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (6) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (6) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (6) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (6) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (6) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (6) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (6) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (6) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (6) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (6) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (6) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (6) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (7) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (7) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (7) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (7) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (7) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (7) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (7) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (7) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (7) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (7) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (7) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (7) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (7) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (7) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (7) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (8) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (8) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (8) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (8) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (8) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (8) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (8) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (8) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (8) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (8) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (8) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (8) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (8) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (8) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (8) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (9) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (9) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (9) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (9) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (9) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (9) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (9) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (9) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (9) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (9) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (9) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (9) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (9) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (9) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (9) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (10) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (10) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (10) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (10) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (10) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (10) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (10) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (10) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (10) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (10) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (10) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (10) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (10) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (10) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (10) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (11) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (11) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (11) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (11) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (11) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (11) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (11) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (11) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (11) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (11) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (11) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (11) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (11) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (11) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (11) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (12) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (12) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (12) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (12) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (12) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (12) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (12) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (12) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (12) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (12) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (12) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (12) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (12) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (12) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (12) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (13) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (13) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (13) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (13) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (13) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (13) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (13) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (13) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (13) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (13) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (13) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (13) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (13) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (13) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (13) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (14) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (14) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (14) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (14) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (14) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (14) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (14) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (14) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (14) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (14) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (14) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (14) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (14) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (14) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (14) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogeingang (15) Analogeingang Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Eingangslevel lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 55)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Analogausgang (15) Dimmer Lesen und Schreiben

Stufenloser Ausgangspegel (0–100 %) für Dimmer, Ventilantriebe oder analoge Ausgangsgeräte

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Level lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 42)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Level schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=42&value=" + Le, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schalter (15) Schalter Lesen und Schreiben

numeric json\_path

Werte / Zustände: ON · OFF

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 48)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=48&value=" + St, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Dual White Light (15) Weißlicht Lesen und Schreiben

Helligkeits- und korrelierte Farbtemperatur (CCT) Steuerung für abstimmbare weiße Beleuchtung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Stromzähler (15) Stromzähler Nur lesen

Kumulativer Energieverbrauch (kWh) und momentane Leistungsaufnahme (kW)

numeric Einheit: kWh / kW json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Gesamtverbrauch lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 59)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Bedarf lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 60)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeitssensor (15) Variable Nur lesen

numeric Einheit: lux json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 2)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Variable (15) Variable Lesen und Schreiben

numeric json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 62)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=62&value=" + Va, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

RGB-Licht (15) HSB-Licht Lesen und Schreiben

Volle HSB-Farbsteuerung — Farbton, Sättigung, Helligkeit und korrelierte Farbtemperatur

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Helligkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 65)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Helligkeit schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=65&value=" + Hb, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 40)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbton schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=40&value=" + Hd, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 41)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Sättigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=41&value=" + Sa, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 89)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Farbtemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=89&value=" + Ct, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schieber (15) Schieber Lesen und Schreiben

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Windgeschwindigkeitssensor (15) Variable Nur lesen

numeric Einheit: m/s json\_path

Serviceattribute

|           |
|-----------|
| Werttypen |

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 14)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Serviceattribute

Value Types

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
    var ret := "";
    var i := 0;
    do
        if ! isnull(PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true))
            ret := ret + PARSEJSON(response.content, "$.values[" + i + "].valueTypeId", true);
            ret := ret + " - " + PARSEJSON(response.content, "$.values[" + i + "].valueTypeName", true);
            ret := ret + "\n";
        end
        i := i + 1;
    loop while i < 10
    RETURN(ret);
END

```

Reedkontakt (15) Reed-Kontakt Nur lesen

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 44)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatursensor (15) Temperatursensor Nur lesen

Temperatur- (°C) und Feuchtigkeitsmessung (%)

numeric Einheit: °C / % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Thermostat (15) Thermostat Lesen und Schreiben

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Temperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 5)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Luftfeuchtigkeit lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 3)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 6)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Solltemperatur schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=6&value=" + Se, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Mehrwertschalter (15) Mehrwertschalter Lesen und Schreiben

Numerischer Moduswahlschalter mit Werten 0–9 für Mehrfachmodus-Gerätesteuerung

numeric json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Schaltzustand lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 49)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Schaltzustand schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=49&value=" + Mu, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousie (15) Jalousie Lesen und Schreiben

Positionspegel (%) und Lamellenneigungssteuerung für Jalousien und Rollläden

numeric Einheit: % json\_path

Variable: `Id` — TapHome Geräte-ID — auf die ID des Geräts setzen, das Sie steuern möchten (in der TapHome App oder über den /discovery-Endpoint zu finden)

Jalousiestellung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 46)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Jalousiestellung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=46&value=" + Bl, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung lesen

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/getDeviceValue/" + Id, "GET", "", "Authorization: TapHome " + API_token);
IF(response.IsSuccess)
 var value := PARSEJSON(response.content, "$.values[?(@.valueTypeId == 10)].value", true);
 IF ISNULL(value)
 	ADDERROR("Incorrect device type for ID " + Id);
	RETURN(NaN);
 ELSE
 	RETURN(TODOUBLE(value));
 END
ELSE
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

Lamellenneigung schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/taphomeapi/v1/setDeviceValue/" + Id + "?valueTypeId=10&value=" + Bs, "GET", "", "Authorization: TapHome " + API_token);
IF(!response.IsSuccess)
 ADDERROR("Response:" + response.StatusCode + "|" + PARSEJSON(response.content, "$.title") + " - " + PARSEJSON(response.content, "$.detail"));
 RETURN(NaN);
END
```

**Verbindung:** Packet Parser → HTTP

Mögliche Verbesserungen (10)

- Device Status — DeviceStatus (read-only) available on all devices via discovery but not polled by template
- Operation Mode — OperationMode (manual/automatic) — system property visible in getDeviceValue response
- Manual Timeout — ManualTimeout — system property visible in getDeviceValue response
- Analog Output Desired Value — AnalogOutputDesiredValue — separate from actual AnalogOutputValue (42)
- Hue Brightness Desired Value — HueBrightnessDesiredValue — desired vs actual brightness for lighting
- Multi-Value Switch Desired State — MultiValueSwitchDesiredState — desired vs actual state for MVS
- Blinds Is Moving — BlindsIsMoving — motion detection for blind/slide devices
- Device Discovery — Full device list with supported value types — available via module SA but not per-device
- Location Info — Core location metadata and connectivity status
- Webhook Push Notifications — Real-time state change notifications via HTTP POST — 300ms throttle, alternative to polling

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard                               |
|----------------------|----------------------------------------|
| token                | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` |

## Quellen

- TapHome API Official Documentation
  
  [taphome.com](https://taphome.com/en/support/601227274) 2026-03-28
- TapHome HA Integration — ValueType Reference
  
  [github.com](https://github.com/martindybal/taphome-homeassistant/blob/development/taphome_sdk/value_type.py) 2026-03-28
- TapHome HA Integration — API Client Implementation
  
  [github.com](https://github.com/martindybal/taphome-homeassistant/blob/development/taphome_sdk/taphome_api.py) 2026-03-28

## Verwandte Dokumentation

- [Packet-Parser-Integration](https://taphome.com/de/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)

