Saltar al contenido principal

Control de voz local en Home Assistant — Selección, despliegue y datos medidos

Antes de usarlo

Comandos de voz en chino e inglés. La integración oficial de Xiaomi Home para Home Assistant tiene licencia solo para uso no comercial y no viene preinstalada; no la uses en proyectos comerciales.

Qué hace esta solución​

Integra las luces, cortinas, aire acondicionado y sensores Zigbee de una casa en Home Assistant y los controla con una sola frase. Di "enciende la luz del salón" y Home Assistant lo ejecuta localmente y responde que la luz está encendida. El reconocimiento y la síntesis de voz se ejecutan en un reComputer J40 local, por lo que el audio hablado no se sube a un servicio de voz en la nube. Es adecuado para salones y dormitorios, y para integradores de domótica que entregan sistemas en casas de clientes.

  • Sin audio en la nube

    La comprensión del comando y la generación de la respuesta ocurren ambas en el reComputer J40; Home Assistant se ejecuta localmente.

  • Texto 0,12 s después del habla

    Mediana sobre 5 comandos en chino e inglés; consulta "Rendimiento y datos medidos".

  • Integración nativa con Home Assistant

    El servicio de voz se une al asistente de voz de Home Assistant a través de la integración Wyoming Protocol, sin cambios en Home Assistant.

  • Dispositivos Zigbee directamente

    Conecta un Connect ZBT-2 y los sensores y conmutadores Zigbee se unen a Home Assistant sin gateways de marca.

En un dispositivo real​

Un intercambio en el asistente de voz de Home Assistant: el "enciende la luz del salón" hablado (en chino) es reconocido por el servicio de voz local, Home Assistant lo ejecuta y responde que la luz está encendida, y la tarjeta de la luz del salón a la derecha se enciende.

Asistente de voz de Home Assistant: enciende la luz del salón, la luz está encendida
Panel de Home Assistant: luz del salón, cortinas, temperatura, humedad, aire acondicionado; luz del dormitorio y humidificador

Las luces, cortinas, aire acondicionado y sensores de las capturas de pantalla son dispositivos de demostración simulados; la entrada de voz fue sintetizada por el mismo reComputer J40, no grabada de una persona.

Hardware que necesitas​

Cuatro elementos en el lugar: el host de Home Assistant, el host de voz, un coordinador Zigbee y un terminal de voz.

DispositivoFunciónNotas
Host ARM64 Linux (SO de 64 bits, 8 GB de RAM)Ejecuta Home AssistantUno por hogar
reComputer J4012 reComputer J40 Series (J4012, Orin NX 16GB)Reconocimiento y síntesis de voz localesDescarga los modelos de voz en el primer arranque; deja al menos 30 GB de disco libres
Home Assistant Connect ZBT-2Integra dispositivos ZigbeeSe conecta a un puerto USB del host de Home Assistant
Home Assistant Voice Preview EditionTerminal de voz en la habitación: escucha y reproduce respuestasUno por habitación
Sensores Zigbee SONOFF SNZB (opcional)Temperatura, humedad y otros estadosSe unen a través del ZBT-2

El host de Home Assistant, el reComputer J40 y los terminales de voz comparten una misma LAN. Para la app Apple Home, el iPhone debe estar en la misma LAN que el host de Home Assistant.

Despliegue en el lugar​

1. Coloca los dispositivos​

Mantén el host de voz separado de Home Assistant

El reComputer J40 solo ejecuta el servicio de voz, por lo que puede estar en un armario o rack de red y comunicarse con Home Assistant a través de la LAN; coloca un terminal de voz en cada habitación donde la gente hable.

2. Instala el software: tres pasos​

Los pasos por dispositivo están en la página de diseño de referencia; esto es el esquema general.


  1. Host de Home Assistant: despliega Home Assistant con las frases de comando en chino, inglés y japonés incluidas y la plantilla de habitaciones/dispositivos.
  2. Host de voz: despliega el servicio de voz en el reComputer J40; descarga los modelos en el primer arranque y después el reconocimiento y la síntesis se ejecutan en el dispositivo.
  3. Conecta y comprueba: añade la integración Wyoming Protocol en Home Assistant apuntando a los dos puertos del reComputer J40, selecciónalo como reconocimiento de voz a texto y texto a voz del asistente, luego di "enciende la luz del salón" a un terminal de voz y confirma que la luz se enciende.

