Ir al contenido principal

Como Controlar Home Assistant con LLMs: GPT-4, Claude y Lenguaje Natural [Tutorial 2026]

16 de febrero de 2026
22 min

Controla Home Assistant con lenguaje natural usando LLMs: GPT-4, Claude o modelos locales. Crea automatizaciones por voz, ejecuta servicios y consulta historiales. Tutorial 2026.

Javier Santos

Especialista en IA & Machine Learning

📧¿Te gusta este contenido?

Únete a 547+ profesionales que reciben tips de IA cada semana. Sin spam, cancela cuando quieras.

Como Controlar Home Assistant con LLMs: GPT-4, Claude y Lenguaje Natural en 2026

TL;DR - Resumen Rapido

  • LLM HomeAssistant es una integracion gratuita que conecta GPT-4 (o cualquier LLM compatible) con Home Assistant
  • Control por voz real: no solo responde preguntas, ejecuta acciones con function calling
  • Crea automatizaciones conversando: "Si llueve, cierra las persianas" → genera el YAML automaticamente
  • 7 tipos de funciones: execute_service, add_automation, get_history, rest, scrape, sqlite, composite
  • Compatible con modelos locales: funciona con LocalAI, Ollama y LM Studio para privacidad total
  • Codigo abierto: github.com/ESJavadex/llm-homeassistant


Que Es LLM HomeAssistant y Por Que Lo Necesitas?

Home Assistant ya tiene una integracion oficial de OpenAI Conversation, pero es limitada. Solo puede responder preguntas y mantener conversaciones basicas. No puede ejecutar servicios, crear automatizaciones ni consultar el historial de tus dispositivos.

LLM HomeAssistant resuelve esto. Es un custom component que extiende la integracion oficial de OpenAI con capacidades avanzadas:

  • Ejecuta servicios de Home Assistant directamente desde la conversacion
  • Crea automatizaciones describiendolas en lenguaje natural
  • Consulta APIs externas y paginas web
  • Accede al historial de estados de cualquier entidad
  • Consulta la base de datos SQLite con preguntas naturales

Segun Home Assistant (febrero 2026), la plataforma tiene mas de 500.000 instalaciones activas y soporta mas de 2.800 integraciones. LLM HomeAssistant anade una capa de inteligencia conversacional sobre todas ellas.


LLM HomeAssistant vs Alternativas: Comparativa

CaracteristicaLLM HomeAssistantOpenAI Conversation (oficial)Google HomeAlexa
Ejecuta serviciosSi - cualquieraNoLimitadoLimitado
Crea automatizacionesSi - por vozNoNoNo
Consulta historialSiNoNoNo
APIs externasSi (REST, scrape)NoNoSkills limitados
Consulta SQLSiNoNoNo
Modelos compatiblesGPT-4, locales, AzureSolo OpenAIGoogle LLMsAmazon LLMs
PrivacidadConfigurable (local posible)Solo nubeSolo nubeSolo nube
CosteAPI + gratis (local)API OpenAIGratis (limitado)Gratis (limitado)
Open sourceSi (MIT)Si (HA Core)NoNo
Ganador para control avanzado: LLM HomeAssistant, por la combinacion de function calling, historial y compatibilidad con modelos locales.


Como Funciona: Function Calling Explicado

La magia de LLM HomeAssistant esta en el function calling de OpenAI. Cuando le hablas al asistente, el LLM no solo genera texto como respuesta: decide que funcion ejecutar y con que parametros.

Flujo Completo

code
1Tu: "Enciende las luces del salon al 70%"
2
3┌─────────────────────────────────┐
4│ 1. LLM recibe tu mensaje │
5│ 2. Analiza intento │
6│ 3. Decide: execute_service │
7│ 4. Parametros: │
8│ - domain: light │
9│ - service: turn_on │
10│ - entity_id: light.salon │
11│ - brightness_pct: 70 │
12│ 5. Ejecuta en Home Assistant │
13│ 6. Responde: "Luces del salon │
14│ encendidas al 70%" │
15└─────────────────────────────────┘
16
17Home Assistant ejecuta light.turn_on

