> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-es/kilo-iot-server/rules-engine/visual-editor.md).

# Editor visual

Diseña reglas de automatización en el lienzo BPMN visual de Kilo IoT — arrastra nodos, dibuja flujos, configura cada paso en el panel.

El editor visual es donde diseñas flujos de trabajo de automatización. Presenta un lienzo BPMN 2.0 donde colocas nodos, los conectas con flujos y configuras cada paso mediante un panel de propiedades.

Este es un editor centrado en lo visual, no un generador de reglas solo de arrastrar y soltar. La mayor parte del trabajo ocurre mediante la colocación de nodos y campos de formulario, mientras que CEL se usa en campos de expresión específicos donde la regla necesita lógica precisa.

## Cómo llegar

El editor se abre cuando:

* Haz clic en **Añadir regla** para crear una nueva regla (en `/rules/create`)
* Haz clic en **Editar** en una regla de la lista de Reglas (en `/rules/:id/edit/editor`)
* Cambia el selector de modo de **Visualización** a **Edición** mientras visualizas una regla

## Diseño del editor

El editor tiene cuatro áreas principales:

1. **Barra de herramientas / Paleta** — A la izquierda. Contiene tipos de nodos arrastrables y herramientas del lienzo.
2. **Lienzo** — El área central. Tu diagrama BPMN vive aquí.
3. **Panel de propiedades** — A la derecha. Se abre cuando seleccionas un nodo y muestra sus campos de configuración.
4. **Barra de encabezado** — En la parte superior. Muestra el nombre de la regla, el selector de modo, el estado de guardado automático y los botones de acción.

<figure><img src="https://3373664356-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-e08a020c61a10d4702120b8257dd2155e9a75b7c%2Frules-visual-editor.jpg?alt=media" alt="The rule editor with the tool palette on the left, the rule on the canvas and the header bar carrying Save and Build"><figcaption></figcaption></figure>

## Paleta

La paleta proporciona herramientas y elementos arrastrables que puedes colocar en el lienzo.

### Herramientas

| Herramienta                        | Qué hace                                                    |
| ---------------------------------- | ----------------------------------------------------------- |
| **Herramienta mano**               | Desplaza el lienzo sin seleccionar nada                     |
| **Herramienta lazo**               | Dibuja un cuadro de selección alrededor de varios elementos |
| **Herramienta espacio**            | Crea o elimina espacio entre elementos                      |
| **Herramienta de conexión global** | Dibuja una conexión (flujo) entre dos nodos                 |

### Elementos arrastrables

| Elemento                     | Descripción                                                                                                                                                        |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Evento de inicio**         | Punto de entrada de la regla: comienza desde un sensor de un dispositivo o una condición de activación guardada. Se coloca uno automáticamente en una regla nueva. |
| **Evento de fin**            | Termina una ruta de flujo                                                                                                                                          |
| **Compuerta exclusiva**      | Punto de decisión: enruta a una rama según las condiciones                                                                                                         |
| **Tarea de script**          | Evalúa una expresión CEL para transformar o clasificar datos                                                                                                       |
| **Establecer alarma**        | Activa una definición de alarma con un mensaje dinámico                                                                                                            |
| **Ejecutar comando**         | Envía un comando a un dispositivo cuando se activa la regla: controla el hardware, no solo genera una alerta                                                       |
| **Enriquecimiento**          | Recupera la lectura más reciente de otro sensor                                                                                                                    |
| **Evento de error de borde** | Se adjunta a una tarea para capturar errores y enrutar a una ruta de respaldo                                                                                      |

Arrastra un elemento desde la paleta al lienzo para añadirlo. Cada tipo de elemento y su configuración completa se documentan en [Referencia de nodos](/kilo-docs-es/kilo-iot-server/rules-engine/node-reference.md).

## Trabajar con el lienzo

### Añadir nodos

Arrastra elementos desde la paleta al lienzo. Colócalos en el orden en que quieres que se ejecute la regla.

### Conectar nodos

Usa la **Herramienta de conexión global** desde la paleta, o pasa el cursor sobre un nodo hasta que aparezcan los tiradores de conexión, luego arrastra de un nodo a otro. Esto crea un **flujo de secuencia** — una flecha que muestra el orden de ejecución.

