MQTT / Home Assistant
<- torna alla radice della documentazione
Cosa fa MQTT per Audio Forge
MQTT consente ad Audio Forge di interagire con la tua smart home in modo da poter:
- Vedere cosa sta facendo Audio Forge (quale libreria, se la Musica/l’Ambiente stanno suonando).
- Avviare la riproduzione da Home Assistant, Node‑RED o qualsiasi strumento compatibile con MQTT.
- Collegare Audio Forge alle automazioni con luci, macchine del fumo, switch di scena e altro.
Se già utilizzi un broker MQTT (Mosquitto, il broker integrato di Home Assistant, ecc.), Audio Forge può connettersi ad esso e pubblicare il suo stato mentre ascolta i comandi.
Abilitare MQTT nelle Impostazioni
In Audio Forge, vai su Impostazioni → Controllo Esterno → Integrazione MQTT e abilita la funzione.
Puoi configurare:
- Host e Porta (1883 di default, o 8883 per TLS).
- Attivazione/disattivazione TLS/SSL.
- Nome utente / Password se richiesti dal tuo broker.
- ID client (lascia il valore predefinito a meno che tu non sappia di averne bisogno di uno personalizzato).
- Base Topic (predefinito:
audioforge/<nome-o-id-dispositivo>; ad esempioaudioforge/my-pc). - QoS (0/1/2; 1 è un buon valore predefinito).
- Se mantenere lo stato, connessione automatica all’avvio, pubblicare lo stato, e sottoscriversi ai comandi.
- Scoperta MQTT e un opzionale prefisso di scoperta (di solito
homeassistant). - Opzioni avanzate per esporre switch Ambiance, esporre i volumi delle categorie e esporre i pulsanti Echo come entità aggiuntive.
Una volta connesso, Audio Forge pubblicherà la sua disponibilità e stato al tuo broker e (facoltativamente) ascolterà i comandi.
Argomenti principali
Supponendo che il tuo base topic sia audioforge/my-pc, Audio Forge utilizza:
audioforge/my-pc/availability– statoonline/offline(conservato).audioforge/my-pc/state– istantanea JSON dello stato di riproduzione corrente (conservato se abiliti Mantenere lo stato).audioforge/my-pc/catalog– catalogo JSON di tutte le librerie e le loro categorie (conservato).audioforge/my-pc/cmd– dove invii comandi JSON per controllare la riproduzione.audioforge/my-pc/result– risposte JSON opzionali (successo / errore).audioforge/my-pc/events/echo– eventi “echo” unici (non conservati).
Il payload di stato include informazioni come:
deviceId,libraryUuid,libraryName.- Se Musica o Ambiente stanno suonando, più i loro volumi di base.
- Le categorie attualmente in riproduzione (
musicCategories/ambianceCategories). - Fattori di volume per categoria (
categoryVolumemapping). - L’ultimo evento one‑shot (Echo) e l’attuale
volumeTransitionMs.
Controllo di base da Home Assistant
Puoi utilizzare Home Assistant in due modi:
- Entità MQTT manuali: creare sensori/pulsanti in YAML (o tramite l’interfaccia grafica) che leggono dallo
statee pubblicano sucmd. - Scoperta MQTT (consigliato): abilita la “Scoperta MQTT” nell’app e Audio Forge creerà automaticamente le entità per te.
Quando la scoperta è abilitata, vedrai un dispositivo Audio Forge con:
- Sensori binari (Disponibile, Musica in Riproduzione, Ambiente in Riproduzione).
- Sensori (Nome libreria, Categorie Musica/Ambiente, Ultimo Echo).
- Pulsanti (Play / Pausa / Stop per Musica e Ambiente).
- Selettori (scegliere categorie Musica/Ambiente, cambiare librerie).
- Numeri (Volume Musica/Ambiente, tempo di transizione del volume, volumi per categoria opzionali).
- Switch opzionali (uno per ogni categoria Ambience se si sceglie di esporli).
- Pulsanti Echo opzionali (uno per ogni categoria Echo quando i pulsanti Echo vengono esposti).
Comandi comuni
I comandi sono piccoli oggetti JSON pubblicati su <base>/cmd. Ecco alcuni esempi utili:
Riprodurre un’intera sezione:
{"command": "play", "section": "Music"}
Riprodurre una categoria specifica per nome:
{"command": "play", "section": "Music", "categoryName": "Battle"}
Mettere in pausa o fermare:
{"command": "pause", "section": "Ambiance"}
{"command": "stop", "section": "Music"}
Impostare il volume (0.0–1.0):
{"command": "setVolume", "section": "Music", "value": 0.65}
Cambiare libreria:
{"command": "setActiveLibrary", "libraryName": "La Mia Libreria"}
Riprodurre un Echo one‑shot:
{"command": "playEcho", "section": "Ambiance", "categoryName": "Chime"}
Ripristinare uno stato salvato da un link creato dall’app:
{"command": "restoreState", "link": "<state-link-from-app>"}
Se un comando non può essere eseguito (ad esempio, un nome di categoria non esiste), Audio Forge pubblica un errore su <base>/result.
Esempio: semplice automazione di Home Assistant
Ecco una semplice automazione di Home Assistant che avvia una categoria “Battle” nella Musica quando uno switch helper viene attivato:
alias: Play Battle in Audio Forge
trigger:
- platform: state
entity_id: input_boolean.play_battle
to: "on"
action:
- service: mqtt.publish
data:
topic: "audioforge/my-pc/cmd"
payload: >
{"command":"play","section":"Music","categoryName":"Battle"}
- service: input_boolean.turn_off
target:
entity_id: input_boolean.play_battle
Questo è solo un esempio; puoi collegare Audio Forge a qualsiasi evento tu voglia (cambiamenti di scena, pulsanti fisici, pulsanti del stream deck, ecc.).

