
Xiaomi Mijia 1T (STYTJ02ZHM) to robot odkurzająco-mopujący produkowany przez Dreame i sprzedawany pod marką Xiaomi. Ten szablon wymaga Valetudo — oprogramowania open-source, które zastępuje zależność od chmury producenta lokalnym API HTTP. Po zainstalowaniu Valetudo na robocie TapHome komunikuje się bezpośrednio z Valetudo REST API v2 w sieci lokalnej. Nie jest wymagane połączenie z chmurą ani uwierzytelnienie.
Szablon zapewnia monitorowanie baterii, wielowartościowy wskaźnik stanu oraz przyciski do uruchamiania, wstrzymywania, zatrzymywania i dokowania odkurzacza. Funkcja lokalizacji wyzwala sygnał dźwiękowy pomagający znaleźć robota.
Valetudo musi być zainstalowane na robocie przed użyciem tego szablonu. Szablon komunikuje się z API HTTP Valetudo, a nie z usługami chmurowymi Xiaomi. Rootowanie Xiaomi 1T wymaga adaptera USB-UART 3,3 V i płytki Dreame Breakout PCB — szczegółowe instrukcje znajdziesz na stronie obsługiwanych robotów Valetudo.
Konfiguracja
Podczas importu szablonu podaj adres IP robota w sieci lokalnej (domyślna wartość to 192.168.0.1). Valetudo REST API nasłuchuje na porcie 80 bez uwierzytelnienia.
Ponieważ Valetudo nie udostępnia nazwy hosta mDNS, przypisz robotowi statyczny adres IP lub rezerwację DHCP, aby adres nie zmienił się po restarcie sieci.
Otwórz
http://<robot-ip>/swagger/w przeglądarce, aby interaktywnie przeglądać wszystkie dostępne endpointy API Valetudo. Jest to przydatne do weryfikacji łączności i sprawdzania aktualnego stanu robota.
Możliwości urządzenia
Poziom baterii
Szablon odczytuje stan naładowania baterii z odpowiedzi /api/v2/robot/state/attributes. Analizuje BatteryStateAttribute.level (raportowany jako 0–100) i dzieli przez 100, aby uzyskać zakres 0,0–1,0 dla TapHome. Wartość aktualizuje się co 2,5 sekundy.
Stan odkurzacza
Wielowartościowy przełącznik wyświetla aktualny stan operacyjny robota. Szablon analizuje StatusStateAttribute.value z odpowiedzi atrybutów stanu i mapuje go na indeks całkowitoliczbowy:
| Stan | Wartość | Opis |
|---|---|---|
| Docked | 0 | Robot jest na stacji ładującej |
| Cleaning | 1 | Aktywny cykl odkurzania |
| Returning | 2 | Powrót do stacji |
| Paused | 3 | Odkurzanie wstrzymane |
| Idle | 4 | Nie odkurza, nie zadokowany |
| Unknown | 9 | Nierozpoznany stan |
API Valetudo może również raportować stany error, manual_control i moving — nie są one indywidualnie mapowane i wyświetlą się jako „Unknown" (wartość 9).
Sterowanie odkurzaczem
Cztery przyciski sterują odkurzaczem przez endpoint BasicControlCapability:
- Start — rozpoczyna pełny cykl odkurzania
- Pause — wstrzymuje bieżącą operację odkurzania
- Stop — zatrzymuje bieżącą operację odkurzania
- Home — odsyła robota z powrotem do stacji ładującej
Każdy przycisk wysyła żądanie PUT do /api/v2/robot/capabilities/BasicControlCapability z odpowiednią akcją.
Lokalizacja
Przycisk Locate wyzwala sygnał dźwiękowy na robocie przez endpoint LocateCapability. Jest to przydatne do znalezienia robota, gdy utknął lub znajduje się w nieoczekiwanym miejscu.
Dodatkowe możliwości
API Valetudo udostępnia kilka możliwości, które nie są obecnie zaimplementowane w szablonie: sterowanie prędkością wentylatora (presety mocy ssania), sterowanie zużyciem wody (intensywność mopowania), odkurzanie strefowe, nawigacja do określonego punktu, migawki mapy, monitorowanie materiałów eksploatacyjnych (filtr, szczotki, czujniki), głośność głośnika, planowanie trybu nie przeszkadzać, stan ładowania i siła sygnału WiFi. Mogą one zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Urządzenie nie odpowiada
- Sprawdź, czy robot jest włączony, połączony z Wi-Fi i ma prawidłowy adres IP
- Otwórz
http://<robot-ip>/w przeglądarce — jeśli interfejs webowy Valetudo się ładuje, API jest osiągalne - Sprawdź, czy TapHome i robot są w tej samej sieci lub VLAN
- Potwierdź, że Valetudo działa — jeśli robot został przywrócony do ustawień fabrycznych, Valetudo może wymagać ponownej instalacji
Stan pokazuje „Unknown" (???)
Szablon mapuje pięć stanów (docked, cleaning, returning, paused, idle). Jeśli robot raportuje error, manual_control lub moving, stan wyświetli się jako „Unknown" (wartość 9). To oczekiwane zachowanie — niemapowane stany występują w przypadkach brzegowych, takich jak manualne sterowanie RC lub odzyskiwanie po błędzie.
Poziom baterii pokazuje zero
- Potwierdź, że Valetudo działa i API odpowiada na
/api/v2/robot/state/attributes - Sprawdź, czy odpowiedź zawiera wpis
BatteryStateAttributez niezerową wartościąlevel - Jeśli robot został niedawno uruchomiony ponownie, poczekaj na zakończenie pierwszego odpytywania stanu