TapHome

TapHome API

Packet Parser → HTTP
Eingereicht von
Zuletzt aktualisiert: 03. 2026

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:

  • Cloudhttps://api.taphome.com/api/TapHomeApi/v1/ (Internetzugang, funktioniert von überall)
  • Lokales Netzwerkhttp://{core-ip}/api/TapHomeApi/v1/ (LAN/VPN-Zugang, niedrigere Latenz, erfordert Core 2021.3+)

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.

Pro Core ist jeweils nur ein API-Token aktiv. Wenn ein anderes System den Token regeneriert (z. B. während der Home Assistant-Einrichtung), verliert die TapHome-Vorlage den Zugriff. Koordinieren Sie die Token-Nutzung über alle Integrationen hinweg.

Verfügbare Geräte

TapHome API Modul
Serviceattribute
Geräte
Benutzerdefinierte Variablen
API_token (string)TapHome API bearer token for authentication (generate in TapHome app under Settings → API)

TapHome API

Serviceattribute
Devices
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (1)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (1)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (1)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (1)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (1)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (1)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (1)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (1)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (1)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (1)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (1)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (1)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (1)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (1)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (1)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (2)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (2)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (2)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (2)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (2)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (2)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (2)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (2)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (2)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (2)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (2)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (2)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (2)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (2)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (2)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (3)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (3)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (3)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (3)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (3)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (3)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (3)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (3)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (3)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (3)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (3)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (3)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (3)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (3)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (3)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (4)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (4)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (4)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (4)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (4)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (4)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (4)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (4)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (4)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (4)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (4)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (4)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (4)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (4)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (4)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (5)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (5)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (5)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (5)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (5)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (5)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (5)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (5)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (5)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (5)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (5)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (5)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (5)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (5)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (5)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (6)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (6)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (6)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (6)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (6)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (6)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (6)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (6)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (6)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (6)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (6)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (6)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (6)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (6)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (6)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (7)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (7)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (7)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (7)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (7)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (7)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (7)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (7)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (7)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (7)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (7)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (7)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (7)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (7)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (7)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (8)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (8)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (8)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (8)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (8)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (8)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (8)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (8)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (8)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (8)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (8)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (8)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (8)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (8)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (8)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (9)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (9)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (9)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (9)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (9)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (9)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (9)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (9)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (9)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (9)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (9)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (9)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (9)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (9)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (9)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (10)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (10)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (10)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (10)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (10)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (10)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (10)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (10)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (10)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (10)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (10)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (10)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (10)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (10)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (10)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (11)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (11)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (11)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (11)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (11)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (11)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (11)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (11)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (11)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (11)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (11)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (11)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (11)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (11)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (11)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (12)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (12)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (12)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (12)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (12)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (12)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (12)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (12)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (12)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (12)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (12)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (12)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (12)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (12)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (12)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (13)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (13)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (13)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (13)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (13)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (13)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (13)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (13)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (13)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (13)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (13)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (13)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (13)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (13)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (13)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (14)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (14)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (14)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (14)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (14)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (14)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (14)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (14)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (14)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (14)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (14)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (14)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (14)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (14)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (14)

Jalousiestellung lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogeingang (15)

Eingangslevel lesen
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Analogausgang (15)

Level lesen
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
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
numeric json_path
Werte / Zustände: ON · OFF
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schalter (15)

Schaltzustand lesen
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Dual White Light (15)

Helligkeit lesen
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
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
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Stromzähler (15)

Gesamtverbrauch lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Helligkeitssensor (15)

Lesen
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
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
numeric json_path
Serviceattribute
Werttypen
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Variable (15)

Lesen
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

RGB-Licht (15)

Helligkeit lesen
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
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
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
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
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
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
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
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
numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Schieber (15)

Jalousiestellung lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Windgeschwindigkeitssensor (15)

Lesen
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
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Reedkontakt (15)

Lesen
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: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Temperatursensor (15)

Luftfeuchtigkeit lesen
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
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

Aktuelle Temperatur, Luftfeuchtigkeit und einstellbarer Temperatur-Sollwert

numeric Einheit: °C json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Thermostat (15)

Temperatur lesen
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
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
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
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

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

numeric json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Mehrwertschalter (15)

Schaltzustand lesen
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
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

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

numeric Einheit: % json_path
Variable: IdTapHome device ID — set to the ID of the device you want to control (find in TapHome app or via /discovery endpoint)

Jalousie (15)

Jalousiestellung lesen
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
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
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
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

Quellen

  • TapHome API Official Documentation
    taphome.com 2026-03-28
  • TapHome HA Integration — ValueType Reference
    github.com 2026-03-28
  • TapHome HA Integration — API Client Implementation
    github.com 2026-03-28