Composant carte interactive (zones cliquables) pour les widgets d'intégration externe

Bonjour :waving_hand:

Je développe un widget pour l’intégration externe Roborock qui affiche la carte de l’aspirateur (via onWidgetGetImage). Le rendu fonctionne très bien, mais je bute sur une limite du vocabulaire des widgets : il n’existe aucun moyen de rendre la carte interactive.

Aujourd’hui dans un widget on ne dispose que de composants statiques (image, value, gauge, status, chart, card-list) + button (plafonné à 4). Les limites concrètes :

• la carte est une image figée : impossible de détecter un clic sur une pièce ;
• aucun composant de sélection (ni multi-select, ni zones cliquables sur image) ;
• pas d’état de sélection partagé entre composants.

Ma demande : un composant permettant de définir des zones cliquables sur une image / carte (ou un composant « carte » dédié) avec un état de sélection, relayé à l’intégration (type onWidgetAction).

Cas d’usage concret (aspirateurs) : l’utilisateur sélectionne des pièces directement sur la carte, puis « Démarrer » lance le nettoyage ciblé de ces pièces (app_segment_clean). C’est exactement l’expérience des apps Roborock / Dreame natives. Ça servirait aussi à toute intégration ayant besoin d’une sélection sur un plan (zones, étages…).

Mockup (maison générique) — on garde le widget existant, on ajoute seulement la sélection sur la carte :

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.

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 :slight_smile:

Voilà un sujet TRÈS intéressant !!! :grinning_face: