
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 regelt die Raumtemperatur über einen internen Motor am Ventilstift. TapHome kommuniziert mit dem Gerät per HTTP im lokalen Netzwerk — ohne Bridge, ohne Cloud, ohne MQTT-Broker.
Shelly TRV ist abgekündigt und wurde durch die Bluetooth-Variante Shelly BLU TRV ersetzt. Bestehende Geräte funktionieren weiter und die 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ähle je nach gewünschter Steuerungsart.
| Vorlage | Stellt bereit | Einsatz |
|---|---|---|
| Shelly TRV (main) | Batterie + Thermostat mit geschlossenem Regelkreis | Raumtemperatursteuerung durch den Endnutzer per Sollwert (5-30 °C). Firmware regelt das Ventil intern. |
| Shelly TRV (valve) | Batterie + Ventil-Dimmer + Thermostat (Sollwert-Variante) | Smart Rules, die direkten Ventilzugriff benötigen — Ventilposition als Dimmer 0.0-1.0. |
Importiere 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 internen Li-Ion-Akku (Panasonic NCR18650BD, 3,7 V / 6500 mAh). Es wird direkt über einen Überwurfring auf den Ventilkörper montiert.
Kompatible Ventilkörper
Native Gewinde: M30 × 1,5. Folgende Adapter liegen dem Gerät 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
- Stelle sicher, dass der Heizkörper ausgeschaltet und abgekühlt ist.
- Drehe den vorhandenen manuellen Thermostatkopf gegen den Uhrzeigersinn bis zum Anschlag (vollständig offen), schraube dann den Überwurfring ab und nimm den Kopf ab.
- Setze den passenden Adapter auf, falls das Ventilgewinde nicht M30 × 1,5 ist.
- Setze das Shelly TRV auf den Ventilkörper und ziehe den Überwurfring im Uhrzeigersinn fest — stramm, aber nicht überdreht. Sowohl zu locker als auch zu fest führen zum Kalibrierfehler.
- Richte das Display auf die gewünschte Orientierung aus, bevor der Ring vollständig angezogen wird.
- Drücke kurz Reset (Geräterückseite). Das Display zeigt
CL(Kalibrierung) an und der interne Motor bewegt sich in beide Richtungen. Eine erfolgreiche Kalibrierung endet mitAPauf dem Display; ein Fehler zeigtE1.
Die Kalibrierung muss nach jeder Ummontage auf einen anderen Ventilkörper erneut ausgeführt werden. Solange
calibrated=truenicht erreicht ist, werden Sollwert- und Positions-Schreibvorgänge mitDevice is not calibratedabgelehnt.
Laden
Das Gerät lädt über USB-C (Kabel im Lieferumfang, Netzteil nicht). Ein USB-C-Ladegerät ≥1 A lädt den Akku in etwa 5 Stunden von leer auf voll. Die typische Akkulaufzeit beträgt ~2 Jahre (~5 Monate durchgehende Heizperiode bei üblichem Einsatz).
Während des Ladevorgangs erwärmt sich das Gehäuse und der interne Temperatursensor liefert falsche Werte. Solange
chargernichtdisconnectedmeldet, sind Raumtemperatur-Werte verzerrt.
Konfiguration
TapHome-Import
Beim Vorlagenimport fragt TapHome einen einzelnen Parameter ab:
| Parameter | Beschreibung | Standard |
|---|---|---|
IpAddress | Lokale IP-Adresse oder mDNS-Hostname des Geräts | 192.168.0.1 |
Port 80 ist fest. HTTPS wird von Gen1 nicht unterstützt. HTTP Basic Auth muss am Gerät deaktiviert sein — TapHome authentifiziert sich nicht gegenüber Gen1-Shelly-Geräten.
Wo möglich, verwende den mDNS-Hostnamen (shellytrv-XXXXXX.local) — er ist robust gegenüber DHCP-Lease-Änderungen. Der TapHome-IP-Scanner (Einstellungen → Netzwerk → Scan) ermittelt sowohl die IP als auch den mDNS-Hostnamen.
Wochenplan deaktivieren
Shelly TRV hat einen eingebauten Wochenplaner (5 Profile, bis zu 18 geplante Änderungen pro Woche je Profil). Ist der Plan aktiv, überschreibt die Firmware jeden extern geschriebenen Sollwert beim nächsten geplanten Ereignis — TapHome-Sollwerte werden stillschweigend zurückgesetzt.
Die Vorlage signalisiert dies als Warnung (Schedule is enabled). Bevor das Gerät unter TapHome-Steuerung läuft, entweder:
- die Service-Aktion Disable schedule am Modul auslösen (sendet
/settings/thermostats/0?schedule=false), oder - in der Shelly-Cloud-App bzw. im Web-UI des Geräts das Profil Disable auswählen.
Externer Raumsensor (empfohlen)
Der integrierte Temperatursensor sitzt physisch nahe an der heißen Heizkörperleitung und liefert typischerweise 1-3 °C höher als die tatsächliche Raumtemperatur. Zwei Korrekturwege stehen zur Verfügung:
- Externer Sensor — koppele einen separaten WLAN-Thermometer (z. B. Shelly H&T) über das Web-UI des Geräts → Sensor Settings → Enable external temperature corrections endpoint. Der externe Sensor postet dann die Umgebungstemperatur an das TRV.
- Statischer Offset — verwende die Service-Aktion Set temperature offset am Thermostat-Gerät (Bereich ±20 °C), um eine konstante Abweichung auszugleichen.
Für besten thermischen Komfort kombiniere einen zuverlässigen externen Sensor mit einem kleinen statischen Offset als Fallback.
Gerätefunktionen
Die Hauptvorlage stellt das Gerät als Batterieindikator plus Thermostat mit geschlossenem Regelkreis bereit. Die Valve-Vorlage behält dasselbe Modul und dieselbe Batterie bei, stellt die Ventilposition aber als Dimmer bereit und nutzt eine Sollwert-Variante, die bei einem Schreibvorgang die automatische PID-Regelung abschaltet. Modulbezogene Diagnosen und Aktionen sind in beiden Vorlagen identisch.
Batteriestatus
Die Batterie wird als Mehrwert-Schalter dargestellt, abgeleitet aus dem gemeldeten Ladezustand und dem USB-C-Ladezustand. Der Ladestatus hat Vorrang vor dem Ladezustand:
| Zustand | Bedingung |
|---|---|
| Critical | bat.value < 25 |
| Low | bat.value 25-50 |
| Normal | bat.value 50-75 |
| Full | bat.value > 75 |
| Charging | charger != disconnected |
Zwei zusätzliche Service-Attribute melden den rohen Ladezustand (%) und die Zellspannung (V, nominell ~3,7 V, typischer Bereich 2,6-4,2 V). Die Vorlage löst Low battery bei <50 % und Battery charge is critically low bei <25 % aus.
Thermostat (main-Vorlage)
Raumthermostat mit geschlossenem Regelkreis: TapHome schreibt den Zielsollwert, die TRV-Firmware steuert die Ventilposition intern anhand des integrierten (oder externen) Temperatursensors.
- Lesen: gemessene Raumtemperatur (
thermostats[0].tmp.value) und aktiver Zielwert (thermostats[0].target_t.value) - Schreiben: Sollwert 5-30 °C über
/settings/thermostats/0?target_t={Se}
Zusätzliche Thermostat-Attribute umfassen Temperature offset [°C], Valve position [%] (nur lesend, zur Sichtbarkeit der PID-Ausgabe), Force close, Extra pressure und Automatic calibration correction. Die zugehörigen Service-Aktionen erlauben TapHome, den Offset zu setzen, den Force-Close-Modus umzuschalten (Ventil bleibt vollständig geschlossen, unabhängig vom Sollwert) und den Extra-Druck-Modus umzuschalten (verstärkt die Aktorik bei schwergängigen Ventilen).
Sollwert-Schreibvorgänge scheitern mit Device is not calibrated, solange calibrated=false, und die Vorlage gibt eine Warnung aus, wenn der Wochenplan aktiv ist (da die Firmware externe Schreibvorgänge beim nächsten Plan-Ereignis überschreibt).
Ventil-Dimmer (valve-Vorlage)
Eine alternative Vorlage stellt den Ventilaktor direkt als Dimmer-Gerät bereit (0.0-1.0 → 0-100 %). TapHome schreibt die Position über /thermostats/0?pos={Le*100} — die Firmware fährt den Motor auf die angeforderte Position und deaktiviert dabei implizit die automatische Solltemperaturregelung.
Die Valve-Vorlage ergänzt am Ventilgerät die Service-Attribute Force close, Extra pressure und Automatic calibration correction (plus passende Toggle-Aktionen), sodass Smart-Rule-Autoren den Motor direkt für Szenarien wie Notschließung, manuelles Vorheizen oder Boost-Sequenzen ansteuern können.
Thermostat (Variante der valve-Vorlage)
Die Valve-Vorlage stellt weiterhin ein Thermostat-Gerät bereit, damit der Sollwert aus derselben TapHome-Gerätegruppe geschrieben werden kann, ihr Schreib-Skript sendet jedoch sowohl target_t als auch target_t_enabled=false, damit die Firmware-PID nicht mit dem manuell gesteuerten Ventil konkurriert. Der Service-Attributsatz ist auf Temperature offset [°C] reduziert (Ventilkörper-Attribute wie force_close und valve_state wandern stattdessen zum Ventil-Gerät). Die Vorlage warnt, wenn target_t.enabled=true beobachtet wird — das deutet auf einen Konflikt zwischen Ventil-Dimmer und automatischer Regelung hin.
Modul-Diagnose und -Aktionen
Das Modul (Head Unit) pollt /status und /settings alle 3 Sekunden und stellt gerätweite Diagnosen und Aktionen bereit:
- Diagnose: WLAN-SSID, IP-Adresse, MAC, Signalstärke (RSSI in dBm), Kalibrierzustand, Zeitplan ein/aus, Displayhelligkeit (1-7) und Status des gedrehten Displays.
- Aktionen: Disable schedule, Reboot, Calibrate (löst
/calibrateaus), Update firmware (lädtSHTRV-01_build.gblvom offiziellen Shelly-EU-Firmware-Server), Set display brightness und Flip display.
Zusätzliche Funktionen
Das Gerät stellt außerdem — von den aktuellen Vorlagen noch nicht abgebildet — mehrere Gen1-Funktionen bereit: passive Fensteroffen-Erkennung (/window), die symmetrische Aktion Force open, Fallback-Umgebungstemperatur (auto_temp), Kindersicherung, Verzögerung für automatisches Schließen bei offenem Fenster, Sensor für geplanten Sollwert (schedule_t), Index des aktiven Profils, verbleibende Boost-Minuten und die Aktion Trigger boost (/thermostats/0?boost_minutes=N), den thermischen Zustand der internen Elektronik (tmp_state) sowie die Verfügbarkeit von Firmware-Updates als Sensor. CoIoT-Push und MQTT-Transport werden auf Geräteebene unterstützt, aber nicht genutzt — TapHome ruft stattdessen alle 3 s /status ab. Diese Funktionen können in einem zukünftigen Vorlagen-Update ergänzt werden.
Fehlerbehebung
Device is not calibrated
Jeder Sollwert- und Ventilpositions-Schreibvorgang liefert Device is not calibrated zurück, bis das TRV einen erfolgreichen Kalibrierzyklus abgeschlossen hat.
- Stelle sicher, dass das Gerät fest auf dem Ventilkörper sitzt — der Überwurfring muss so fest sein, dass der Motor gegen den Ventilstift drücken kann, aber nicht so fest, dass er sich verformt.
- Löse die Service-Aktion Calibrate am Modul aus (sendet
/calibrate). Das Display zeigt kurzCL, während der Motor in beide Richtungen fährt. - Bei Erfolg wird
calibratedtrueund Schreibvorgänge gelingen; bei Fehlschlag zeigt das DisplayE1— meist ein Zeichen für falsche Montage.
Sollwert wird alle paar Stunden zurückgesetzt
Das ist der Wochenplan, der externe Schreibvorgänge überschreibt. Prüfe das Service-Attribut Schedule — ist es aktiv, löse die Aktion Disable schedule am Modul aus oder deaktiviere das aktive Profil in der Shelly-Cloud-App.
Raumtemperatur liest zu hoch
Zwei häufige Ursachen:
- Ladegerät angeschlossen. Raumtemperaturwerte sind ungültig, solange
charger != disconnected. USB-C abziehen und das Gerät abkühlen lassen. - Sensorabweichung. Der Sensor sitzt nahe an heißen Rohren und liest typischerweise 1-3 °C zu hoch. Aktiviere entweder den Endpoint für externe Temperaturkorrektur und koppele ein Shelly H&T (oder kompatibles WLAN-Thermometer) im selben Raum, oder setze einen statischen Set temperature offset (z. B.
-1,5 °C).
Display zeigt E1 / E2
E1 — Kalibrierfehler. Gerät neu montieren, den Ring vorsichtig festziehen und einen neuen Kalibrierzyklus auslösen.
E2 — Fehler des Temperatursensors. tmp.is_valid wird in /status zu false und die Vorlage erzeugt einen Fehler Temperature sensor error. Bleibt das Problem nach einem Neustart bestehen, ist der Sensor wahrscheinlich defekt — Shelly-Support kontaktieren.
Gerät nicht erreichbar
- Prüfe, ob das TRV mit dem WLAN verbunden ist — halte Up + Down 5 s gedrückt und blättere durch die Statusparameter;
CObedeutet verbundener WLAN-Client. - Bestätige, dass TapHome-CCU und TRV im gleichen Netzwerk / VLAN sind — Shelly Gen1 routet standardmäßig nicht über Subnetze.
- Versuche den mDNS-Hostnamen (
shellytrv-XXXXXX.local) statt der IP — die DHCP-Lease kann sich geändert haben. - Öffne
http://{device-ip}/statusim Browser. Wenn die JSON-Antwort kommt, ist das Gerät erreichbar und das Problem liegt in der TapHome-Konfiguration.
Gen1-Shelly-Geräte akzeptieren nur 2 gleichzeitige HTTP-Verbindungen. Wenn TapHome und ein weiteres System (Home Assistant, Node-RED) dasselbe Gerät gleichzeitig pollen, wird die Kommunikation instabil. Belasse das Polling-Intervall auf dem Vorlagen-Standard (3 s) und vermeide weitere Poller.
Das Aktivieren von MQTT deaktiviert unwiderruflich die Shelly-Cloud auf Gen1-Geräten. TapHome nutzt ausschließlich HTTP — lasse MQTT aus, sofern du nicht ausdrücklich von der Shelly-Cloud weg möchtest.