TapHome

Xiaomi 1T (Valetudo)

Packet Parser → HTTP
Trimis de
Ultima actualizare: 03. 2026
Xiaomi 1T (Valetudo)

Xiaomi Mijia 1T (STYTJ02ZHM) este un robot aspirator cu mop, fabricat de Dreame și vândut sub marca Xiaomi. Acest șablon necesită Valetudo — un firmware open-source care înlocuiește dependența de cloud-ul producătorului cu un API HTTP local. După instalarea Valetudo pe robot, TapHome comunică direct cu Valetudo REST API v2 în rețeaua locală. Nu este necesară nicio conexiune la cloud și nicio autentificare.

Șablonul oferă monitorizarea bateriei, un indicator de stare cu mai multe valori și butoane pentru pornirea, întreruperea, oprirea și trimiterea aspiratorului la stația de încărcare. Funcția de localizare declanșează un semnal sonor care ajută la găsirea robotului.

Valetudo trebuie instalat pe robot înainte de a putea folosi acest șablon. Șablonul comunică cu API-ul HTTP Valetudo, nu cu serviciile cloud Xiaomi. Obținerea accesului root pe Xiaomi 1T necesită un adaptor USB-UART de 3,3 V și o placă Dreame Breakout PCB — instrucțiunile detaliate le găsiți pe pagina cu roboții acceptați de Valetudo.

Configurare

La importul șablonului, introduceți adresa IP a robotului în rețeaua locală (valoarea implicită: 192.168.0.1). Valetudo REST API ascultă pe portul 80, fără autentificare.

Deoarece Valetudo nu oferă un nume de gazdă mDNS, atribuiți robotului o adresă IP statică sau o rezervare DHCP, ca adresa să nu se schimbe după o repornire a rețelei.

Deschideți http://<robot-ip>/swagger/ în browser pentru a explora interactiv toate endpointurile disponibile ale API-ului Valetudo. Este util pentru verificarea conectivității și pentru a vedea starea curentă a robotului.

Funcțiile dispozitivului

Nivelul bateriei

Șablonul citește starea de încărcare a bateriei din răspunsul /api/v2/robot/state/attributes. Analizează BatteryStateAttribute.level (raportat ca 0–100) și împarte valoarea la 100, pentru a obține intervalul 0,0–1,0 pentru TapHome. Valoarea se actualizează la fiecare 2,5 secunde.

Starea aspiratorului

Un comutator cu mai multe valori afișează starea de funcționare curentă a robotului. Șablonul analizează StatusStateAttribute.value din răspunsul cu atributele de stare și îl transformă într-un index numeric:

StareValoareDescriere
Docked0Robotul este pe stația de încărcare
Cleaning1Ciclu de curățare activ
Returning2Se întoarce la stația de încărcare
Paused3Curățare întreruptă
Idle4Nu curăță și nu este pe stație
Unknown9Stare nerecunoscută

API-ul Valetudo poate raporta și stările error, manual_control și moving — acestea nu au o corespondență proprie și se afișează ca „Unknown” (valoarea 9).

Controlul aspiratorului

Patru dispozitive buton controlează aspiratorul prin endpointul BasicControlCapability:

  • Pornire — pornește un ciclu complet de curățare
  • Pauză — întrerupe curățarea în curs
  • Oprire — oprește curățarea în curs
  • Întoarcere la bază — trimite robotul înapoi la stația de încărcare

Fiecare buton trimite o cerere PUT la /api/v2/robot/capabilities/BasicControlCapability, cu acțiunea corespunzătoare.

Localizare

Butonul Localizare declanșează un semnal sonor pe robot prin endpointul LocateCapability. Este util pentru a găsi robotul când s-a blocat sau se află într-un loc neașteptat.

Funcții suplimentare

API-ul Valetudo oferă mai multe funcții care nu sunt implementate în prezent în șablon: controlul puterii de aspirare (presetări), controlul consumului de apă (intensitatea mopului), curățarea pe zone, deplasarea la o anumită locație, instantanee ale hărții, monitorizarea consumabilelor (filtru, perii, senzori), volumul difuzorului, programarea modului „nu deranjați”, starea încărcării și puterea semnalului Wi-Fi. Acestea pot fi adăugate într-o actualizare viitoare a șablonului.

Depanare

Dispozitivul nu răspunde
  1. Verificați dacă robotul este pornit, conectat la Wi-Fi și are o adresă IP validă
  2. Deschideți http://<robot-ip>/ în browser — dacă se încarcă interfața web Valetudo, API-ul este accesibil
  3. Verificați dacă TapHome și robotul sunt în aceeași rețea sau în același VLAN
  4. Confirmați că Valetudo rulează — dacă robotul a fost resetat la setările din fabrică, poate fi necesară reinstalarea Valetudo
Starea arată „Unknown” (???)

Șablonul recunoaște cinci stări (docked, cleaning, returning, paused, idle). Dacă robotul raportează error, manual_control sau moving, starea se afișează ca „Unknown” (valoarea 9). Este un comportament normal — stările fără corespondență apar în situații speciale, cum ar fi controlul manual cu telecomanda sau recuperarea după o eroare.

Nivelul bateriei este zero
  1. Confirmați că Valetudo rulează și că API-ul răspunde la /api/v2/robot/state/attributes
  2. Verificați dacă răspunsul conține o intrare BatteryStateAttribute cu o valoare level diferită de zero
  3. Dacă robotul a fost repornit recent, așteptați finalizarea primei interogări a stării

Dispozitive disponibile

Xiaomi 1T (Valetudo) Modul
Variabile personalizate

Xiaomi 1T (Valetudo)

Citire (modul)
VAR response := SENDHTTPREQUEST("/api/v2/robot/state/attributes");
IF response.IsSuccess
 state := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
Nivelul bateriei Intrare analogică Doar citire

Starea de încărcare a bateriei — procentul de energie rămasă (0–100 %)

numeric Unitate: %

Nivelul bateriei

Citirea nivelului de intrare
PARSEJSON(state, "$[?(@.__class == 'BatteryStateAttribute')].level") / 100
Întoarcere la bază Buton
action

Întoarcere la bază

Scrierea stării butonului
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
Localizare Buton

Declanșează un semnal sonor pe robot, care ajută la găsirea lui

action

Localizare

Scrierea stării butonului
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
Pauză Buton
action

Pauză

Scrierea stării butonului
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
Pornire Buton
action

Pornire

Scrierea stării butonului
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
Starea aspiratorului Comutator cu mai multe valori Doar citire

Starea de funcționare curentă — Docked, Cleaning, Returning, Paused, Idle sau Unknown

enum mapped
Valori / Stări: Docked · Cleaning · Returning · Paused · Idle · ???

Starea aspiratorului

Citirea stării comutatorului
var status := PARSEJSON(state, "$[?(@.__class == 'StatusStateAttribute')].value");

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

Oprire

Scrierea stării butonului
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
Conexiune: Packet Parser → HTTP
Îmbunătățiri posibile (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.

Surse

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal