> 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/version-history-and-restore.md).

# Historial de versiones

Explora el historial de versiones de reglas en Kilo IoT y restaura cualquier versión anterior — auditoría completa de quién cambió qué y cuándo.

Cada guardado — ya sea manual, automático o activado por un evento de sesión — crea una versión de tu regla. El historial de versiones le da a tu equipo un registro de auditoría completo de cómo evolucionó una regla de automatización, quién la cambió y cuándo. Si un cambio introduce un comportamiento inesperado, puedes restaurar cualquier versión anterior sin perder nada en el proceso.

## Por qué el control de versiones importa en producción

Las reglas de automatización afectan directamente los resultados operativos. Un umbral mal configurado, una condición invertida o una rama de respaldo faltante pueden generar falsas alarmas, silenciar las reales o inundar tus canales de notificación. El historial de versiones significa que nunca quedas atrapado por una mala edición. Puedes revisar qué cambió, restaurar una versión conocida como buena y volver a desplegar — todo sin reconstruir la regla de memoria.

## Dónde encontrarlo

Abre una regla en **Edición** y haz clic en la **Historial** pestaña debajo de la barra de encabezado. La pestaña Historial forma parte únicamente de la ruta de edición. Si actualmente estás viendo una regla en `/rules/:id/view`, cambia primero a **Edición** . La página de historial se encuentra en `/rules/:id/edit/history`.

Encima de la tabla, un campo de búsqueda te permite filtrar versiones por:

* nombre de la versión
* autor
* tipo de guardado

## Tabla de historial de versiones

La pestaña Historial muestra una tabla de todas las versiones guardadas, ordenadas con la versión más reciente arriba.

### Columnas

| Columna                  | Descripción                                                                                                                |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| **Nombre de la versión** | Una etiqueta legible para humanos para la versión. Por defecto, usa el nombre generado automáticamente. Editable en línea. |
| **Fecha y hora**         | Cuándo se guardó la versión, con formato "dd MMM yyyy, HH:mm"                                                              |
| **Tipo de guardado**     | Cómo se creó la versión (ver abajo)                                                                                        |
| **Usuario**              | El miembro del equipo cuya sesión creó la versión                                                                          |

### Tipos de guardado

Cada versión registra cómo se creó:

| Tipo de guardado                   | Significado                                                                             |
| ---------------------------------- | --------------------------------------------------------------------------------------- |
| **manual**                         | El usuario hizo clic en el **Guardar** botón explícitamente                             |
| **automático**                     | Autoguardado periódico durante una sesión de edición activa                             |
| **cierre\_del\_editor**            | Guardado automáticamente cuando el usuario salió del editor                             |
| **desconexión**                    | Guardado cuando el navegador se cerró o la conexión se perdió inesperadamente           |
| **tiempo\_de\_espera\_de\_sesión** | Guardado después de que expiró el tiempo de espera por inactividad y la sesión se cerró |
| **limpieza\_de\_bloqueo**          | Guardado por un proceso en segundo plano cuando detectó un bloqueo vencido y lo liberó  |
| **restaurado**                     | Esta versión se creó al restaurar una versión anterior                                  |

Los tipos de guardado te ayudan a entender el contexto de cada versión. Una serie de entradas "auto" seguida de una entrada "manual" te dice que alguien estaba trabajando activamente y luego guardó deliberadamente. Una entrada "disconnect" te dice que la sesión terminó inesperadamente — comprueba si el trabajo de esa versión está completo.

<figure><img src="https://3373664356-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-a5ccddd6c8e057512d1c9ff6877a80f35b00a868%2Frules-version-history.jpg?alt=media" alt="The History tab listing saved versions with their date, save type and author"><figcaption></figcaption></figure>

## Cambiar el nombre de las versiones

De forma predeterminada, las versiones llevan nombres generados automáticamente. Puedes cambiar el nombre de cualquier versión para que tenga sentido para tu equipo — por ejemplo, "Antes de la refactorización de la puerta de enlace" o "Línea base de producción v3."

Para cambiar el nombre de una versión:

1. Haz clic en el **icono de lápiz** junto al nombre de la versión en la tabla de historial.
2. Escribe el nuevo nombre (hasta 100 caracteres).
3. Pulsa Enter o haz clic fuera para confirmar.

Restricciones de nombres:

* Máximo de 100 caracteres
* No puede duplicar el nombre de otra versión en la misma regla
* Los caracteres `<`, `>`, y `/` no están permitidos

Las versiones con buenos nombres hacen más rápido identificar el punto de restauración correcto cuando algo sale mal a las 2 AM.

## Ver una versión anterior

Para inspeccionar cómo se veía una regla en un punto específico en el tiempo:

1. Encuentra la versión en la tabla de historial.
2. Haz clic en el **icono de ojo** (Acción Ver) en esa fila.
3. El editor abre un visor BPMN de solo lectura que muestra el diagrama tal como existía en esa versión, en una ruta bajo `/rules/:id/edit/history/...`.

En la navegación normal, el segmento final de la ruta corresponde a la versión guardada seleccionada de la tabla.

En esta vista, no puedes editar ni modificar el diagrama. Hay dos botones disponibles:

* **Restaurar esta versión** — Inicia el flujo de restauración (ver abajo)
* **Salir del modo de vista** — Te devuelve a la pestaña Historial

## Restaurar una versión

Restaurar una versión la convierte en el estado actual de la regla. La restauración no sobrescribe ni elimina ningún historial — crea una nueva entrada en la parte superior de la tabla de historial como la versión actual, y la versión que estaba activa anteriormente se conserva en el historial.

### Cómo restaurar

1. Visualiza la versión que quieres restaurar (haz clic en el icono de ojo).
2. Haz clic en **Restaurar esta versión**.
3. Aparece un cuadro de diálogo de confirmación, que explica que la restauración creará una nueva versión actual y conservará la versión activa anterior en el historial.
4. Haz clic en **Restaurar** para confirmar.
5. La versión se restaura como la nueva versión actual con el tipo de guardado "restaurado."
6. La plataforma te devuelve al editor con la versión restaurada como el borrador actual.
7. La pestaña Historial se actualiza para mostrar la nueva entrada en la parte superior.

### Qué ocurre después de una restauración

* La versión restaurada se convierte en la versión activa en el editor.
* La versión que estaba activa antes de la restauración permanece en la tabla de historial — el trabajo guardado sigue siendo recuperable mediante el historial de versiones.
* La nueva entrada de versión muestra el tipo de guardado **restaurado** y registra al usuario que realizó la restauración.
* La versión restaurada es un borrador. No se despliega hasta que la compilas y la despliegas. Si el artefacto desplegado anterior sigue en ejecución, continuará ejecutando la lógica antigua hasta que despliegues una nueva compilación.

## Buenas prácticas

* **Nombra las versiones después de cambios significativos.** Antes de refactorizar una regla compleja, guarda manualmente y nombra la versión con algo reconocible. Esto te da un punto de restauración limpio si la refactorización sale mal.
* **Usa los nombres de las versiones para documentar la intención.** Una versión llamada "Se agregó una rama de respaldo para la humedad" es mucho más útil que "Versión 14" cuando estás revisando el historial seis meses después.
* **Revisa los tipos de guardado antes de restaurar.** Una versión "auto" o "disconnect" puede representar trabajo incompleto. Prefiere restaurar desde un guardado "manual" cuando sea posible.
* **Restaura antes de reconstruir.** Si una regla desplegada se está comportando mal, restaura primero a la última versión conocida como buena, y luego compila y despliega. No edites la versión rota bajo presión.


---

# 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/version-history-and-restore.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.
