# Led Output

Este bloque de función proporciona un indicador visual sencillo para señales booleanas. Úsalo para comprobar rápidamente si una condición en tu escenario es TRUE, FALSE o indefinida.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Boolean` Este conector acepta una señal booleana para controlar el indicador LED. Conecta aquí cualquier salida lógica o condición.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

Este bloque de función no tiene salidas.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`led` Indicador LED visual mostrado en el bloque:

* Gray — la entrada es indefinida / None.
* Green — la entrada es TRUE.
* Red — la entrada es FALSE.

## 🎨 Funcionalidades <a href="#features" id="features"></a>

* Retroalimentación visual en tiempo real para señales booleanas.
* Código de colores claro para tres estados: indefinido, TRUE y FALSE.
* Ligero y apto para paneles de control o depuraciones rápidas.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Proporciona una señal booleana al conector `Boolean`.
2. Observa el color de `led` para conocer el estado actual:
   * Green para TRUE
   * Red para FALSE
   * Gray cuando no hay valor presente

Usa este bloque en pantallas de UI donde la retroalimentación visual inmediata sea útil.

## 📊 Evaluación <a href="#evaluation" id="evaluation"></a>

Cuando se ejecute el escenario, el bloque comprueba el valor booleano que llega al conector `Boolean` y actualiza el color de `led` en consecuencia. Si no hay ningún valor, el indicador muestra el estado indefinido.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para pruebas manuales, conecta un `Logic Input` al conector `Boolean` para que un operador pueda alternar el LED en vivo.
* Combina comprobaciones de condiciones antes del LED usando bloques lógicos como `And`, `Or` y `Not` para visualizar condiciones combinadas.
* Usa bloques de comparación como `Equals`, `Greater` o `Smaller` para convertir mediciones numéricas en señales booleanas para el LED.
* Emplea detectores de flanco como `Rising Edge` o `Edge Rising` para mostrar pulsos de evento en lugar de estados continuos.
* Añade comportamiento temporal con `Delay Step`, `ON Delay` o `OFF Delay` si quieres que el LED responda solo tras una condición sostenida.
* Utiliza `Set - Reset` para bloquear una condición y mantener el LED encendido hasta que se reinicie explícitamente.
* Integra con bloques de datos o comunicación aguas arriba (por ejemplo, `Data Write Local` / `Data Write Global` o `MQTT Publish` en la lógica que alimenta este bloque) para reflejar estados remotos o por red localmente.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* LED permanece gris: Verifica que el bloque anterior esté produciendo un valor booleano. Considera usar `Is None` o un simple `Logic Input` para probar el flujo.
* LED siempre rojo/verde pero la condición parece incorrecta: Revisa la lógica aguas arriba (comparaciones, fusiones) con indicadores intermedios o bloques de depuración antes de conectar al LED.
* Necesitas indicador persistente para eventos transitorios: Usa `Set - Reset` o un patrón de flanco-a-bloqueo para que un pulso corto se convierta en un estado visual sostenido.
