MQTT / Home Assistant
<- volver al inicio del documento
Qué hace MQTT para Audio Forge
MQTT permite que Audio Forge se comunique con tu hogar inteligente para que puedas:
- Ver qué está haciendo Audio Forge (qué biblioteca, si se está reproduciendo Música/Ambiente).
- Iniciar la reproducción desde Home Assistant, Node-RED, o cualquier herramienta compatible con MQTT.
- Conectar Audio Forge con automatizaciones como luces, máquinas de niebla, interruptores de escena y más.
Si ya ejecutas un broker MQTT (Mosquitto, el broker incorporado de Home Assistant, etc.), Audio Forge puede conectarse y publicar su estado mientras escucha comandos.
Habilitando MQTT en Configuración
En Audio Forge, ve a Configuración → Control Externo → Integración de MQTT y habilita la función.
Puedes configurar:
- Host y Puerto (1883 por defecto, o 8883 para TLS).
- Alternar TLS/SSL.
- Usuario / Contraseña si tu broker los requiere.
- ID de Cliente (deja el valor por defecto a menos que necesites uno personalizado).
- Tema Base (por defecto:
audioforge/<nombre-del-dispositivo-o-id>; por ejemploaudioforge/mi-pc). - QoS (0/1/2; 1 es un buen valor por defecto).
- Si deseas retener el estado, conectarse automáticamente al iniciar, publicar estado, y suscribirse a comandos.
- Descubrimiento de MQTT y un Prefijo de descubrimiento opcional (usualmente
homeassistant). - Opciones avanzadas para exponer interruptores de Ambiente, exponer volúmenes de categoría, y exponer botones Echo como entidades adicionales.
Una vez conectado, Audio Forge publicará su disponibilidad y estado a tu broker y (opcionalmente) escuchará comandos.
Temas principales
Asumiendo que tu tema base es audioforge/mi-pc, Audio Forge utiliza:
audioforge/mi-pc/availability– estado deen línea/desconectado(retenido).audioforge/mi-pc/state– Instantánea JSON del estado de reproducción actual (retenido si habilitas Retener estado).audioforge/mi-pc/catalog– Catálogo JSON de todas las bibliotecas y sus categorías (retenido).audioforge/mi-pc/cmd– donde envías comandos JSON para controlar la reproducción.audioforge/mi-pc/result– respuestas JSON opcionales (éxito / error).audioforge/mi-pc/events/echo– eventos de “echo” de un solo uso (no retenidos).
La carga útil del estado incluye elementos como:
deviceId,libraryUuid,libraryName.- Si Música o Ambiente están reproduciéndose, además de sus volúmenes base.
- Las categorías que se están reproduciendo actualmente (
musicCategories/ambianceCategories). - Factores de volumen por-categoría (mapeo de
categoryVolume). - El último sonido de un solo uso (Echo) y el
volumeTransitionMsactual.
Control básico desde Home Assistant
Puedes usar Home Assistant de dos maneras:
- Entidades MQTT manuales: crear sensores/botones en YAML (o la interfaz) que leen de
statey publican encmd. - Descubrimiento MQTT (recomendado): habilita el “Descubrimiento MQTT” en la app y Audio Forge creará automáticamente entidades para ti.
Cuando el descubrimiento está habilitado, verás un dispositivo Audio Forge con:
- Sensores binarios (Disponible, Música Reproduciendo, Ambiente Reproduciendo).
- Sensores (Nombre de la biblioteca, categorías de Música/Ambiente, Último Echo).
- Botones (Reproducir / Pausar / Detener para Música y Ambiente).
- Selectores (elegir categorías de Música/Ambiente, cambiar bibliotecas).
- Números (volumen de Música/Ambiente, tiempo de transición de volumen, volúmenes por categoría opcionales).
- Interruptores opcionales (uno por categoría de Ambiente si decides exponerlos).
- Botones Echo opcionales (uno por categoría Echo cuando se exponen botones Echo).
Comandos comunes
Los comandos son pequeños objetos JSON publicados en <base>/cmd. Aquí algunos ejemplos útiles:
Reproducir una sección completa:
{"command": "play", "section": "Music"}
Reproducir una categoría específica por nombre:
{"command": "play", "section": "Music", "categoryName": "Battle"}
Pausar o detener:
{"command": "pause", "section": "Ambiance"}
{"command": "stop", "section": "Music"}
Establecer volumen (0.0-1.0):
{"command": "setVolume", "section": "Music", "value": 0.65}
Cambiar biblioteca:
{"command": "setActiveLibrary", "libraryName": "My Library"}
Reproducir un Echo de un solo uso:
{"command": "playEcho", "section": "Ambiance", "categoryName": "Chime"}
Restaurar un estado guardado desde un enlace creado por la aplicación:
{"command": "restoreState", "link": "<state-link-from-app>"}
Si no se puede ejecutar un comando (por ejemplo, si un nombre de categoría no existe), Audio Forge publica un error en <base>/result.
Ejemplo: automatización simple en Home Assistant
Aquí tienes una automatización mínima en Home Assistant que inicia una categoría “Battle” en Música cuando un interruptor auxiliar se enciende:
alias: Reproducir Batalla en Audio Forge
trigger:
- platform: state
entity_id: input_boolean.play_battle
to: "on"
action:
- service: mqtt.publish
data:
topic: "audioforge/mi-pc/cmd"
payload: >
{"command":"play","section":"Music","categoryName":"Battle"}
- service: input_boolean.turn_off
target:
entity_id: input_boolean.play_battle
Este es solo un ejemplo; puedes conectar Audio Forge a cualquier evento que desees (cambios de escena, botones físicos, botones de stream deck, etc.).