El LLM ya sabe como funcionan los servicios de Home Assistant. Solo necesita saber que dispositivos tienes, que es lo que configuras al exponer entidades.


Tutorial de Instalacion Paso a Paso

Paso 1: Instalar la Integracion

Opcion A: Via HACS (Recomendado)

  1. Abre HACS en Home Assistant
  2. Ve a Integrations > Explore & Download Repositories
  3. Busca "LLM HomeAssistant"
  4. Haz clic en Download
  5. Reinicia Home Assistant

Opcion B: Manual

bash
1# Copiar la carpeta al directorio de custom_components
2cd /config/custom_components/
3git clone https://github.com/ESJavadex/llm-homeassistant.git llm_homeassistant
4# Reiniciar Home Assistant

Paso 2: Configurar la Integracion

  1. Ve a Settings > Devices & Services
  2. Haz clic en Add Integration
  3. Busca "LLM HomeAssistant"
  4. Introduce tu API Key de OpenAI
  5. Configura el modelo (GPT-4 recomendado)
  6. Si usas un servidor compatible (LocalAI, Ollama), especifica la Base URL

Paso 3: Asignar como Agente Conversacional

  1. Ve a Settings > Voice Assistants
  2. Haz clic en Edit sobre tu asistente
  3. En Conversation agent, selecciona LLM HomeAssistant

Paso 4: Exponer Entidades

Este paso es critico. El LLM solo puede controlar entidades que tu expongas explicitamente:

  1. Ve a /config/voice-assistants/expose
  2. Selecciona las entidades que quieres que el LLM pueda controlar
  3. Recomendacion: empieza con pocas y ve anadiendo

Paso 5: Probar

Abre el asistente de voz y di:

code
1"Enciende la luz del salon"

Si todo esta bien configurado, la luz se encendera y el asistente confirmara la accion.


Las 7 Funciones de LLM HomeAssistant

1. execute_service - Ejecutar Servicios

La funcion mas basica y potente. Permite ejecutar cualquier servicio de Home Assistant.

yaml
1# Configuracion (viene por defecto)
2- spec:
3 name: execute_services
4 description: Use this function to execute service of devices in Home Assistant.
5 parameters:
6 type: object
7 properties:
8 list:
9 type: array
10 items:
11 type: object
12 properties:
13 domain:
14 type: string
15 service:
16 type: string
17 service_data:
18 type: object
19 properties:
20 entity_id:
21 type: string

Ejemplos de uso:

  • "Enciende todas las luces de la casa"
  • "Sube la persiana del dormitorio al 50%"
  • "Pon la calefaccion a 22 grados"
  • "Activa la aspiradora Roomba"

2. add_automation - Crear Automatizaciones

Crea automatizaciones de Home Assistant describiendo lo que quieres en lenguaje natural.

yaml
1- spec:
2 name: add_automation
3 description: Use this function to add an automation in Home Assistant.
4 parameters:
5 type: object
6 properties:
7 automation_config:
8 type: string
9 description: A configuration for automation in valid yaml format.
10 function:
11 type: native
12 name: add_automation

Ejemplos de uso:

  • "Crea una automatizacion para que las luces se enciendan al atardecer"
  • "Avisa al movil cuando la puerta del garaje lleve abierta mas de 10 minutos"
  • "Enciende la calefaccion si la temperatura baja de 18 grados y estoy en casa"

3. get_history - Consultar Historial

Accede al historial de estados de cualquier entidad.

Ejemplos de uso:

  • "Que temperatura habia en el salon ayer a las 15h?"
  • "Cuantas veces se abrio la puerta principal esta semana?"
  • "Muestra el consumo electrico de las ultimas 24 horas"

4. rest - Llamar APIs Externas

Obtiene datos de cualquier API REST.

Ejemplos de uso:

  • "Que tiempo hara manana?" (usando API de meteorologia)
  • "Cual es el precio de la luz ahora?" (API de Red Electrica)

5. scrape - Extraer Datos de Webs

Raspa informacion de paginas web.

Ejemplos de uso:

  • "Cual es la ultima version de Home Assistant?"
  • "Que dice el titular de El Pais hoy?"

