Gestión nativa de las tarjetas de limpieza de los robots aspiradores

¡Hola! :waving_hand:

Estoy desarrollando un widget para la integración externa de Roborock que muestra el mapa del aspirador (a través de onWidgetGetImage). La visualización funciona muy bien, pero me encuentro con un límite en el vocabulario de los widgets: no hay forma de hacer el mapa interactivo.

Actualmente, en un widget solo se dispone de componentes estáticos (image, value, gauge, status, chart, card-list) + button (limitado a 4). Los límites concretos son:

• el mapa es una imagen estática: no se puede detectar un clic en una habitación;
• no hay componentes de selección (ni multi-selección, ni zonas clicables en la imagen);
• no hay estado de selección compartido entre componentes.

Mi solicitud: un componente que permita definir zonas clicables en una imagen/mapa (o un componente «mapa» dedicado) con un estado de selección, transmitido a la integración (tipo onWidgetAction).

Caso de uso concreto (aspiradoras): el usuario selecciona habitaciones directamente en el mapa, luego «Iniciar» lanza la limpieza dirigida de estas habitaciones (app_segment_clean). Es exactamente la experiencia de las aplicaciones nativas de Roborock / Dreame. También serviría para cualquier integración que necesite una selección en un plano (zonas, pisos…).

Mockup (casa genérica) — se mantiene el widget existente, solo se añade la selección en el mapa:

Hola @spenceur,

¡Gracias por la solicitud y el boceto! La necesidad es real y coincide con lo que está pasando en Dreame: Robots aspiradores: una línea de control completa en la caja Appareils.

En lugar de zonas clicables genéricas en los widgets, propongo:

  1. La selección de habitaciones se convierte en una funcionalidad central del aspirador, alineada con el clúster Matter Service Area: las habitaciones se declaran por dispositivo, se seleccionan varias, y « Iniciar » lanza la limpieza. Funciona para Roborock, Dreame y Matter, en el panel del aspirador y en las escenas.
  2. Tu widget simplemente muestra esta funcionalidad: la refieres como una baldosa value hoy, y Gladys dibuja las pastillas de habitaciones. La selección se comparte en todas las pantallas.
  3. El mapa sigue siendo una image: como tu integración recibe la selección, puedes dibujar las habitaciones seleccionadas encima.

Esto afecta al modelo de datos, por lo que habrá que empezar haciendo una especificación limpia :slight_smile:

¡Vaya un tema MUY interesante!!! :grinning_face:

Eso sería genial. ¿Dónde puedo votar? Estoy a favor…

aquí a nivel del título :wink:

:slight_smile: lo tenéis muy bien escondido… gracias

@spenceur he actualizado el título de la solicitud, ¿te parece bien? ¿Podrías modificar el contenido de la solicitud? :slight_smile:

Estoy un poco liado con un proyecto de un cliente, pero lo miro en cuanto tengo 10 minutos.