Interfaces​

El servicio de voz se ofrece a Home Assistant a través de Wyoming Protocol; toda la demás automatización permanece en Home Assistant.

  • Home Assistant: añade la integración Wyoming Protocol; seeed-local-voice aparece como voz a texto y texto a voz en el asistente de voz.
  • Apple Home / Siri: el puente HomeKit de Home Assistant sincroniza los dispositivos con el iPhone.
  • Tu propio sistema: lee y escribe estados de dispositivos a través del propio API de Home Assistant.
PuertoMáquinaContenido
HTTP 8123Host de Home AssistantInterfaz web y API de Home Assistant
TCP 10300reComputer J40Servicio de voz a texto (Wyoming)
TCP 10200reComputer J40Servicio de texto a voz (Wyoming)

Rendimiento y datos medidos​

De extremo a extremo: del habla a la acción​

Home Assistant se ejecutó en un host ARM64 Linux con 8 GB de RAM y el servicio de voz en un reComputer J40 Series (Orin NX 16GB); la entrada fue voz sintetizada enviada al asistente de voz de Home Assistant.

MétricaResultado
Comandos de luz en chino e inglés5/5 ejecutados, todos gestionados localmente por Home Assistant (medido)
Del final del habla al texto reconocidomediana 0,12 s, rango 0,11–0,95 s (medido)

Reproducir: sensecraft-solutions/solutions/home_assistant_whole_home (paquete de despliegue)

Servicio de voz por sí solo​

Mismo reComputer J40 Series, servicio de voz llamado directamente, voz sintetizada mono de 16 kHz como entrada.

TextoPrimer audio de respuestaReconocidoTranscripción tras el final del habla
打开客厅灯 (turn on the living room light)0.122 s (medido)打开客厅灯。0.383 s (medido)
关闭卧室的灯 (turn off the bedroom light)0.049 s (medido)关闭卧室的灯。0.421 s (medido)
Turn on the living room light0.115 s (medido)Turn on the living room light.0.579 s (medido)

A través de la ruta Wyoming, dos muestras se transcribieron en 0,13 s (medido).

Reproducir: sensecraft-solutions/solutions/home_assistant_whole_home/assets/docker/docker-compose.jetson-voice.yml

Modelos y runtimes​

DispositivoReconocimiento de vozSíntesis de vozRuntime
reComputer J40 SeriesQwen3-ASRMatcha-TTSTensorRT-Edge-LLM / TensorRT

Ajustes que afectan a los resultados:

  • Idioma del asistente: chino o inglés, cada uno con sus frases de comando incluidas.
  • Nombres de dispositivos y habitaciones: los comandos coinciden con los nombres en Home Assistant, por lo que "living room light" debe coincidir con el nombre de la entidad.

Degradaciones conocidas​

  • Alias de entidad y divergencia en la formulación: La coincidencia de intenciones se basa en los nombres y alias de las entidades. Si una frase hablada se desvía significativamente del alias de entidad de Home Assistant configurado, el texto puede transcribirse correctamente sin que se dispare una automatización.
  • Intenciones compuestas y secuenciales: La canalización está ajustada para el control del hogar con una sola intención; las solicitudes compuestas (por ejemplo, "turn on AC and close the blinds halfway") deben emitirse como comandos separados.
  • Concurrencia de voz en múltiples clientes: Un único host J4012 atiende cómodamente de 1 a 3 endpoints satélite de voz; entradas de voz largas y simultáneas desde varias habitaciones pueden causar un ligero aumento en el tiempo hasta el primer token.

Fuentes de datos y recursos​

  • Las capturas de pantalla provienen de Home Assistant 2026.9.3 (Licencia Apache 2.0, home-assistant.io) con dispositivos simulados.
  • La entrada de voz fue generada por la misma síntesis de voz del reComputer J40; no se utilizaron grabaciones humanas ni audio de terceros.
Loading Comments...