# Instalar Home Assistant + MQTT en Raspberry Pi

## Introducción

**Home Assistant es el cerebro central de tu casa inteligente.** Es un software de código abierto que instalas en tu Raspberry Pi para controlar y automatizar todos los dispositivos conectados de tu hogar desde una sola interfaz. En lugar de tener 10 apps diferentes para luces, enchufes, cámaras y sensores, todo se centraliza aquí.

**Con esta instalación básica** tendrás la plataforma funcionando en tu red local, donde podrás añadir dispositivos WiFi como bombillas o enchufes inteligentes, crear automatizaciones simples (como que las luces se enciendan al anochecer) y controlar todo desde tu móvil o tablet. El MQTT es el "idioma" que usarán algunos dispositivos más avanzados para comunicarse entre sí.

**Lo especial** es que todo funciona localmente en tu casa, sin depender de servidores en la nube, manteniendo tu privacidad y funcionando aunque internet falle. Es el comienzo para transformar tu hogar en uno inteligente, donde las cosas suceden automáticamente según tus rutinas y preferencias.

## **Crear directorios**

```bash
# Solo estos dos directorios:
mkdir /home/pi/homeassistant
mkdir /home/pi/mosquitto
```

## **Configurar en Portainer**

1. **Abre Portainer** en tu navegador
2. Ve a **Stacks** (izquierda)
3. Haz clic en **"+ Add stack"**
4. **Nombre:** `home-assistant-mqtt`
5. **Editor:** Pega EXACTAMENTE esto:

```yaml
version: "3"
services:
  homeassistant:
    image: ghcr.io/home-assistant/raspberrypi4-64-homeassistant:stable
    container_name: homeassistant
    network_mode: host
    restart: unless-stopped
    volumes:
      - /home/pi/homeassistant:/config
    environment:
      - TZ=Europe/Madrid

  mosquitto:
    image: eclipse-mosquitto
    container_name: mosquitto
    network_mode: host
    restart: unless-stopped
    volumes:
      - /home/pi/mosquitto:/mosquitto/data
```

6. **Haz clic en:** `Deploy the stack`

**Esperar un poco...**

* **Primera vez:** 5-10 minutos
* Verás los containers en **Containers** de Portainer
* Estado debe ser **Running**

## **Acceder**

1. Abre navegador
2. Ve a: `http://TU-IP-RASPBERRY:8123`\
   (la misma IP que usas para Portainer)
3. **Espera** hasta que cargue la pantalla de configuración inicial

## **Configuración inicial Home Assistant**

1. **Crea usuario** (el que quieras)
2. **Nombre de tu casa** (opcional)
3. **Ubicación** (importante para hora/sol)
4. **Compartir datos** (recomiendo NO compartir)
5. **Finalizar**

## **Configurar MQTT en Home Assistant**

### **Añadir integración MQTT**

1. En Home Assistant, ve a **Configuración**
2. **Dispositivos y servicios**
3. **"+ Añadir integración"**
4. Busca **"MQTT"**
5. **Broker:** `localhost`
6. **Puerto:** `1883`
7. **Usuario/Contraseña:** Déjalo en blanco (está en anónimo)
8. **Añadir**

## **VERIFICACIÓN**

### **Comprueba que todo funciona:**

1. **Home Assistant:** `http://TU-IP:8123` → Debe cargar
2. **MQTT:** (Opcional) Instala app MQTT Explorer en móvil
   * Servidor: `TU-IP`
   * Puerto: `1883`
   * Debe conectar

## **SI HAY PROBLEMAS:**

### Home Assistant no carga

```bash
# Revisa logs en Portainer:
# 1. Ve a Containers
# 2. Busca "homeassistant"
# 3. Haz clic en "Logs"
```

### MQTT no conecta

```yaml
# Cambia el stack a esto (añade configuración mosquitto):
services:
  # ... homeassistant igual ...
  
  mosquitto:
    image: eclipse-mosquitto
    container_name: mosquitto
    network_mode: host
    restart: unless-stopped
    volumes:
      - /home/pi/mosquitto:/mosquitto/data
      - /home/pi/mosquitto.conf:/mosquitto/config/mosquitto.conf
```

Crea el archivo `/home/pi/mosquitto.conf`:

```conf
listener 1883
allow_anonymous true
```

## **DISPOSITIVOS PARA EMPEZAR**

### **WiFi (fáciles):**

1. **Enchufes:** TP-Link Kasa (baratos)
2. **Bombillas:** Philips Wiz o similares
3. **Sensores:** Shelly (para persianas, luces)

### **Configuración rápida:**

1. Conecta dispositivo a tu WiFi
2. En Home Assistant: **Configuración → Dispositivos**
3. **"+ Añadir dispositivo"**
4. Debe aparecer automáticamente

## **NO TOCAR:**

* **NO** modifiques `docker-compose.yml` manualmente
* **NO** añadas `privileged: true` a menos que sea necesario
* **NO** cambies puertos (deja 8123 y 1883)
* **NO** toques la configuración de OpenMediaVault

## **BACKUP SIMPLE:**

```bash
# Copia manual cuando quieras:
cp -r /home/pi/homeassistant /home/pi/homeassistant_backup_$(date +%Y%m%d)
```

## **SI SE BLOQUEA:**

1. En Portainer → Containers
2. Selecciona "homeassistant"
3. **"Recreate"** (mantiene los datos)
4. O **"Restart"**

## **RESUMEN RÁPIDO:**

1. **`mkdir /home/pi/{homeassistant,mosquitto}`**
2. **Portainer → Stacks → Add stack**
3. **Pegar YAML**
4. **`Deploy the stack`**
5. **Esperar 5-10 min**
6. **`http://TU-IP:8123`**
7. **Configurar usuario**
8. **Añadir integración MQTT**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dise0.gitbook.io/h4cker_b00k/proyectos-con-una-raspberry-pi/instalar-home-assistant-+-mqtt-en-raspberry-pi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
