Documentación: Nodo Eliminar Memoria (Memory Delete)¶
Descripción General¶
El Nodo Eliminar Memoria (Memory Delete) es un nodo de acción de la familia Memory que elimina un valor almacenado en la memoria de automatizaciones a partir de su clave (key). La memoria permite persistir datos entre ejecuciones (por ejemplo, el último estado conocido de un sensor, un contador o una marca temporal); este nodo borra esa entrada cuando ya no se necesita.
En entornos IoT e industriales es útil para reiniciar el estado guardado de un proceso: limpiar la marca de "alarma ya notificada", reiniciar un contador al inicio de un turno, o liberar datos temporales tras completar una rutina.
¿Cuándo usar este nodo?¶
Utiliza este nodo cuando necesites:
- Reiniciar un valor persistente (contador, bandera, último estado) al comienzo o final de un proceso.
- Limpiar datos temporales que ya cumplieron su propósito para evitar que se reutilicen por error.
- Forzar que la siguiente ejecución vuelva a calcular desde cero un valor que antes estaba en memoria (ver [[memory-set]], [[memory-get]], [[memory-check]]).
Configuración del Nodo¶
El nodo cuenta con dos pestañas de configuración: Formulario (Form) y Editor de JSON (JSON Editor).

Vista Formulario¶
1. Clave (Key) *Requerido¶
La clave de la entrada de memoria que se desea eliminar. Debe coincidir exactamente con la clave usada al guardar el valor (con Memory Set). Soporta expresiones de plantilla para construir claves dinámicas (por ejemplo, last_state_{{trigger.object_id}}).

Vista Editor de JSON¶

Estructura JSON (Parámetros de entrada)¶
{
"key": "last_state_sensor_north_perimeter"
}
Campos del JSON¶
| Campo | Tipo | Descripción |
|---|---|---|
key |
string | Clave de la entrada de memoria a eliminar. Soporta expresiones de plantilla. |
Output: Dónde viene la data del nodo¶
El nodo no produce un payload de datos; su efecto es eliminar la entrada de memoria indicada. Tras ejecutarse, una posterior lectura de esa clave (con Memory Get o Memory Check) ya no la encontrará. El nodo finaliza marcado como exitoso (borde verde) tanto si la clave existía como si no.
Ejemplos de uso¶
Ejemplo 1: Reiniciar el estado guardado de un sensor¶
Caso de uso: Una automatización guarda el último estado del sensor del perímetro norte para detectar cambios. Al cerrar el turno, se elimina esa clave para que la siguiente jornada empiece sin estado previo.
- Key:
last_state_sensor_north_perimeter
(ver estructura JSON anterior)
Ejemplo 2: Limpiar una bandera por dispositivo¶
Caso de uso: Tras resolver una alarma, se elimina la bandera "ya notificada" de ese objeto para permitir nuevas notificaciones en el futuro.
- Key:
alarm_notified_{{trigger.object_id}}
Validación y errores¶
| Condición | Causa / Solución habitual |
|---|---|
| La clave no se elimina | Verifica que la key coincida exactamente con la usada en Memory Set (mayúsculas, guiones, plantilla resuelta). |
| El valor sigue apareciendo | Asegúrate de que el nodo Memory Delete se ejecute antes de la lectura que esperabas ver vacía. |
Buenas prácticas¶
- Claves consistentes: usa la misma convención de nombres que en Memory Set para no dejar entradas huérfanas.
- Claves dinámicas por recurso: con plantillas (
{{trigger.object_id}}) puedes limpiar la memoria de un objeto específico sin afectar a los demás. - Limpiar al cerrar un ciclo: elimina los datos temporales al final de la rutina que los creó para mantener la memoria ordenada.
- Encadenar con la lógica de memoria: combínalo con [[memory-set]], [[memory-get]] y [[memory-check]] para un manejo completo del estado persistente.