Tutti gli articoli

· Casimiro Ferreira· 5 min di lettura

OpenVoiceOS e Home Assistant: la Dream Team dell'automazione vocale

  • OVOS
  • Home Assistant
  • Smart Home
  • Voice Automation

Questo articolo è stato originariamente pubblicato sul blog di OpenVoiceOS

Home Assistant si occupa dell’automazione; OVOS si occupa della voce. Nessuno dei due cerca di essere l’altro. È questa divisione delle responsabilità a far funzionare la combinazione: le integrazioni dei dispositivi e il motore di automazione di HA in coppia con lo stack vocale flessibile e completamente locale di OVOS.

Questo articolo illustra i tre livelli di integrazione: i ponti Wyoming per la pipeline vocale di HA, ovos-persona-server come agente conversazionale e HiveMind per esporre i dispositivi OVOS come entità native di HA.


Ponti Wyoming: i plugin vocali OVOS in Home Assistant

Il protocollo Wyoming è l’interfaccia standard di HA per i servizi esterni di ASR, TTS e parola di attivazione. Abbiamo costruito ponti Wyoming che espongono qualsiasi plugin OVOS tramite questo protocollo, il che significa che HA ottiene l’accesso a ogni plugin dell’ecosistema OVOS, non solo a una ristretta lista selezionata.

  • Wyoming OVOS ASR: Converte i comandi vocali in testo affinché Home Assistant li comprenda.
  • Wyoming OVOS TTS: Consente a Home Assistant di pronunciare le risposte utilizzando le diverse opzioni vocali di OVOS.
  • Wyoming OVOS Wakeword: Integra parole di attivazione personalizzate, permettendo al tuo Home Assistant di rispondere solo quando sente la frase di attivazione che hai scelto.

Il progetto OVOS Wyoming Docker impacchetta questi servizi in modo che siano a un solo docker compose up di distanza.

TTS multilingue da progetti linguistici a finanziamento pubblico

L’accessibilità include l’accessibilità linguistica. Questa integrazione porta voci di alta qualità e finanziate con fondi pubblici, da progetti come ILENIA, a un pubblico più ampio. Gli utenti di Home Assistant ottengono voci dal suono naturale per lingue come il catalano e il galiziano, direttamente dai progetti che le hanno costruite.

logo ILENIA


Usare OVOS come agente conversazionale per Home Assistant

Vuoi fare un passo in più? Puoi configurare OVOS come agente conversazionale a tutti gli effetti per Home Assistant utilizzando l’integrazione Ollama.

configurazione di ollama in Home Assistant

In questa configurazione, Home Assistant passa il testo dell’utente a ovos-persona-server; OVOS determina l’intento e restituisce la risposta affinché Home Assistant la pronunci. E poiché ovos-persona-server espone endpoint compatibili con Ollama, lo stesso server si collega a qualsiasi applicazione che parli le API di Ollama o di OpenAI, e non solo a Home Assistant.

conversazione con OVOS in Home Assistant


OVOS con la Voice PE

La Home Assistant Voice Preview Edition è un satellite hardware dedicato alla pipeline vocale di HA. Funziona con tutti i servizi Wyoming descritti sopra: basta puntarla verso una qualsiasi istanza attiva di wyoming-ovos-stt, wyoming-ovos-tts o wyoming-ovos-wakeword.

Configurazione della Home Assistant Voice Preview Edition


Portare i dispositivi OVOS in Home Assistant come entità con HiveMind

Se hai dispositivi OVOS dedicati, l’integrazione HiveMind HomeAssistant fa sì che compaiano come entità native in Home Assistant: un pannello di controllo unificato per l’intero parco dispositivi.

Configurare l’integrazione HiveMind:

Per integrare i tuoi dispositivi OVOS tramite HiveMind, di norma aggiungerai l’integrazione HiveMind in Home Assistant. Ciò comporta la fornitura di dettagli di connessione come un name per l’integrazione, una access_key, password, site_id, host (indirizzo IP o hostname del tuo server HiveMind) e la port (predefinita a 5678). Potresti anche avere opzioni per allow_self_signed (consentire certificati autofirmati) o abilitare legacy_audio, a seconda della tua configurazione.

configurazione di HiveMind in Home Assistant

Controlli esposti per i dispositivi OVOS:

Una volta integrato, HiveMind espone un insieme completo di controlli per i tuoi dispositivi OVOS direttamente all’interno di Home Assistant. Ciò ti consente di gestire vari aspetti del tuo dispositivo OVOS dall’interfaccia di Home Assistant, tra cui:

  • Modificare la Listening Mode (ad esempio, parola di attivazione, ascolto permanente)
  • Attivare/disattivare il Microphone Mute
  • Stato e controlli dell’OCP Player
  • Azioni come Reboot Device, Restart OVOS e Shutdown Device
  • Attivare/disattivare la Sleep Mode e l’SSH Service
  • Avviare manualmente l’ascolto (Start Listening) o fermarlo (Stop)
  • Controllare il livello del volume

entità HiveMind in Home Assistant

Integrazione delle notifiche:

HiveMind consente inoltre ai tuoi dispositivi OVOS di funzionare come destinatari di notifiche all’interno di Home Assistant. Ciò significa che puoi configurare le automazioni di Home Assistant per inviare notifiche vocali direttamente ai tuoi dispositivi OVOS, permettendo loro di “pronunciare” avvisi, promemoria o qualsiasi altra informazione che configuri. Questo è esposto come entità di notifica “Speak” in Home Assistant.

servizio di notifica HiveMind in Home Assistant

Integrazione con Media Player e Music Assistant:

I dispositivi OVOS compaiono anche come normali lettori multimediali in Home Assistant, così puoi controllare la riproduzione dalla consueta interfaccia del lettore multimediale. La stessa integrazione si estende a Music Assistant: trasmetti musica attraverso i tuoi dispositivi OVOS ed essi diventano parte del tuo sistema audio per tutta la casa.

lettore HiveMind in Home Assistant

lettore HiveMind in Music Assistant


Controllare le entità di Home Assistant da OVOS

La skill skill-homeassistant, mantenuta dalla comunità, dà a OVOS il controllo diretto sulle entità di Home Assistant tramite l’API REST di HA. Installala sul tuo dispositivo OVOS e potrai dire “accendi le luci del soggiorno” o “imposta il termostato a 21 gradi”, tutto in locale, senza cloud.


Cosa è ancora acerbo

I ponti Wyoming e l’integrazione HiveMind sono i pezzi più maturi qui; il percorso persona-server-come-agente-conversazionale è più recente e vale la pena provarlo per primo se vuoi vedere il limite di ciò che OVOS + HA possono fare insieme. Segnalazioni di bug e PR sono benvenute in tutti i repository collegati sopra.


OpenVoiceOS è un progetto comunitario: se ritieni che gli assistenti vocali debbano essere aperti, inclusivi e controllati dall’utente, sostieni il progetto con finanziamenti, dati aperti o traduzioni.