Reglas para las conexiones:

* Los eventos de inicio y los nodos de tarea pueden tener un flujo saliente
* Las compuertas exclusivas pueden tener varios flujos salientes (uno por rama)
* Todo flujo de una compuerta (excepto el predeterminado) debe tener una expresión de condición
* Los eventos de fin no tienen flujos salientes

### Seleccionar y configurar nodos

Haz clic en un nodo para seleccionarlo. El panel de propiedades se abre a la derecha y muestra campos específicos de ese tipo de nodo. Configura el nodo y luego haz clic en **Guardar** en la parte inferior del panel de propiedades para aplicar tus cambios.

### Eliminar nodos

Selecciona un nodo y pulsa la tecla Supr, o usa el menú contextual para eliminarlo. Eliminar un flujo de compuerta requiere confirmación, ya que también elimina la conexión correspondiente del lienzo.

## Panel de propiedades

Cada tipo de nodo tiene su propio panel de propiedades con campos específicos. Cuando haces clic en un nodo, el panel se abre en el lado derecho del editor.

Campos comunes en la mayoría de los tipos de nodo:

* **Nombre** — Una etiqueta descriptiva para el nodo

Muchos tipos de nodo también exponen secciones de **Entradas** y **Salidas** basadas en CEL para un modelado avanzado de datos. Los campos específicos de cada nodo se tratan en detalle en [Referencia de nodos](/kilo-docs-es/kilo-iot-server/rules-engine/node-reference.md).

Después de editar las propiedades, haz clic en **Guardar** en la parte inferior del panel para aplicar los cambios. Haz clic en **Cancelar** para descartar.

## Barra de encabezado

### Nombre de la regla

Haz clic en el nombre de la regla en la parte superior para cambiarlo en línea (máx. 60 caracteres). El nombre se guarda cuando haces clic fuera o presionas Enter.

### Selector de modo

Un menú desplegable que muestra el modo actual:

* **Edición** — Acceso completo al lienzo y a las propiedades. Adquiere un bloqueo de edición.
* **Visualización** — Vista de solo lectura del diagrama. No se adquiere ningún bloqueo.

Cambiar de Visualización a Edición adquiere el bloqueo de edición (si está disponible). Cambiar de Edición a Visualización navega a la ruta de solo lectura. Si tienes cambios sin guardar en el diagrama, la plataforma te pide que confirmes el desbloqueo de la regla y, en los flujos normales de salida, intenta persistir el último estado del diagrama antes de liberar el bloqueo.

### Indicador de guardado automático

Muestra el estado actual del guardado:

* **Guardando...** — Hay un guardado en curso (con indicador giratorio)
* **Guardado** — Los últimos cambios se han guardado
* **Error en el guardado automático** — El guardado automático falló. Un diálogo ofrece reintentar o volver atrás.

### Menú de acciones

El menú de tres puntos (⋮) ofrece:

* **Cambiar nombre** — Abre el editor de nombre en línea
* **Editar descripción** — Abre un diálogo para editar la descripción de la regla (máx. 1.000 caracteres)
* **Duplicar regla** — Crea una copia de la regla

### Botones de acción

* **Guardar** — Guarda manualmente el estado actual. Crea una nueva versión. Deshabilitado cuando no hay cambios sin guardar.
* **Compilar** — Abre la barra lateral de compilación para validar y crear un artefacto de compilación. Consulta [Compilaciones, artefactos y despliegue](/kilo-docs-es/kilo-iot-server/rules-engine/builds-artifacts-and-deployment.md).

### Pestañas

Cuando editas una regla existente, aparecen dos pestañas debajo del encabezado:

* **Editor** — El lienzo BPMN (predeterminado)
* **Historial** — La tabla del historial de versiones. Consulta [Historial de versiones y restauración](/kilo-docs-es/kilo-iot-server/rules-engine/version-history-and-restore.md).

Estas pestañas solo se muestran mientras editas una regla existente guardada. No aparecen en el modo de visualización ni al crear una regla nueva sin guardar.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-es/kilo-iot-server/rules-engine/visual-editor.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
