# Gestion native des cartes de nettoyages des aspirateurs robots

**URL:** <https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959>\
**Category:** Demande de fonctionnalités\
**Tags:** demande-core\
**Created:** [Octobre 5, 2026, 11:40 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959 "2026-10-05T11:40:11Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Octobre 5, 2026, 11:40 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/1 "2026-10-05T11:40:11Z")

</div>

## Objectif

Permettre à Gladys de gérer nativement les **zones/pièces** d’un aspirateur robot, afin de lancer un nettoyage ciblé par pièce depuis l’interface et les scènes — sans dépendre d’un widget spécifique ni de l’app constructeur.

Suite à l’échange avec @pierre-gilles, la demande est reformulée : plutôt qu’un simple composant widget « zones cliquables », il s’agit d’ajouter la notion de **surface de service (Service Area)** au cœur de Gladys, en s’alignant sur le standard **Matter – _Service Area_ cluster**. Le widget ne fera ensuite qu’exposer cette fonctionnalité existante.

## Le besoin

Aujourd’hui, l’intégration Roborock peut afficher la carte (via `onWidgetGetImage`), mais :

- la carte est une **image figée** : aucun moyen de détecter un clic sur une pièce ;
- il n’existe **aucune notion de pièce/zone** côté cœur Gladys ;
- impossible donc de lancer un `app_segment_clean` ciblé depuis Gladys, ni de l’utiliser dans une scène.

## Proposition (approche cœur, alignée Matter)

**1. Modèle de données cœur**

- Un appareil aspirateur peut déclarer une liste de **zones de service** (pièces), chacune avec :
  - un identifiant stable (`segment_id` / `area_id`),
  - un nom (« Cuisine », « Salon »…),
  - éventuellement une carte/étage de rattachement (support multi-cartes / multi-étages).

- Ces zones sont **remontées par l’intégration** (Roborock, Dreame…) et stockées côté Gladys, sur le modèle du cluster Matter _Service Area_ (`SupportedAreas`, `SelectedAreas`, `CurrentArea`).

**2. Sélection & commande**

- Depuis le **panneau aspirateur** : sélection d’une ou plusieurs pièces, puis « Lancer le nettoyage ».
- L’intégration traduit la sélection en commande native (`app_segment_clean` pour Roborock, équivalent Dreame…).

**3. Scènes**

- Une action de scène « Nettoyer la/les pièce(s) X » utilisant les zones déclarées (ex. « nettoyer la cuisine à 9h »).

**4. Widget**

- Le widget carte **affiche** les zones déclarées et relaie la sélection (ex. via `onWidgetAction`) vers cette fonctionnalité cœur — il ne porte plus la logique métier.

## Points à spécifier / questions ouvertes

- **Multi-cartes / multi-étages** : comment modéliser plusieurs cartes par appareil.
- **Synchronisation des segments** : les ids de pièces peuvent évoluer côté constructeur (re-cartographie) → stratégie de rafraîchissement/réconciliation.
- **Nommage** : noms importés du cloud constructeur vs noms définis dans Gladys.
- **Interface carte** : afficher les zones par-dessus l’image décodée, ou se contenter d’une liste de cases à cocher dans un premier temps (MVP).
- **Mapping Matter** : quels attributs/commandes du cluster _Service Area_ on expose exactement.

## Proposition de périmètre MVP

1. Remontée de la liste des pièces par l’intégration Roborock.
2. Stockage cœur des zones + sélection multiple dans le panneau aspirateur.
3. Commande `app_segment_clean` sur la sélection.
4. Action de scène équivalente.

_(La carte interactive et le multi-étages viendraient dans un second temps.)_

* * *

Mockup (maison générique) de l’expérience cible :

 ![mcp-Claude_Browser-blob-1791199649869-71lc41](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/d/e/dea3b0a7d550ef5736c8aa8ecc8f2aa0240aaa75.jpeg)

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 5, 2026, 1:05 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/2 "2026-10-05T13:05:57Z")

</div>

Salut @spenceur,

Merci pour la demande et la maquette ! Le besoin est réel, et il rejoint ce qui se passe côté Dreame : [Robots aspirateurs : une ligne de contrôle complète dans la boîte Appareils](https://community.gladysassistant.com/t/robots-aspirateurs-une-ligne-de-controle-complete-dans-la-boite-appareils/10945).

Plutôt que des zones cliquables génériques dans les widgets, je propose :

1. **La sélection de pièces devient une fonctionnalité d’aspirateur du cœur** , alignée sur le cluster Matter _Service Area_ : les pièces sont déclarées par appareil, on en sélectionne plusieurs, puis « Démarrer » lance le nettoyage. Ça marche pour Roborock, Dreame et Matter, dans le panneau aspirateur et dans les scènes.
2. **Ton widget affiche simplement cette fonctionnalité** : tu la références comme une tuile `value` aujourd’hui, et Gladys dessine les pastilles de pièces. La sélection est partagée sur tous les écrans.
3. **La carte reste une `image`** : comme ton intégration reçoit la sélection, tu peux dessiner les pièces sélectionnées dessus.

Ça touche au modèle de données, donc il faudra commencer par faire une spec propre 🙂

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Octobre 5, 2026, 2:01 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/3 "2026-10-05T14:01:27Z")

</div>

Voilà un sujet TRÈS intéressant !!! 😀

---

<div class="post-metadata">

**Author:** ![ruegerth](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/r/dbc845/32.png) [@ruegerth](https://community.gladysassistant.com/u/ruegerth)\
**Post date:** [Octobre 7, 2026, 3:45 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/4 "2026-10-07T15:45:17Z")

</div>

Ce serait super. Où puis-je voter ? Je suis pour…

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Octobre 7, 2026, 4:22 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/5 "2026-10-07T16:22:30Z")

</div>

ici au niveau du titre 😉

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/4/b/4be143b177552ba9b37d7314d076820afc6654e4.png)

---

<div class="post-metadata">

**Author:** ![ruegerth](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/r/dbc845/32.png) [@ruegerth](https://community.gladysassistant.com/u/ruegerth)\
**Post date:** [Octobre 7, 2026, 9:00 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/6 "2026-10-07T21:00:00Z")

</div>

🙂 vous l’avez bien caché… merci

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 9, 2026, 8:32 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/7 "2026-10-09T08:32:36Z")

</div>

@spenceur j’ai mis à jour le titre de la demande, est-ce que ça te va ? Est-ce que tu peux modifier le contenu de la demande ? 🙂

---

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Octobre 9, 2026, 9:01 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/8 "2026-10-09T09:01:38Z")

</div>

J’ai vue je suis un peu sous l’eau en ce moment sur un projet d’un client mais je regarde dès que jai 10min.

---

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Octobre 10, 2026, 10:35 UTC](https://community.gladysassistant.com/t/gestion-native-des-cartes-de-nettoyages-des-aspirateurs-robots/10959/9 "2026-10-10T10:35:45Z")

</div>

@pierre-gilles j’ai mis à jour le contenu de la demande dans le sens de ton retour : la proposition est maintenant centrée sur une gestion native des zones/pièces au cœur de Gladys, alignée sur le cluster Matter Service Area, avec le widget qui ne fait qu’exposer la fonctionnalité. J’ai ajouté une section « Points à spécifier / questions ouvertes » et une proposition de périmètre MVP. Dis-moi si ça te va, ou si tu préfères que je pousse jusqu’à une vraie spec détaillée.