6. sqlite - Consultar Base de Datos

Genera y ejecuta consultas SQL sobre la base de datos de Home Assistant.

Ejemplos de uso:

  • "Cuando fue la ultima vez que se encendio la calefaccion?"
  • "Cuanto tiempo estuvo encendida la luz del salon ayer?"

7. composite - Funciones Compuestas

Encadena multiples funciones en secuencia para tareas complejas.

Ejemplo: Buscar y reproducir musica

yaml
1- spec:
2 name: search_music
3 description: Search and play music
4 parameters:
5 type: object
6 properties:
7 query:
8 type: string
9 function:
10 type: composite
11 sequence:
12 - type: script
13 sequence:
14 - service: ytube_music_player.search
15 data:
16 entity_id: media_player.ytube_music_player
17 query: "{{ query }}"
18 - type: template
19 value_template: >-
20 {% for media in state_attr('sensor.ytube_music_player_extra', 'search') %}
21 {{media.type}},{{media.id}},{{media.title}}
22 {% endfor %}


Usando LLM HomeAssistant con Modelos Locales

Si la privacidad es tu prioridad, puedes usar LLM HomeAssistant con modelos que corren en tu propio hardware:

Opcion 1: Ollama

yaml
1# En la configuracion de LLM HomeAssistant:
2# Base URL: http://localhost:11434/v1
3# Model: llama3.1:8b
4# API Key: ollama (cualquier valor)

Opcion 2: LocalAI

yaml
1# Base URL: http://localhost:8080/v1
2# Model: gpt-4 (alias configurado en LocalAI)
3# API Key: local (cualquier valor)

Opcion 3: LM Studio

yaml
1# Base URL: http://localhost:1234/v1
2# Model: (el que tengas cargado)
3# API Key: lm-studio (cualquier valor)

Comparativa: Nube vs Local

AspectoAPI en nube (GPT-4)Modelo local (Llama 3.1)
Calidad respuestasExcelenteBuena-Media
Velocidad1-3 seg3-10 seg (depende GPU)
PrivacidadMedia (datos salen)Maxima
Coste mensual5-20€0€ (solo electricidad)
Hardware necesarioCualquieraGPU con 8GB+ VRAM
Function callingNativo y fiableLimitado (depende modelo)
Recomendacion: usa GPT-4 para empezar y cambia a local cuando los modelos open source mejoren su soporte de function calling.


Ejemplos Avanzados de Configuracion

Ejemplo 1: Anadir Items a la Lista de la Compra

yaml
1- spec:
2 name: add_item_to_shopping_cart
3 description: Add item to shopping cart
4 parameters:
5 type: object
6 properties:
7 item:
8 type: string
9 description: The item to be added to cart
10 required:
11 - item
12 function:
13 type: script
14 sequence:
15 - service: shopping_list.add_item
16 data:
17 name: '{{item}}'

Uso: "Anade leche y pan a la lista de la compra"

Ejemplo 2: Reproducir YouTube en la TV

yaml
1- spec:
2 name: play_youtube
3 description: Play Youtube video on TV
4 parameters:
5 type: object
6 properties:
7 video_id:
8 type: string
9 description: The YouTube video id
10 required:
11 - video_id
12 function:
13 type: script
14 sequence:
15 - service: webostv.command
16 data:
17 entity_id: media_player.tv_salon
18 command: system.launcher/launch
19 payload:
20 id: youtube.leanback.v4
21 contentId: "{{video_id}}"

Uso: "Pon en la tele el ultimo video de Javadex en YouTube"

Ejemplo 3: Consultar Eventos del Calendario

yaml
1- spec:
2 name: get_events
3 description: Get calendar events
4 parameters:
5 type: object
6 properties:
7 start_date_time:
8 type: string
9 description: Start in '%Y-%m-%dT%H:%M:%S%z' format
10 end_date_time:
11 type: string
12 description: End in '%Y-%m-%dT%H:%M:%S%z' format
13 required:
14 - start_date_time
15 - end_date_time
16 function:
17 type: script
18 sequence:
19 - service: calendar.get_events
20 data:
21 start_date_time: "{{start_date_time}}"
22 end_date_time: "{{end_date_time}}"
23 target:
24 entity_id:
25 - calendar.personal
26 - calendar.trabajo
27 response_variable: _function_result

