---
title: "Shelly TRV (valve)"
description: "Ventilposition des Shelly TRV (0-100 %) per smart rule in TapHome über lokales HTTP steuern, interne Regelung aus. Batterie, Sollwert, WLAN-Diagnose."
url: "https://taphome.com/de/compatibility/shelly-trv-valve/"
language: de
lastmod: 2026-11-10
generator: hugo
ai:
  topics: ["http","thermostat","wifi","battery-powered","radiator-valve","valve-position-control","smart-rule","mdns"]
  questions: ["Wie steuere ich die Ventilposition des Shelly TRV direkt aus einer smart rule in TapHome?","Worin unterscheiden sich die Shelly-TRV-Vorlagen für Thermostat und Ventil?","Warum schaltet die Ventil-Vorlage des Shelly TRV die automatische Temperaturregelung ab?","Wie verbinde ich das Shelly TRV mit dem WLAN und kalibriere es nach der Montage am Heizkörper?","Warum lehnt das Shelly TRV Schreibvorgänge der Ventilposition mit Device is not calibrated ab?","Wie deaktiviere ich den Wochenplan des Shelly TRV, damit er TapHome nicht überschreibt?"]
---

# Shelly TRV (valve)

Kommunikation: Packet Parser → HTTP

## Integrationsanleitung

Das Shelly TRV (SHTRV-01) ist ein batteriebetriebenes WLAN-Heizkörperthermostat von Allterco Robotics. Es wird direkt auf das Ventil eines herkömmlichen Warmwasser-Heizkörpers gesetzt und verändert den Warmwasserdurchfluss durch den Heizkörper, indem ein interner Motor den Ventilstift bewegt. TapHome kommuniziert mit dem Gerät per HTTP im lokalen Netzwerk — ohne Bridge, ohne Cloud, ohne MQTT-Broker.

Diese Vorlage stellt die Ventilposition als separates Gerät **Ventilzustand** bereit, sodass eine smart rule in TapHome das Ventil direkt ansteuern kann. Die geräteeigene Temperaturregelung ist abgeschaltet: Jeder aus TapHome geschriebene Sollwert wird zusammen mit `target_t_enabled=false` gesendet, sodass die Firmware das Ventil nicht mehr selbst bewegt.

