Pulizia a Zone con Xiaomi Robot Aspirapolvere
In questo articolo vi mostrerò come sia possibile comandare vocalmente l’aspirapolvere Xiaomi Roborock S5x o il fratello minore Mi Robot per fargli pulire una zona specifica della casa.
I requisiti sono:
aspirapolvere Xiaomi Mi Robot Amazon Banggood
o aspirapolvere Xiaomi Roborock S50 Amazon Banggood
Accesso di Home Assistant tramite https, vedi guida: Configurazione DuckDns
Configurazione IFTTT, vedi guida: Guida IFTTT
Mi-Home by Xcape l’app Android per recuperare il token del Vacuum scaricabile dal gruppo telegram a questo indirizzo: https://t.me/xcape4xiaomi
FloleVac un’altra app Android per gestire le zone del Vacuum lo trovate nel Google Play: https://play.google.com/store/apps/details?id=de.flole.xiaomi
Mi-Home
Iniziamo dall’app modificata di Mi-Home per accoppiare il robot ed estrarre successivamente il suo token. con questa app modificata la visualizzazione del token è in chiaro senza usare “trucchetti” non sempre funzionanti con le ultime relase dell’app ufficiale. Il token ci servirà per integrarlo in Home Assistant.
Ci spostiamo ora in Home Assistant ed inseriamo queste righe nel file configuration.yaml
1 2 3 4 5 |
vacuum: - platform: xiaomi_miio name: Vacuum token: 416d4c4xxxxxxxxxxxxxxxxx63474b4f host: 192.168.1.127 |
su
name: scriviamo il nome she vogliamo dargli
su
token: mettiamo il token che abbiamo trovato in Mi-home
su
host: mettiamo l’indirizzo IP del Robot
Possiamo ora riavviare Home Assistant. Compariranno poi dei nuovi servizi. La descrizione del nuovo component con tutti i relativi servizi li potete trovare nel sito ufficiale all’indirizzo https://www.home-assistant.io/components/vacuum/
FloleVac
FloleVac è un’applicazione che ci permette di controllare il nostro Vacuum con qualche piccola aggiunta rispetto la app ufficiale. Dopo averla collega all’account di Mi-Home sarà possibile comandare il Vacuum ma cosa più importante dall’app di Mi-Home si potrà rimettere su server Cina Continentale così si potrà nuovamente controllare tutti i dispositivi ad essa collegata.
Questa app ci permette di estrarre le coordinate per la pulizia a zone. Vediamo come estrarre le coordinate.
Dalla schermata principale premete sul menu in alto a sinistra
|
Premete ora su impostazioni
|
Inserite nome utente e password di Mi-Home e come server quello Europeo.
|
Tornate nella schermata iniziale e fate una prima pulizia. In questo modo il robot farà una mappatura di tutta la casa, in alternativa è possibile utilizzare il comando manuale.
|
Ora selezionate la zona interessata alla pulizia
|
Poi tenete premuto per qualche istante il tasto Ripulisci, in questo modo i dati verranno salvati. Usate una qualsiasi app di testo per memorizzare i dati e il nome della stanza, procedete per tutte le zone che volete creare. |
Le quote fanno sempre riferimento alla posizione della base, evitate quindi di spostarla (la posizione della base è 25500,25500).
Analizziamo ora un dato che abbiamo raccolto che determina una zona da pulire, es:
22679,24510,25979,28110,1
i primi 2 numeri sono l’angolo del rettangolo di selezione in basso a sinistra, gli altri 2 numeri sono l’angolo opposto in alto a destra, infine l’ultimo numero ad una cifra sono le passate che farà il robot
Con i dati che abbiamo salvato ora creeremo degli script da utilizzate con IFTTT.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
script: robot_pulizia_notte: alias: "Pulizia Zona Notte" sequence: - service: vacuum.send_command data: entity_id: vacuum.vacuum command: app_zoned_clean params: [[21973,24405,27523,33905,1],[26098,24507,30598,29557,1]] robot_pulizia_matrimoniale: alias: "Pulizia Matrimoniale" sequence: - service: vacuum.send_command data: command: app_zoned_clean entity_id: vacuum.vacuum params: [[22679,24510,25979,28110,1]] robot_pulizia_cameretta: alias: "Pulizia Camereta" sequence: - service: vacuum.send_command data: command: app_zoned_clean entity_id: vacuum.vacuum params: [[26078,24568,30678,26968,1]] robot_pulizia_vasca: alias: "Pulizia Bagno" sequence: - service: vacuum.send_command data: command: app_zoned_clean entity_id: vacuum.vacuum params: [[22017,30612,24917,32062,1]] robot_pulizia_studio: alias: "Pulizia Studio" sequence: - service: vacuum.send_command data: command: app_zoned_clean entity_id: vacuum.vacuum params: [[27169,27089,30519,29539,1]] |
Questi sono degli esempi di come devono essere gli script si possono fare più zone nello stesso script come nell’esempio Pulizia Zona Notte
Ora ci basterà creare delle Action in IFTTT che utilizzano il servizio di Google Assistant come è spiegato nella guida Guida Integrazione IFTTT
ATTENZIONE: una cosa molto importante da tenere a mente per evitare di perdere i riferimenti alle zone sono: evitare di fare la pulizia totale da app in quanto il Robot andrà nuovamente a mappare l’intera superficie e ruoterà la piantina, evitare anche di premere il pulsante pulizia totale dal Robot. Nel caso in cui la piantina si dovesse ruotare forzare la pulizia totale in questo modo si riposizionerà nel modo corretto.
16 risposte
Sono un felice possessore di Mi Robot prima generazione e per quanto molto interessante l’articolo da un punto di vista tecnico, onestamente, non ne vedo la minima utilità.
Il Robot va benissimo così com’è.
Fare quello scritto nell’articolo si trascina un mare di limitazioni collaterali che alla fine ti ritrovi molto meno che in origine nell’uso quotidiano.
Mi ricorda molto il jailbreak dell’iphone, sulla carta potevi fare quello che volevi, in pratica non potevi più aggiornare il telefono altrimenti perdevi tutto.
Meditate gente, meditate.
Comunque un grazie a chi cerca sempre alternative !
Non condivido il tuo pensiero.
Purtroppo non sempre è possibile fare una pulizia di casa totale.
Ad esempio se in casa hai un’area adibita al pasto di un animale o altro ti trovi costretto a spostare il recipiente dell’acqua o il cibo oppure prevedere una pulizia a zona.
Questo sistema ti permette di preimpostare delle zone predefinite dove fare la pulizia senza dover ogni volta perdere 5 minuti a disegnarle sulla mappa.
E poi vuoi mettere dire: Alexa pulisci cucina subito dopo aver sbriciolato un bel panino?
Trovo che il tutoria sia veramente ben fatto! Grazie
Bellissimo tutorial, complimenti. Vorrei chiederti se fare eseguire al robot la quotidiana pulizia programmata, provoca il reset della mappa.
Solo quando fai la pulizia totale non quella a zone
Bel progetto, il problema e’ che flolevac non cattura la mappa e quindi non si riescono a recuperare le coordinate della cartina
Prova a cambiare server su mi home
C’è un plugin scaricabile con hacs(Lovelace Xiaomi vacuum mapncard), che ti permette di trovare le coordinate, attivando l’opzione debug della card stessa.
ho un problema. da quando ho aggiornato alla 0.104.3 con invio un comando per la pulizia tramite google home, ottengo la risposta dallo speaker ma il robot non parte e compare in hassio una notifica “Login attempt or request with invalid authentication from 54.234.152.163” dove l’indirizzo ip cambia di volta in volta. Come posso risolvere? Grazie
ho il tuo stesso problema. Da quello che ho capito Homeassistance ha tolto la api password.
Qualcuno può aiutarci?
Ottima guida. Si riesce a far pronunciare a Google che la vaschetta della polvere é piena?
Grazie
No. In accordo con la guida ufficiale, il componente non ha un sensore per la vaschetta.
Salve, ho lo stesso problema rappresento da altri utenti sopra ma non vedo risposte. Praticamente quando invio un comando per la pulizia tramite google home, ottengo la risposta dallo speaker ma il robot non parte e compare in hassio una notifica “Login attempt or request with invalid authentication from xx.xxx.xxx.xxx” dove l’indirizzo ip cambia di volta in volta. Nessuno sa come risolvere? Come indicato dall’utente Donato, sembra dipendere dalla rimozione in home assistant dell’api password per l’autenticazione. Nessuno ha trovato una soluzione? Grazie.
La parte di IFTTT è totalmente cambiata in più c’è bisogno di un’automazione da inserire in HA per dialogare con IFTTT. Nella guida ufficiale è spiegato meglio.
Grazie per avermi risposto. A quale guida ti riferisci? Grazie ancora.
https://www.home-assistant.io/integrations/ifttt/
Sai cosa servirebbe? Una bella guida su cosa va dove. Mi spiego: hai parlato di script, ma dove va salvato un file con uno script? E altri? Ad esempio io ho perso giornate intere a capire come far funzionare il mio Roborock s1 con le card che si trovano in rete. Tutti danno per assodato che si sappia dove andare a salvare le varie cartelle e dove andare a scrivere qualche riga di codice per far riconoscere l’entità.
Altra cosa: ho una lampadina smart anonima. Non riesco mica a farla riconoscere. Sarebbe interessante anche una cosa del genere.
Grazie per quanto potrai fare.
Un saluto