Uso: "Que reuniones tengo manana?"


Seguridad y Buenas Practicas

Controlar el Acceso

  1. Exponer solo lo necesario: no expongas entidades sensibles como cerraduras o alarmas a menos que sea imprescindible
  2. Limitar funciones: configura Maximum Function Calls Per Conversation para evitar bucles infinitos
  3. Notificaciones de automatizaciones: configura alertas cuando el LLM cree nuevas automatizaciones

Monitorizar Logs

yaml
1# configuration.yaml - Activar logs de la integracion
2logger:
3 logs:
4 custom_components.llm_homeassistant: info


Mi Recomendacion Personal

Llevo usando LLM HomeAssistant desde sus primeras versiones y puedo decir que ha cambiado completamente como interactuo con mi casa inteligente. Ya no abro la app de Home Assistant para encender luces o ajustar la temperatura: simplemente hablo.

  1. Para uso diario, GPT-4 es la mejor opcion por su fiabilidad con function calling
  2. Para privacidad maxima, Ollama + Llama 3.1 funciona bien para comandos simples
  3. Para automatizaciones complejas, combina LLM HomeAssistant con Claude Code Terminal Pro

Para la mayoria de usuarios, recomiendo empezar con GPT-4 y la configuracion por defecto. Es lo que mejor funciona "out of the box" y el coste es minimo (~5€/mes para uso domestico).


Preguntas Frecuentes (FAQ)

Que LLM es mejor para controlar Home Assistant en 2026?

GPT-4 y GPT-4o son los mas fiables para function calling en Home Assistant. Claude de Anthropic es excelente para texto pero su soporte de function calling es diferente. Para uso 100% local, Llama 3.1 con Ollama es la mejor opcion open source, aunque el function calling aun no es tan fiable como GPT-4.

Se puede controlar Home Assistant con ChatGPT?

Si, con la integracion LLM HomeAssistant puedes controlar Home Assistant usando la API de OpenAI (GPT-4/ChatGPT). La diferencia con la integracion oficial es que LLM HomeAssistant permite ejecutar servicios, crear automatizaciones y consultar el historial, no solo conversar.

LLM HomeAssistant funciona sin internet?

Si, si usas un modelo local como Ollama, LocalAI o LM Studio. Configura la Base URL al servidor local y no necesitaras conexion a internet. Ten en cuenta que los modelos locales requieren hardware con GPU (recomendado 8GB+ VRAM) y la calidad de las respuestas sera menor que GPT-4.

Cuantas entidades puedo exponer al LLM?

No hay un limite tecnico, pero se recomienda exponer solo las entidades que necesitas controlar por voz. Exponer demasiadas puede confundir al modelo y aumentar la latencia, ya que la lista de entidades se envia como contexto en cada peticion.

Es seguro dar acceso a un LLM a mi casa?

LLM HomeAssistant solo accede a entidades que tu expongas explicitamente. No puede acceder a dispositivos no expuestos, no puede modificar la configuracion de Home Assistant, y puedes limitar el numero de funciones por conversacion. Ademas, puedes configurar notificaciones cuando se crean automatizaciones nuevas.

Puedo usar LLM HomeAssistant con Azure OpenAI?

Si, es totalmente compatible con Azure OpenAI y APIM. Solo necesitas especificar la Base URL de tu endpoint de Azure en la configuracion de la integracion. Esto es especialmente util para empresas que necesitan cumplimiento normativo.


Recursos Adicionales

Posts Relacionados

📬

¿Te ha gustado? Hay más cada semana

Únete a "IA Sin Humo" — la newsletter donde comparto lo que realmente funciona en inteligencia artificial. Sin teoría innecesaria, sin postureo.

📚

1 Tutorial

Paso a paso, práctico

🛠️

3 Herramientas

Probadas y útiles

💡

0 Bullshit

Solo lo que importa

+547 suscriptores • Cada martes • Cancela cuando quieras