Nos escribe un cliente con una duda muy razonable: en la app Shelly, su puerta aparece con un interruptor que dice «Encendido» y, al cambiar, «Apagado». Lo que quiere es que diga «Abierto» y «Cerrado», porque su Shelly 1 Gen3 tiene un Add-on con un final de carrera conectado que sabe si la puerta está abierta o cerrada. Se puede, pero hay un matiz técnico que conviene entender primero, porque cambia por completo dónde hay que tocar.

Lo primero: ese toggle es el relé, no la puerta

El interruptor que ves con «Encendido/Apagado» es la salida de relé del Shelly 1 Gen3: el pulso que acciona el motor de la puerta. La app no permite cambiar ese texto y, además, no debería decir «Abierto/Cerrado», porque el relé solo da la orden al motor y no sabe si la puerta llegó realmente a abrirse. Lo que sí refleja la posición real es el final de carrera, el contacto que has conectado a la entrada DIGITAL IN del Shelly Plus Add-on acoplado al Shelly 1 Gen3.
Así que la solución no es renombrar el toggle, sino mostrar el estado del final de carrera como «Abierto/Cerrado» en una tarjeta aparte. Hay dos formas de hacerlo, según lo que te ofrezca tu versión de la app y el detalle que quieras.
Opción A (sin código): la entrada como sensor de puerta

Es la vía más rápida y no requiere escribir nada. El final de carrera va cableado a la entrada DIGITAL IN del Plus Add-on (dos hilos, sin tensión). Después, en la app Shelly Smart Control, abres el Shelly 1 Gen3 y añades el periférico de entrada digital. En los ajustes de esa entrada, si tu versión de la app lo ofrece, eliges el tipo puerta/garaje: con eso el estado se muestra como una tarjeta con su icono y el texto abierto/cerrado. Si sale al revés, activa «Invertir» en los ajustes de la entrada, y haz un ciclo completo de apertura y cierre para confirmar que el sensor reporta el estado correcto.
Si tu app no muestra el tipo de entrada «puerta», la entrada seguirá viéndose como un contacto genérico (activo/inactivo). En ese caso, o si quieres literalmente las palabras «Abierto» y «Cerrado», usa la Opción B.
Opción B (texto exacto): Componente Virtual + script

Los equipos Shelly Gen3 (y los Gen2/Plus con firmware actual) admiten Componentes Virtuales y scripts. Esto te permite crear una tarjeta con el texto exacto que quieras y mantenerla sincronizada con el final de carrera. El proceso es:
- En Componentes, crea un nuevo Componente Virtual de tipo Boolean. Ponle un nombre (por ejemplo, «Puerta») y define sus dos títulos: el estado verdadero como «Abierto» y el falso como «Cerrado». Elige la vista de etiqueta. Anota su ID (los virtuales van del 200 en adelante).
- Comprueba el ID de la entrada del Add-on en Componentes. Normalmente es
input:100. - En Ajustes > Scripts, crea un script, pega el código de abajo (ajusta los IDs si en tu equipo son otros) y actívalo. Marca «ejecutar al arrancar» para que siga funcionando tras un reinicio.
- Añade el Componente Virtual a un grupo para que aparezca en la pantalla de inicio de la app.
El script lee el estado del final de carrera y lo copia al Boolean cada vez que cambia; el Boolean, con tus títulos, muestra «Abierto» o «Cerrado»:
// Muestra ABIERTO / CERRADO desde el final de carrera del Add-on
// Ajusta los IDs si en tu equipo son otros (míralos en Componentes)
let ENTRADA = 100; // entrada digital del Add-on (suele ser input:100)
let BOOLEANO = 200; // tu Componente Virtual Boolean (p. ej. "Puerta")
let INVERTIR = false; // ponlo en true si el estado sale al revés
function sincroniza(estado) {
if (INVERTIR) estado = !estado;
Shelly.call("Boolean.Set", { id: BOOLEANO, value: estado });
}
// Estado al arrancar
Shelly.call("Input.GetStatus", { id: ENTRADA }, function (r) {
if (r) sincroniza(r.state);
});
// Cada vez que cambia el final de carrera
Shelly.addStatusHandler(function (e) {
if (e.name === "input" && e.id === ENTRADA && e.delta && e.delta.state !== undefined) {
sincroniza(e.delta.state);
}
});
Tras guardarlo, haz una apertura y un cierre completos: la tarjeta «Puerta» debe pasar de «Cerrado» a «Abierto» y volver. Si aparece al revés, pon INVERTIR = true (o invierte la entrada en sus ajustes).
Antes de empezar, ten en cuenta
- Necesitas el Add-on y el final de carrera. El estado de la puerta no sale del relé: hace falta el contacto físico en la entrada DIGITAL IN del Plus Add-on. El kit de puerta ya incluye las tres piezas emparejadas.
- El relé y el estado son independientes. Puedes seguir usando el toggle para abrir/cerrar y, aparte, tener la tarjeta «Abierto/Cerrado» que te dice la posición real.
- Comprueba siempre con un ciclo completo. Un final de carrera mal alineado puede no llegar a marcar «abierto»; ajústalo hasta que el estado cambie de verdad.
- El script se ejecuta en local. No depende de la nube: el estado se actualiza aunque no haya internet.
Preguntas frecuentes
¿Por qué el toggle dice «Encendido/Apagado» y no «Abierto/Cerrado»?
Porque es la salida de relé, es decir, el pulso que acciona el motor. No es la posición de la puerta, y por eso la app lo muestra como un interruptor on/off. El estado real lo da el final de carrera, que se muestra aparte.
¿Puedo cambiar directamente el texto «Encendido/Apagado» del relé?
No. La app no ofrece renombrar el estado on/off de una salida, y aunque pudieras, sería engañoso: el relé estar «encendido» no garantiza que la puerta esté abierta.
¿Qué necesito para ver «Abierto/Cerrado»?
Un final de carrera (contacto magnético) conectado a la entrada DIGITAL IN del Shelly Plus Add-on acoplado al Shelly 1 Gen3. El kit de puerta automática ya trae el Shelly, el Add-on y el sensor.
¿Opción A o B?
La A es más rápida y sin código, si tu versión de la app ofrece el tipo de entrada «puerta/garaje». La B te da el texto exacto «Abierto/Cerrado» y funciona aunque tu app no ofrezca ese tipo; a cambio, creas un componente y pegas un script.
¿El script se borra al reiniciar el equipo?
No, si marcas la opción «ejecutar al arrancar» al crearlo. Así se relanza solo cada vez que el Shelly se enciende.
¿Qué ID tiene la entrada del Add-on?
Normalmente input:100. Compruébalo en la sección Componentes del equipo y ajusta el valor ENTRADA del script si en el tuyo es distinto.
¿Funciona en equipos Gen2/Plus o solo en Gen3?
Los Componentes Virtuales y el scripting están disponibles en Gen3 y también en los Gen2/Plus con firmware actual. Si no ves la sección Componentes, actualiza el firmware del equipo.
Resumen y productos
- Pack Puerta Automática Shelly 1 Gen3 — incluye el Shelly 1 Gen3, el Plus Add-on y el final de carrera: justo lo necesario para ver el estado de la puerta.
- Shelly Plus Add-On — si ya tienes el Shelly y solo necesitas la entrada para el final de carrera.
- Shelly 1 Gen3 — el relé de contacto seco que maniobra el motor de la puerta.
Si quieres, te dejamos el componente y el script preparados para tu caso —con los IDs de tu equipo— para que solo tengas que copiarlo. Soporte técnico en español y envío desde España.

Dejar un comentario