Shelly TRV ist **abgekündigt** und wurde durch das Bluetooth-basierte [Shelly BLU TRV](https://www.shelly.com/products/shelly-blu-trv) abgelöst. Bestehende Geräte funktionieren weiter und diese Vorlage bleibt vollständig unterstützt; für neue Projekte empfiehlt sich der Nachfolger.

Für dasselbe physische Gerät stehen zwei alternative Vorlagen zur Verfügung — wählen Sie je nach gewünschter Steuerungsart.

| Vorlage | Stellt bereit | Einsatz |
|---------|---------------|---------|
| [**Shelly TRV**](https://taphome.com/de/compatibility/shelly-trv/) (Hauptvorlage) | Batterie + Thermostat mit geschlossenem Regelkreis | Raumtemperatursteuerung durch den Endnutzer per Sollwert (5-30 °C). Die Firmware regelt das Ventil intern. |
| **Shelly TRV (valve)** (diese Vorlage) | Batterie + Ventil-Dimmer + Thermostat (Sollwert-Variante) | Smart rules, die das Ventil direkt steuern müssen — die Ventilposition steht als Dimmer 0-100 % bereit, die automatische Regelung ist aus. |

> [!WARNING]
> Importieren Sie nicht beide Vorlagen für dasselbe physische Gerät. Beide greifen auf denselben Endpoint zu und die Polling-Schleifen kollidieren — Schreibvorgänge widersprechen sich und das Ventilverhalten wird unvorhersehbar.

## Hardware-Installation

Das Shelly TRV hat **keine Verkabelung** — es ist ein mechanischer Heizkörperkopf mit interner Elektronik, versorgt durch einen eingebauten Akku (Panasonic NCR18650BD, 3,6 V / 6500 mAh). Es wird mit einem Überwurfring aus Metall auf den Ventilkörper montiert. Das Gerät ist nur für den Innenbereich bestimmt und muss vor Schmutz, Feuchtigkeit und Spritzwasser geschützt werden.

### Kompatible Ventilkörper

Hat der Heizkörper bereits einen Thermostatkopf (typischerweise ein Drehknopf mit den Stufen 1 bis 5), ist der Ventilkörper höchstwahrscheinlich kompatibel. Heizkörper mit kleinen Handventilen — üblich dort, wo ein separates Raum- oder Zentralthermostat installiert ist — sind **nicht** kompatibel.

Natives Gewinde: **M30 × 1,5**. Folgende Adapter liegen der Verpackung bei:

- **Danfoss** — RA, RAV, RAVL
- **Caleffi**
- **Giacomini**
- **M28 × 1,5** — Sam, Slovarm, Comap, TA, Herz, MMA, Remagg
- **Pont à Mousson**

Drittanbieter-Adapter (nicht im Lieferumfang) erweitern die Kompatibilität auf Gampper, Ista, Meges, Ondal, Oventrop, Rossweiner, Vaillant und weitere.

### Montageablauf

1. Stellen Sie sicher, dass der Heizkörper ausgeschaltet und abgekühlt ist.
2. Drehen Sie den vorhandenen Thermostatkopf gegen den Uhrzeigersinn, bis das Ventil vollständig offen ist, und schrauben Sie dann den Metallring gegen den Uhrzeigersinn ab.
3. Setzen Sie den passenden Adapter auf, falls das Ventilgewinde nicht dem nativen M30 × 1,5 entspricht.
4. Befestigen Sie das Shelly TRV am Ventilkörper, indem Sie den Metallring im Uhrzeigersinn drehen — ziehen Sie ihn noch nicht vollständig an.
5. Drehen Sie das Display in die gewünschte Ausrichtung und ziehen Sie dann den Metallring vollständig an.

> [!WARNING]
> Versuchen Sie nicht, das Gerät zu drehen, sobald der Metallring vollständig angezogen ist — das kann es beschädigen.

### Laden

Das Gerät lädt über **USB-C** mit einem USB-C-konformen Ladegerät mit mindestens 1 A. Laden Sie es vor der ersten Verwendung etwa 7 Stunden lang vollständig auf. Während des Ladens blinkt die Akkustandslinie auf dem Display, und ein Punkt neben der unteren Zeile zeigt ein angeschlossenes Ladegerät an. Die Akkulaufzeit beträgt bis zu 2 Jahre, abhängig davon, wie oft sich das Ventil bewegt, und von der Qualität des WLAN-Signals.

> [!WARNING]
> Während des Ladevorgangs erwärmt sich das Gehäuse und der interne Temperatursensor liefert falsche Werte. Rechnen Sie mit verzerrten Raumtemperaturwerten, solange das Ladegerät angeschlossen ist.

## Kalibrierung

Bei der Kalibrierung lernt der Motor den Hub des jeweiligen Ventilkörpers. Ohne sie kann TapHome die Ventilposition weder lesen noch schreiben.

1. Drücken Sie kurz **Reset** (Geräterückseite). Das Display zeigt `CL` an und der interne Motor dreht sich in beide Richtungen.
2. Eine erfolgreiche Kalibrierung endet mit `AP` auf dem Display — das Gerät ist bereit für die Verbindung mit dem WLAN.
3. `E1` bedeutet, dass die Kalibrierung fehlgeschlagen ist: Der Ring ist nicht fest genug angezogen oder das Gerät sitzt nicht richtig. Ziehen Sie den Ring nach oder montieren Sie das Gerät neu, halten Sie dann **Up** oder **Down** 3 Sekunden lang gedrückt und drücken Sie einige Male **Down**, um eine neue Kalibrierung zu starten.

Sobald das Gerät in TapHome eingebunden ist, lässt sich ein neuer Kalibrierzyklus auch mit der Service-Aktion **Calibrate** am Modul auslösen.

> [!NOTE]
> Kalibrieren Sie nach jeder Ummontage auf einen anderen Ventilkörper erneut. Solange das Gerät nicht `calibrated=true` meldet, zeigt das Gerät Ventilzustand `Device is not calibrated` an und TapHome lehnt sowohl Schreibvorgänge der Ventilposition als auch des Sollwerts ab.

## Netzwerkeinrichtung

Das Shelly TRV nutzt 2,4-GHz-WLAN (802.11 b/g/n) mit einer Reichweite von bis zu 30 m, abhängig von der Bauweise des Gebäudes. Nach der Kalibrierung startet es im Access-Point-Modus (`AP` auf dem Display).

> [!WARNING]
> Wird das Gerät nicht innerhalb von 3 Minuten zu einem WLAN-Netzwerk hinzugefügt, schaltet es sich ab. Drücken Sie kurz **Reset**, um es erneut zu starten.

### Verbindung mit dem WLAN

Das Gerät lässt sich über die mobile App Shelly Cloud oder manuell über seine integrierte Weboberfläche verbinden:

1. Verbinden Sie ein Smartphone oder einen Computer mit dem WLAN-Netzwerk, das das Gerät aufspannt, und öffnen Sie `http://192.168.33.1`.
2. Klicken Sie auf **Internet & Security** und wählen Sie **WIFI MODE - CLIENT**.
3. Aktivieren Sie **Connect the Shelly device to an existing WiFi Network**, geben Sie den Netzwerknamen und das Passwort ein und drücken Sie **SAVE**.
4. Ermitteln Sie die IP-Adresse des Geräts im lokalen Netzwerk (Client-Liste des Routers oder das Tool Shelly device finder für Windows oder macOS).

Das Aktivieren des Client-Modus deaktiviert den Access-Point-Modus. Um zum Access-Point-Modus zurückzukehren, halten Sie **Reset** 5 Sekunden lang gedrückt.

Eine DHCP-Reservierung für das Gerät im Router hält die von TapHome verwendete IP-Adresse stabil.

### Authentifizierung

Die Vorlage sendet HTTP-Anfragen ohne Zugangsdaten an Port `80`; HTTPS wird von Gen1-Geräten nicht unterstützt. Wurde in der Weboberfläche des Geräts ein Anmeldeschutz aktiviert, deaktivieren Sie ihn — andernfalls kann TapHome das Gerät weder lesen noch steuern.

## Konfiguration

Importieren Sie die Vorlage in TapHome und geben Sie die IP-Adresse des Geräts als einzigen Importparameter ein. Erstellen Sie anschließend eine smart rule, die das Gerät **Ventilzustand** ansteuert.

### Wochenplan deaktivieren

Shelly TRV hat einen eingebauten Wochenplaner (5 Profile, bis zu 20 Temperaturänderungen pro Profil). Ist ein Plan aktiv, überschreibt die Firmware jeden extern geschriebenen Sollwert bei der nächsten geplanten Änderung.

Die Vorlage meldet dies als Modulfehler (`Schedule is enabled`). Bevor das Gerät unter TapHome-Steuerung läuft, gehen Sie wie folgt vor:

- Lösen Sie die Service-Aktion **Disable schedule** am Modul aus (sendet `/settings/thermostats/0?schedule=false`), oder
- wählen Sie unter **Weekly schedule** in der Weboberfläche des Geräts oder in der App Shelly Cloud das Profil **Disable**.

### Automatische Ventilsteuerung

Sowohl das Gerät Ventilzustand als auch das Gerät Thermostat zeigen die Warnung `Automatic valve control is on` an, sobald das Gerät seine eigene Temperaturregelung als aktiv meldet, da diese mit dem Betrieb der smart rule in Konflikt geraten kann. Ein Sollwert, der vom Gerät Thermostat geschrieben wird, schaltet sie wieder ab (`target_t_enabled=false`).

### Externer Raumsensor (empfohlen)

Jedes am Heizkörper montierte Thermostat misst nahe am Heizkörper, daher weicht der integrierte Sensor von der tatsächlichen Raumtemperatur ab. Zwei Korrekturwege stehen zur Verfügung:

- **Externer Sensor** — ein Shelly H&T oder ein kompatibler Sensor im Raum kann die Umgebungstemperatur an das TRV senden. Aktivieren Sie dies in der Weboberfläche des Geräts → **Sensor Settings** → **TEMPERATURE OFFSET** → **Enable external temperature corrections endpoint**.
- **Statischer Offset** — verwenden Sie die Service-Aktion **Set temperature offset** am Gerät Thermostat (Bereich ±20 °C), um eine konstante Abweichung auszugleichen.

## Gerätefunktionen

Die Vorlage stellt das Gerät als Batterieindikator, Ventilpositions-Dimmer und Thermostat bereit. Modulbezogene Diagnosen und Aktionen sind dieselben wie in der Hauptvorlage.

### Ventilzustand

Der Ventilaktor wird als Dimmer (0-100 %) bereitgestellt. TapHome liest die Position aus `thermostats[0].pos` und schreibt sie über `/thermostats/0?pos={0-100}`; die Firmware fährt den Motor auf die angeforderte Position. Eine negative Position bedeutet, dass das Ventil nicht kalibriert ist, und das Gerät zeigt `Device is not calibrated` an.

Die Service-Attribute melden **Force close**, **Extra pressure** und **Automatic calibration correction**. Service-Aktionen schalten den Force-Close-Modus (Ventil bleibt vollständig geschlossen) und den Extra-Pressure-Modus (stärkere Betätigung bei schwergängigen Ventilen) um, sodass smart rules Szenarien wie Notschließung, Vorheizen oder Boost-Sequenzen abdecken können.

### Thermostat

Das Thermostat liest die gemessene Raumtemperatur (`thermostats[0].tmp.value`) und den gespeicherten Zielwert (`thermostats[0].target_t.value`). Ein Schreibvorgang des Sollwerts sendet **sowohl** `target_t` als auch `target_t_enabled=false` an `/settings/thermostats/0`, damit die Firmware das Ventil nicht selbst bewegt — der Sollwert dient als Referenzwert für die smart rule, die das Gerät Ventilzustand ansteuert.

Das einzige Service-Attribut ist **Temperature offset [°C]** mit der zugehörigen Aktion **Set temperature offset**. Das Gerät meldet `Temperature sensor error`, wenn der Sensorwert ungültig ist.

### Batteriestatus

Die Batterie wird als **Mehrfachschalter** bereitgestellt, abgeleitet aus dem gemeldeten Ladezustand und dem Zustand des Ladegeräts. Der Zustand des Ladegeräts hat Vorrang vor dem Ladezustand:

| Zustand | Bedingung |
|---------|-----------|
| Critical | `bat.value` 25 % oder weniger |
| Low | `bat.value` 26-50 % |
| Normal | `bat.value` 51-75 % |
| Full | `bat.value` über 75 % |
| Charging | Ladegerät angeschlossen |

Zwei Service-Attribute melden den rohen Ladezustand (`%`) und die Spannung (V). Das Modul meldet `Low battery` unter 50 % und `Battery charge is criticaly low` unter 25 %.

### Modul-Diagnose und -Aktionen

Das Modul fragt `/status` und `/settings` alle 3 Sekunden ab und stellt geräteweite Diagnosen und Aktionen bereit:

- **Diagnose:** WLAN-SSID, IP-Adresse, MAC, Empfangssignalstärke, Kalibrierzustand, Zeitplan ein/aus, Displayhelligkeit (1-7) und Status des gedrehten Displays. Ist ein Firmware-Update verfügbar, erscheint eine Warnung.
- **Aktionen:** Disable schedule, Reboot, Calibrate (löst `/calibrate` aus), Update firmware (lädt `SHTRV-01_build.gbl` vom offiziellen Shelly-EU-Firmware-Server), Set display brightness und Flip display.

## Fehlerbehebung

### Device is not calibrated

Schreibvorgänge der Ventilposition und des Sollwerts werden mit `Device is not calibrated` abgelehnt, bis das TRV einen erfolgreichen Kalibrierzyklus abgeschlossen hat.

1. Stellen Sie sicher, dass das Gerät fest auf dem Ventilkörper sitzt — der Ring muss so fest angezogen sein, dass der Motor gegen den Ventilstift arbeiten kann.
2. Lösen Sie die Service-Aktion **Calibrate** am Modul aus oder starten Sie die Kalibrierung am Gerät (halten Sie **Up** oder **Down** 3 Sekunden lang gedrückt und drücken Sie dann einige Male **Down**). Das Display zeigt `CL`, während sich der Motor in beide Richtungen bewegt.
3. Bei Erfolg wechselt das Attribut **Calibrated** auf `Yes`; `E1` auf dem Display deutet meist auf eine falsche Montage hin.

### Das Ventil bewegt sich, obwohl keine smart rule es geändert hat

Die geräteeigene Regelung oder der Wochenplan ist aktiv. Prüfen Sie die Warnung `Automatic valve control is on` und das Modulattribut **Schedule** — schreiben Sie einen Sollwert vom Gerät Thermostat, um die automatische Regelung abzuschalten, und lösen Sie **Disable schedule** aus, wenn der Zeitplan aktiv ist.

### Raumtemperatur wird zu hoch angezeigt

- **Ladegerät angeschlossen.** Raumtemperaturwerte sind während des Ladens ungültig. Ziehen Sie USB-C ab und lassen Sie das Gerät abkühlen.
- **Abweichung des integrierten Sensors.** Der Sensor sitzt nahe am Heizkörper. Aktivieren Sie den Endpoint für externe Temperaturkorrektur und koppeln Sie ein Shelly H&T (oder einen kompatiblen Sensor) im selben Raum, oder setzen Sie einen statischen **Set temperature offset**.

### Display zeigt E1 / E2

Um den Status zu prüfen, halten Sie **Up** und **Down** gleichzeitig 5 Sekunden lang gedrückt und blättern Sie mit **Up** oder **Down**.

- `E1` — Kalibrierproblem. Montieren Sie das Gerät neu, ziehen Sie den Ring vorsichtig an und starten Sie einen neuen Kalibrierzyklus.
- `E2` — Problem mit dem Temperatursensor. Die Vorlage meldet am Gerät Thermostat einen Fehler `Temperature sensor error`. Bleibt das Problem nach einem Neustart bestehen, wenden Sie sich an den Shelly-Support.

### Gerät nicht erreichbar

1. Prüfen Sie, ob das TRV mit dem WLAN verbunden ist — halten Sie **Up** und **Down** 5 Sekunden lang gedrückt und blättern Sie durch die Statusparameter; `CO` zeigt eine Verbindung mit dem WLAN-Netzwerk an, `AP` bedeutet, dass sich das Gerät noch im Access-Point-Modus befindet.
2. Vergewissern Sie sich, dass sich TapHome Core und das TRV im selben Netzwerk / VLAN befinden.
3. Versuchen Sie den mDNS-Hostnamen (`shellytrv-XXXXXX.local`) statt der IP-Adresse — die DHCP-Lease kann sich geändert haben.
4. Öffnen Sie `http://{device-ip}/status` im Browser. Kommt die JSON-Antwort an, ist das Gerät erreichbar und das Problem liegt in der TapHome-Konfiguration.

> [!WARNING]
> Gen1-Shelly-Geräte akzeptieren nur **2 gleichzeitige HTTP-Verbindungen**. Fragen TapHome und ein weiteres System dasselbe Gerät gleichzeitig ab, wird die Kommunikation unzuverlässig. Belassen Sie das Polling-Intervall auf dem Vorlagen-Standard (3 s) und vermeiden Sie weitere Abfragen durch andere Systeme.

> [!NOTE]
> Das Aktivieren von MQTT auf Gen1-Shelly-Geräten deaktiviert die Verbindung zur Shelly Cloud. TapHome nutzt ausschließlich HTTP — lassen Sie MQTT ausgeschaltet.

## Installation in TapHome

### Voraussetzungen

- Shelly-Gerät installiert und eingeschaltet
- Lokales Wi-Fi-Netzwerk (2,4 GHz)
- TapHome CCU im selben Netzwerk

### Schritt 1 — Shelly mit Wi-Fi verbinden

**Option A — Shelly-App (empfohlen):**

1. Laden Sie die [Shelly-App](https://www.shelly.com/en/support/shelly-app) herunter (iOS / Android)
2. Tippen Sie auf **+** → **Add Device** und folgen Sie dem Bluetooth-Kopplungsassistenten
3. Geben Sie Ihre Wi-Fi-Zugangsdaten ein, wenn Sie dazu aufgefordert werden

**Option B — AP-Modus (ohne App):**

1. Beim ersten Einschalten erstellt das Gerät einen Hotspot: `ShellyXXX-AABBCCDDEE`
2. Verbinden Sie Ihr Telefon/PC mit diesem Hotspot
3. Öffnen Sie `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Geben Sie SSID und Passwort ein → **Save**

> [!NOTE]
> Shelly unterstützt nur **2,4 GHz**-Netzwerke. 5 GHz-Netzwerke werden beim Scannen nicht angezeigt.

### Schritt 2 — IP-Adresse ermitteln

Nach der Verbindung mit Wi-Fi ermitteln Sie die zugewiesene IP-Adresse auf eine der folgenden Arten:

- **Shelly-App:** Gerätedetail → **Device info** → IP-Adresse
- **Shelly-Weboberfläche:** Verbinden Sie sich mit dem Geräte-AP vor der Wi-Fi-Einrichtung — die IP wird nach dem Speichern angezeigt
- **Router-DHCP-Tabelle:** Suchen Sie nach einem Hostnamen wie `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingen Sie `shelly<model>-<mac>.local` (z. B. `shelly1pm-AABBCCDDEE.local`) aus dem selben Netzwerk

> [!TIP]
> Weisen Sie dem Shelly-Gerät eine **statische IP** (DHCP-Reservierung) in Ihrem Router zu, damit sich die Adresse nach einem Router-Neustart nicht ändert.

### Schritt 3 — Konfiguration in TapHome

1. Fügen Sie in TapHome ein neues Modul **Packet Parser (HTTP)** hinzu
2. **IP Address:** Geben Sie die IP aus Schritt 2 ein (z. B. `192.168.1.50`)
3. **Port:** `80` (Standard, keine Änderung erforderlich)
4. Importieren Sie die Vorlage — TapHome fragt regelmäßig `/status` ab, um den Gerätestatus zu lesen

> [!NOTE]
> Die HTTP-Authentifizierung ist auf Shelly-Geräten standardmäßig deaktiviert. Wenn Sie den Anmeldeschutz aktiviert haben, unterstützt TapHome derzeit kein HTTP Basic Auth — lassen Sie die Authentifizierung für die TapHome-Integration deaktiviert.

## Verfügbare Geräte 3

Diese Geräte erscheinen nach dem Import in TapHome.

Shelly TRV Modul

Serviceattribute

|                          |
|--------------------------|
| Wifi                     |
| ${ipAddress}             |
| MAC                      |
| Received signal strength |
| Calibrated               |
| Schedule                 |
| Display brightness       |
| Display flipped          |

Serviceaktionen

|                        |
|------------------------|
| Disable schedule       |
| Reboot                 |
| Calibrate              |
| Update firmware        |
| Set display brightness |
| Flip display           |

Benutzerdefinierte Variablen

|                         |
|-------------------------|
| `settings` (string) = 0 |
| `status` (string) = 0   |

Lesen (Modul)

```taphome
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
    status := response.Content;
END

response := SENDHTTPREQUEST("/settings");
IF response.IsSuccess
    settings := response.Content;
END

if(PARSEJSON(status, "$.thermostats[0].schedule"), adderror("Schedule is enabled"));
if(PARSEJSON(status, "$.update.has_update"), addwarning("Firmware update is available"));

var bat := PARSEJSON(status, "$.bat.value");
if bat < 25
    addwarning("Battery charge is criticaly low");
elseif bat < 50
    addwarning("Low battery");
end
```

Serviceattribute

Wifi

```taphome
PARSEJSON(status, "$.wifi_sta.ssid")
```

${ipAddress}

```taphome
PARSEJSON(status, "$.wifi_sta.ip")
```

MAC

```taphome
PARSEJSON(status, "$.mac")
```

Received signal strength

```taphome
PARSEJSON(status, "$.wifi_sta.rssi")
```

Calibrated

```taphome
if(PARSEJSON(status, "$.calibrated"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
```

Schedule

```taphome
 VAR response := SENDHTTPREQUEST("/thermostats/0");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(SWITCH(PARSEJSON(content, "$.schedule"), true, "On", "Off"));
END
```

Display brightness

```taphome
PARSEJSON(settings, "$.display.brightness")
```

Display flipped

```taphome
if(PARSEJSON(settings, "$.display.flipped"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
```

Serviceaktionen

Disable schedule

```taphome
var response := SENDHTTPREQUEST("/settings/thermostats/0?schedule=false");
if(response.IsSuccess, return("OK"), return(response.Content));
```

Reboot

```taphome
VAR response := SENDHTTPREQUEST("/reboot");
if(response.IsSuccess, return("OK"), return(response.Content));
```

Calibrate

```taphome
VAR response := SENDHTTPREQUEST("/calibrate");
if(response.IsSuccess, return("OK"), return(response.Content));
```

Update firmware

```taphome
VAR response := SENDHTTPREQUEST("/ota?url=http://shelly-api-eu.shelly.cloud/firmware/SHTRV-01_build.gbl");
if(response.IsSuccess, return("OK"), return(response.Content));
```

Set display brightness

Parameter: Brightness (1-7) (1–7 Br)

```taphome
var response := SENDHTTPREQUEST("/settings?display_brightness=" + Br);
if(response.IsSuccess, return("OK"), return(response.Content));
```

Flip display

```taphome
var response := SENDHTTPREQUEST("/settings?display_flipped=" + if(PARSEJSON(settings, "$.display.flipped"), "false", "true"));
if(response.IsSuccess, return("OK"), return(response.Content));
```

Battery Mehrwertschalter

Werte / Zustände: Critical · Low · Normal · Full · Charging

Schaltzustand lesen

```taphome
if PARSEJSON(status, "$.charger")
    return(4);
end

var bat := PARSEJSON(status, "$.bat.value");
if bat > 75
    return(3);
elseif bat > 50
    return(2);
elseif bat > 25
    return(1);
else
    return(0);
end
```

Serviceattribute

Value \[%]

```taphome
PARSEJSON(status, "$.bat.value");
```

Voltage \[V]

```taphome
PARSEJSON(status, "$.bat.voltage");
```

${device\_variable\_valvestate} Dimmer

Serviceattribute

|                                  |
|----------------------------------|
| Force close                      |
| Extra pressure                   |
| Automatic calibration correction |

Serviceaktionen

|                       |
|-----------------------|
| Toggle force close    |
| Toggle extra pressure |

Lesen (Modul)

```taphome
if(PARSEJSON(status, "$.thermostats[0].target_t.enabled"), addwarning("Automatic valve control is on. It may conflict with smart rule opration."));
```

Level lesen

```taphome
var pos := PARSEJSON(status, "$.thermostats[0].pos");
if pos >= 0
    return(pos / 100);
else
    adderror("Device is not calibrated");
    return(NaN);
end
```

Level schreiben

```taphome
if(status = "0", return(Le));

if !PARSEJSON(status, "$.calibrated")
    ADDERROR("Device is not calibrated");
    return(NaN);
end
 
 VAR response := SENDHTTPREQUEST("/thermostats/0?pos=" + Le*100);
 IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
 END
```

Serviceattribute

Force close

```taphome
if(PARSEJSON(settings, "$.thermostats[0].force_close"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
```

Extra pressure

```taphome
if(PARSEJSON(settings, "$.thermostats[0].extra_pressure"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
```

Automatic calibration correction

```taphome
if(PARSEJSON(settings, "$.thermostats[0].calibration_correction"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
```

Serviceaktionen

Toggle force close

```taphome
var response := SENDHTTPREQUEST("/settings/thermostats/0?force_close=" + if(PARSEJSON(settings, "$.thermostats[0].force_close"), "false", "true"));
if(response.IsSuccess, return("OK"), return(response.Content));
```

Toggle extra pressure

```taphome
var response := SENDHTTPREQUEST("/settings/thermostats/0?extra_pressure=" + if(PARSEJSON(settings, "$.thermostats[0].extra_pressure"), "false", "true"));
if(response.IsSuccess, return("OK"), return(response.Content));
```

${adddevice\_thermostat} Thermostat

Serviceattribute

|                          |
|--------------------------|
| Temperature offset \[°C] |

Serviceaktionen

|                        |
|------------------------|
| Set temperature offset |

Temperatur lesen

```taphome
PARSEJSON(status, "$.thermostats[0].tmp.value")
```

Lesen (Modul)

```taphome
if(! PARSEJSON(status, "$.thermostats[0].tmp.is_valid"), adderror("Temperature sensor error"));
if(PARSEJSON(status, "$.thermostats[0].target_t.enabled"), addwarning("Automatic valve control is on. It may conflict with smart rule opration."));
```

Solltemperatur lesen

```taphome
PARSEJSON(status, "$.thermostats[0].target_t.value")
```

Solltemperatur schreiben

```taphome
if(status = "0", return(Se));

if !PARSEJSON(status, "$.calibrated")
    ADDERROR("Device is not calibrated");
    return(NaN);
end

VAR response := SENDHTTPREQUEST("/settings/thermostats/0?target_t=" + Se + "&target_t_enabled=false");
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
```

Serviceattribute

Temperature offset \[°C]

```taphome
PARSEJSON(settings, "$.thermostats[0].temperature_offset")
```

Serviceaktionen

Set temperature offset

Parameter: Offset (-20–20 C)

```taphome
VAR response := SENDHTTPREQUEST("/settings/thermostats/0?temperature_offset=" + C);
if(response.IsSuccess, return("OK"), return(response.Content));
```

**Verbindung:** Packet Parser → HTTP

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard      |
|----------------------|---------------|
| IP-Adresse           | `192.168.0.1` |

## Verwandte Dokumentation

- [Packet-Parser-Integration](https://taphome.com/de/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)

