---
title: "Xiaomi 1T (Valetudo)"
description: "Xiaomi Mijia 1T Saugroboter gesteuert über die Open-Source-Firmware Valetudo. Batteriestand überwachen, Reinigungsstatus verfolgen und den Saugroboter."
url: "https://taphome.com/de/compatibility/valetudo-xiaomi-1t/"
language: de
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","other","robot-vacuum","valetudo","wifi"]
  questions: ["Wie integriert man einen Valetudo-Saugroboter mit TapHome?","Was steuert die Xiaomi-1T-Valetudo-TapHome-Vorlage?","Wie verbindet man den Xiaomi 1T über HTTP mit TapHome?","Warum zeigt der Saugroboter-Status „Unbekannt\" in TapHome?","Was ist Valetudo und wie funktioniert es mit TapHome?","Wie prüft man den Batteriestand eines Valetudo-Saugroboters in TapHome?"]
---

# Xiaomi 1T (Valetudo)

Kommunikation: Packet Parser → HTTP

- [Valetudo — Open-Source Cloud-Ersatz](https://valetudo.cloud/)
- [Valetudo unterstützte Roboter](https://valetudo.cloud/pages/general/supported-robots.html)

> Netzwerkadresse
> 
> TapHome erreicht dieses Gerät unter der beim Import eingegebenen Adresse. Geben Sie dem Gerät eine feste Adresse — eine IP-Reservierung im Router oder seinen mDNS-Namen, falls es einen unterstützt —, sonst funktioniert die Integration nicht mehr, sobald der Router die Adresse ändert.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Xiaomi Mijia 1T (STYTJ02ZHM) ist ein Saugroboter mit Wischfunktion, hergestellt von Dreame und unter der Marke Xiaomi vertrieben. Diese Vorlage erfordert [Valetudo](https://valetudo.cloud/) — eine Open-Source-Firmware, die die Cloud-Abhängigkeit des Herstellers durch eine lokale HTTP-API ersetzt. Sobald Valetudo auf dem Roboter installiert ist, kommuniziert TapHome direkt mit der Valetudo REST API v2 im lokalen Netzwerk. Es ist keine Cloud-Verbindung oder Authentifizierung erforderlich.

Die Vorlage bietet Batterieüberwachung, eine Mehrwert-Statusanzeige und Schaltflächen zum Starten, Pausieren, Stoppen und Andocken des Saugroboters. Eine Ortungsfunktion löst einen akustischen Signalton aus, um den Roboter zu finden.

> [!WARNING]
> Valetudo muss auf dem Roboter installiert sein, bevor diese Vorlage verwendet werden kann. Die Vorlage kommuniziert mit der Valetudo HTTP-API, nicht mit den Cloud-Diensten von Xiaomi. Das Rooten des Xiaomi 1T erfordert einen 3,3-V-USB-zu-UART-Adapter und ein Dreame Breakout PCB — detaillierte Anweisungen findest du auf der [Valetudo-Seite für unterstützte Roboter](https://valetudo.cloud/pages/general/supported-robots.html).

## Konfiguration

Gib beim Import der Vorlage die IP-Adresse des Roboters im lokalen Netzwerk ein (der Standardplatzhalter ist `192.168.0.1`). Die Valetudo REST API lauscht auf Port 80 ohne Authentifizierung.

Da Valetudo keinen mDNS-Hostnamen bereitstellt, weise dem Roboter eine statische IP-Adresse oder eine DHCP-Reservierung zu, damit sich die Adresse nach einem Netzwerkneustart nicht ändert.

> [!TIP]
> Öffne `http://<robot-ip>/swagger/` im Browser, um alle verfügbaren Valetudo API-Endpunkte interaktiv zu erkunden. Dies ist nützlich zur Überprüfung der Konnektivität und zur Inspektion des aktuellen Roboterzustands.

## Gerätefähigkeiten

### Batteriestand

Die Vorlage liest den Ladezustand der Batterie aus der Antwort von `/api/v2/robot/state/attributes`. Sie parst `BatteryStateAttribute.level` (gemeldet als 0–100) und teilt durch 100, um einen Bereich von 0,0–1,0 für TapHome zu erzeugen. Der Wert wird alle 2,5 Sekunden aktualisiert.

### Saugroboter-Status

Ein Mehrwertschalter zeigt den aktuellen Betriebszustand des Roboters an. Die Vorlage parst `StatusStateAttribute.value` aus der Zustandsattribut-Antwort und ordnet ihn einem ganzzahligen Index zu:

| Status | Wert | Beschreibung |
|--------|------|-------------|
| Docked | 0 | Roboter ist auf der Ladestation |
| Cleaning | 1 | Aktiver Reinigungszyklus |
| Returning | 2 | Rückkehr zur Ladestation |
| Paused | 3 | Reinigung pausiert |
| Idle | 4 | Keine Reinigung, nicht angedockt |
| Unknown | 9 | Nicht erkannter Status |

Die Valetudo API kann auch die Status `error`, `manual_control` und `moving` melden — diese werden nicht einzeln zugeordnet und erscheinen als „Unknown" (Wert 9).

### Saugroboter-Steuerung

Vier Schaltflächen steuern den Saugroboter über den Endpunkt `BasicControlCapability`:

- **Start** — startet einen vollständigen Reinigungszyklus
- **Pause** — pausiert die aktuelle Reinigung
- **Stop** — stoppt die aktuelle Reinigung
- **Home** — schickt den Roboter zurück zur Ladestation

Jede Schaltfläche sendet eine `PUT`-Anfrage an `/api/v2/robot/capabilities/BasicControlCapability` mit der entsprechenden Aktion.

### Ortung

Die Locate-Schaltfläche löst über den Endpunkt `LocateCapability` einen akustischen Signalton auf dem Roboter aus. Dies ist nützlich, um den Roboter zu finden, wenn er feststeckt oder sich an einem unerwarteten Ort befindet.

### Weitere Fähigkeiten

Die Valetudo API stellt mehrere Fähigkeiten bereit, die derzeit nicht in der Vorlage implementiert sind: Lüftergeschwindigkeitssteuerung (Saugkraft-Voreinstellungen), Wasserverbrauchssteuerung (Wischintensität), Zonenreinigung, Navigation zu einem bestimmten Punkt, Kartenschnappschüsse, Verbrauchsmaterialüberwachung (Filter, Bürsten, Sensoren), Lautsprecherlautstärke, Nicht-stören-Planung, Ladestatus und WLAN-Signalstärke. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Gerät antwortet nicht

1. Überprüfe, ob der Roboter eingeschaltet, mit dem WLAN verbunden ist und eine gültige IP-Adresse hat
2. Öffne `http://<robot-ip>/` im Browser — wenn die Valetudo-Weboberfläche lädt, ist die API erreichbar
3. Prüfe, ob TapHome und der Roboter im selben Netzwerk oder VLAN sind
4. Bestätige, dass Valetudo läuft — wenn der Roboter auf Werkseinstellungen zurückgesetzt wurde, muss Valetudo möglicherweise neu installiert werden

### Status zeigt „Unknown" (???)

Die Vorlage ordnet fünf Status zu (docked, cleaning, returning, paused, idle). Wenn der Roboter `error`, `manual_control` oder `moving` meldet, wird der Status als „Unknown" (Wert 9) angezeigt. Dies ist erwartetes Verhalten — die nicht zugeordneten Status treten bei Randfällen wie manueller Fernsteuerung oder Fehlerbehebung auf.

### Batteriestand zeigt Null

1. Bestätige, dass Valetudo läuft und die API unter `/api/v2/robot/state/attributes` antwortet
2. Prüfe, ob die Antwort einen `BatteryStateAttribute`-Eintrag mit einem Wert ungleich Null für `level` enthält
3. Wenn der Roboter kürzlich neu gestartet wurde, warte auf den Abschluss der ersten Zustandsabfrage

## Verfügbare Geräte 7

Diese Geräte erscheinen nach dem Import in TapHome.

Xiaomi 1T (Valetudo) Modul

Benutzerdefinierte Variablen

Lesen (Modul)

```taphome
VAR response := SENDHTTPREQUEST("/api/v2/robot/state/attributes");
IF response.IsSuccess
 state := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Batteriestand Analogeingang Nur lesen

Ladezustand der Batterie — Prozentsatz der verbleibenden Energie (0–100 %)

numeric Einheit: %

Eingangslevel lesen

```taphome
PARSEJSON(state, "$[?(@.__class == 'BatteryStateAttribute')].level") / 100
```

Home Taster Lesen und Schreiben

action

Tastenstatus schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/v2/robot/capabilities/BasicControlCapability", "PUT", "{\"action\": \"home\"}", "accept: */*", "Content-Type: application/json");
IF response.IsSuccess
 var res := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Ortung Taster Lesen und Schreiben

Löst einen akustischen Signalton am Roboter aus, um ihn zu finden

action

Tastenstatus schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/v2/robot/capabilities/LocateCapability", "PUT", "{\"action\": \"locate\"}", "accept: */*", "Content-Type: application/json");
IF response.IsSuccess
 var res := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Pause Taster Lesen und Schreiben

action

Tastenstatus schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/v2/robot/capabilities/BasicControlCapability", "PUT", "{\"action\": \"pause\"}", "accept: */*", "Content-Type: application/json");
IF response.IsSuccess
 var res := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Start Taster Lesen und Schreiben

action

Tastenstatus schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/v2/robot/capabilities/BasicControlCapability", "PUT", "{\"action\": \"start\"}", "accept: */*", "Content-Type: application/json");
IF response.IsSuccess
 var res := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Saugroboter-Status Mehrwertschalter Nur lesen

Aktueller Betriebszustand — Docked, Cleaning, Returning, Paused, Idle oder Unknown

enum mapped

Werte / Zustände: Docked · Cleaning · Returning · Paused · Idle · ???

Schaltzustand lesen

```taphome
var status := PARSEJSON(state, "$[?(@.__class == 'StatusStateAttribute')].value");

switch(status,
"docked", 0,
"cleaning", 1,
"returning", 2,
"paused", 3,
"idle", 4,
9);
```

Stop Taster Lesen und Schreiben

action

Tastenstatus schreiben

```taphome
VAR response := SENDHTTPREQUEST("/api/v2/robot/capabilities/BasicControlCapability", "PUT", "{\"action\": \"stop\"}", "accept: */*", "Content-Type: application/json");
IF response.IsSuccess
 var res := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

**Verbindung:** Packet Parser → HTTP

Mögliche Verbesserungen (10)

- Fan speed control — Set suction power level (low, medium, high, max). Available via PUT with preset value.
- Water usage control — Set mopping water flow level (low, medium, high). Available on models with mopping support.
- Map snapshot — Retrieve current map as PNG image. Available via GET.
- Zone cleaning — Start cleaning of specific zones defined by coordinates.
- Go to location — Send robot to specific coordinates on the map.
- Consumable monitoring — Read remaining life of filter, main brush, side brush, and sensor. Percentage or hours remaining.
- Charging status — Battery charging state (charging, discharging, charged). Available in state attributes alongside battery level.
- Speaker volume — Set robot speaker volume level (0-100).
- Do not disturb — Enable/disable DND mode with start/end time.
- WiFi signal strength — WiFi RSSI and signal quality. Available in state attributes response.

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

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

## Quellen

- Valetudo Capabilities Overview
  
  [valetudo.cloud](https://valetudo.cloud/pages/usage/capabilities-overview.html) 2026-03-28
- Valetudo MQTT API Reference
  
  [valetudo.cloud](https://valetudo.cloud/pages/integrations/mqtt.html) 2026-03-28
- Valetudo REST API Overview (DeepWiki)
  
  [deepwiki.com](https://deepwiki.com/Hypfer/Valetudo) 2026-03-28
- Valetudo Supported Robots — Xiaomi 1T
  
  [valetudo.cloud](https://valetudo.cloud/pages/general/supported-robots.html) 2026-03-28

## Verwandte Dokumentation

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

