
Xiaomi Mijia 1T (STYTJ02ZHM) je robotický vysavač s mopem vyráběný společností Dreame a prodávaný pod značkou Xiaomi. Tato šablona vyžaduje Valetudo — open-source firmware, který nahrazuje závislost na cloudu výrobce lokálním HTTP API. Po nainstalování Valetudo na robota TapHome komunikuje přímo s Valetudo REST API v2 v lokální síti. Není potřeba žádné cloudové připojení ani autentizace.
Šablona poskytuje monitorování baterie, vícehodnotový indikátor stavu a tlačítka pro spuštění, pozastavení, zastavení a dokování vysavače. Funkce lokalizace spustí zvukový signál pro nalezení robota.
Valetudo musí být nainstalováno na robotu před použitím této šablony. Šablona komunikuje s Valetudo HTTP API, ne s cloudovými službami Xiaomi. Rootování Xiaomi 1T vyžaduje 3,3 V USB-to-UART adaptér a Dreame Breakout PCB — podrobné instrukce najdeš na stránce podporovaných robotů Valetudo.
Konfigurace
Během importu šablony zadej IP adresu robota v lokální síti (výchozí hodnota je 192.168.0.1). Valetudo REST API naslouchá na portu 80 bez autentizace.
Protože Valetudo nevystavuje mDNS hostname, přiřaď robotu statickou IP adresu nebo DHCP rezervaci, aby se adresa nezměnila po restartu sítě.
Otevři
http://<robot-ip>/swagger/v prohlížeči pro interaktivní prozkoumání všech dostupných Valetudo API endpointů. Je to užitečné pro ověření konektivity a kontrolu aktuálního stavu robota.
Schopnosti zařízení
Stav baterie
Šablona čte stav nabití baterie z odpovědi /api/v2/robot/state/attributes. Parsuje BatteryStateAttribute.level (reportovaný jako 0–100) a dělí 100 pro vytvoření rozsahu 0,0–1,0 pro TapHome. Hodnota se aktualizuje každé 2,5 sekundy.
Stav vysavače
Vícehodnotový přepínač zobrazuje aktuální provozní stav robota. Šablona parsuje StatusStateAttribute.value z odpovědi atributů stavu a mapuje ho na celočíselný index:
| Stav | Hodnota | Popis |
|---|---|---|
| Docked | 0 | Robot je na nabíjecí stanici |
| Cleaning | 1 | Aktivní cyklus vysávání |
| Returning | 2 | Návrat ke stanici |
| Paused | 3 | Vysávání pozastaveno |
| Idle | 4 | Nevysává, není na stanici |
| Unknown | 9 | Nerozpoznaný stav |
Valetudo API může reportovat i stavy error, manual_control a moving — tyto nejsou individuálně mapovány a zobrazí se jako „Unknown" (hodnota 9).
Ovládání vysavače
Čtyři tlačítka ovládají vysavač přes endpoint BasicControlCapability:
- Start — spustí kompletní cyklus vysávání
- Pause — pozastaví aktuální operaci vysávání
- Stop — zastaví aktuální operaci vysávání
- Home — pošle robota zpět na nabíjecí stanici
Každé tlačítko odešle PUT požadavek na /api/v2/robot/capabilities/BasicControlCapability s odpovídající akcí.
Lokalizace
Tlačítko Locate spustí zvukový signál na robotu přes endpoint LocateCapability. Je to užitečné pro nalezení robota, když uvázl nebo je na neočekávaném místě.
Další schopnosti
Valetudo API vystavuje několik schopností, které nejsou v šabloně implementovány: ovládání rychlosti ventilátoru (předvolby sacího výkonu), ovládání spotřeby vody (intenzita mopování), zónové vysávání, navigace na konkrétní místo, snímky mapy, monitorování spotřebního materiálu (filtr, kartáče, senzory), hlasitost reproduktoru, plánování režimu nerušit, stav nabíjení a síla Wi-Fi signálu. Tyto mohou být přidány v budoucí aktualizaci šablony.
Řešení problémů
Zařízení neodpovídá
- Ověř, že robot je zapnutý, připojený k Wi-Fi a má platnou IP adresu
- Otevři
http://<robot-ip>/v prohlížeči — pokud se načte webové rozhraní Valetudo, API je dostupné - Zkontroluj, že TapHome a robot jsou ve stejné síti nebo VLANu
- Potvrď, že Valetudo běží — pokud byl robot obnoven do továrního nastavení, Valetudo může být potřeba přeinstalovat
Stav zobrazuje „Unknown" (???)
Šablona mapuje pět stavů (docked, cleaning, returning, paused, idle). Pokud robot reportuje error, manual_control nebo moving, stav se zobrazí jako „Unknown" (hodnota 9). Toto je očekávané chování — nemapované stavy se vyskytují při okrajových situacích jako manuální RC ovládání nebo obnova po chybě.
Stav baterie ukazuje nulu
- Potvrď, že Valetudo běží a API odpovídá na
/api/v2/robot/state/attributes - Zkontroluj, že odpověď obsahuje záznam
BatteryStateAttributes nenulovou hodnotoulevel - Pokud byl robot nedávno restartován, počkej na dokončení prvního pollingu stavu