/ tech

Zones de nettoyage Roborock

J'utilise le robot Xiaomi Roborock S50 pour le nettoyage de mon domicile.
Avec Home assistant il etait possible de lancer le nettoyage complet de l'appartement via Google Home.

Pour ce faire voici la procédure utilisée :

On créé le script de lancement du nettoyage

script:
  vacuumon:
    alias: Menage On
    sequence:
     - alias: menageon
       service: vacuum.start    
       data:
        entity_id: vacuum.xiaomi_vacuum

Dans le fichier configuration.yaml on declare le script pour home assistant

google_assistant:
  project_id: xxxx-yyyy
  api_key: APIKEY 
  expose_by_default: false
  exposed_domains:
    - switch
    - light
    - media_player
    - script
    - scene
    - input_boolean
  entity_config:
    script.vacuumon:
      name: Vacuum On
      expose: true
      aliases:
        - l'aspirateur

à partir de là un simple : "Ok Google, allume l'aspirateur" fonctionne.

Ce que l'on va tenter de mettre en place c'est le zoning pour le nettoyage.

Cartographie du domicile

On récupére la cartographie produite par le robot sur le telephone, j'ai fait un scrrenshot de l'ecran pour la récupérer.

J'ai utilisé Inkscape pour me permettre de positionner les pièces.

On charge notre screenshot sous Inkscape et on ajoute une grille via Extension > Rendu > Grille

Pour ma part j'ai procédé par une grille tous les 30x30

Ca donne quelque chose comme ca :
inkscape

Le point vert représente la station de charge, sa position sera toujours 25500,25500

A partir de la il faut tatonner pour pouvoir connaitre la position exacte des zones que l'on veut définir.

Definition des zones via Home Assistant

Le service vacuum.xiaomi_clean_zone va nous permettre de tester des zones simplement.

Une zone se définit comme un carré, avec comme premier point le coin bas gauche, et comme second le coin haut à droite.
A partir de là il suffit de tester une petite zone pour définir la valeur de notre grille précédement créée.

On va tester sur cette petite zone qui correspond à mon entrée :

inkscape_zoom

Je teste alors comme premier point 25500 25500 et comme second 26500 28500. J'ai du quand meme un peu tatonner pour trouver la valeur du second point. Je vous conseille d'y aller pas à pas (tous les 500) pour trouver la bonne valeur.

Ensuite dans la partie Services de Home assistant on peut tester notre zone :

HomeAssistant_service

Le nettoyage ciblé demarre.

Il ne reste plus qu'à definir les autres zones grace à la grille.

Et créer les scripts home assistant pour chaque piéce :

script:
  vacuumon:
    alias: Menage On
    sequence:
     - alias: menageon
       service: vacuum.start    
       data:
        entity_id: vacuum.xiaomi_vacuum
     - alias: entreeVacuum
       service: vacuum.xiaomi_clean_zone  
       data:
        entity_id: vacuum.xiaomi_vacuum
        zone:[[25500,25500,26500,28500]]
        repeats:1

et l'exposer pour Google Home

google_assistant:
  project_id: xxxx-yyyy
  api_key: APIKEY 
  expose_by_default: false
  exposed_domains:
    - switch
    - light
    - media_player
    - script
    - scene
    - input_boolean
  entity_config:
    script.vacuumon:
      name: Vacuum On
      expose: true
      aliases:
        - l'aspirateur
    script.entreeVacuum:
      name: Vacuum Entree
      expose: true
      aliases:
        - l'aspirateur dans l'entree 
Zones de nettoyage Roborock
Share this