Primeros pasos con Meshtastic


Compramos un módulo compatible con Meshtastic, como el popular Heltec LoRa v3, instalamos la app y… ¡sorpresa!
En lugar de la interfaz normal con opciones de radio, usuario y red, solo aparece el botón «Cerrar».
Aunque la app detecta el dispositivo por Bluetooth, algo falla: hay un problema de comunicación o configuración que impide acceder al menú habitual y, por tanto, no podemos usar el nodo.

No te preocupes, este error es muy común y tiene solución. A continuación te explico cómo resolverlo paso a paso.

1. Verifica el firmware

En el 99,9% de los casos, el problema se debe a que el módulo no tiene instalado el firmware oficial de Meshtastic o está desactualizado.
Para solucionarlo, simplemente flashea el firmware correcto desde la web oficial:
👉 https://flasher.meshtastic.org/

Más abajo te explicamos cómo hacerlo detalladamente.

2. Reinicia ambos dispositivos

Apaga y enciende el módulo Heltec y reinicia también la app en tu móvil.
A veces, un simple reinicio soluciona los errores de conexión entre Bluetooth y el microcontrolador.

3. Elimina emparejamientos Bluetooth previos

En los ajustes Bluetooth del teléfono, olvida o elimina la conexión anterior con tu módulo Heltec.
Esto evita conflictos con configuraciones antiguas o perfiles corruptos.

4. Prueba otra versión de la app

Algunas versiones de la app Meshtastic (Android o iOS) pueden tener errores específicos según el modelo.
Si el fallo persiste, prueba con una versión más reciente o incluso con una versión anterior estable.

5. Reinstala la app

Desinstala y vuelve a instalar la aplicación Meshtastic desde tu tienda oficial.
Esto corrige posibles problemas en la instalación o permisos del sistema.

6. Flashea el firmware Meshtastic oficial

Si tu módulo es nuevo, debes flashear el firmware oficial de Meshtastic antes de intentar conectarlo.
Una vez instalado, sigue estos pasos:

  1. Conecta el módulo al ordenador.
  2. Abre Meshtastic Web Flasher.
  3. Selecciona el puerto correspondiente y tu modelo (por ejemplo, Heltec LoRa 32 V3).
  4. Pulsa Flash y espera a que finalice el proceso.
  5. Desconecta y reinicia el módulo.

Después de esto, el dispositivo estará listo para emparejarse con la app.

7. Conecta y configura el nodo

Con el firmware correcto instalado:

  1. Enciende el módulo Heltec.
  2. Abre la app Meshtastic y activa Bluetooth en tu móvil.
  3. Busca el dispositivo (aparecerá como Heltec LoRa 32 Automation o similar).
  4. Conéctalo usando el PIN 123456 (por defecto).
  5. Configura la región (frecuencia para Europa, América, etc.) y el canal Mesh.
  6. Guarda los cambios y ¡listo! Tu nodo ya forma parte de la red Mesh.

Si aún aparece el botón “Cerrar”

Si la app sigue mostrando solo la opción Cerrar, revisa lo siguiente:

  • Asegúrate de que el firmware es la versión oficial y actualizada.
  • Comprueba que el módulo no esté conectado por WiFi, ya que Meshtastic solo usa Bluetooth en este modo.
  • Prueba con otro teléfono o app para descartar problemas de compatibilidad.

Ayuda de la comunidad

En los foros y grupos de Reddit o Facebook de Meshtastic hay muchos usuarios con experiencias similares.
Allí puedes encontrar soluciones específicas según tu modelo y versión de firmware.

Resumen

En la mayoría de los casos, el error del botón «Cerrar» se soluciona flasheando el firmware oficial Meshtastic y conectando el módulo desde cero. Después de eso, podrás configurar región, canal y comenzar a usar tu dispositivo en la red Mesh sin problemas.

Configuracion paso a paso

Veamos ahora como preparar el módulo es el Heltec LoRa 32 de la serie Automation, para conectarte con la app Meshtastic y usar Bluetooth para crear el nodo mesh. Para ello debemos considerar estos pasos:

    1. Nos vamos a https://flasher.meshtastic.org/ y seleccionamos el modulo correcto.

    Ahora seleccionamos el firmware. Recomiendo usar la ultima versión Beta.

    Ahora llega la hora de las advertencias previas al flasheo.

    Y haremos scroll hasta que finalmente podamos pulsar en el botón «Continuar»

    Ahora, si esta conectado por USB al ordenador el módulo , y el driver de éste esta instalado, debería aparecer en la lista de puertos serie ( sino apareciese en la pagina oficial se pueden descargar https://meshtastic.org/docs/getting-started/serial-drivers/)

    Seleccionamos la tercera opción (COM8 en nuestro caso, es decir en la opción que ponga USB to UART Bridge Controller)

    Es interesante seccionar la màxima velocidad y no nos olvidemos de desplazar el interruptor de flashear firmware hacia la derecha.

    Pulsamos borrar memoria e instalar y comenzara el proceso de flasheo el modulo

    Como el modulo esta basado en un ESP32 observes que va escribiendo en diferentes zonas de memoria como se haría desde el interfaz de un Arduino

    Una vez terminado el proceso se reiniciara y ya tendremos el modulo disponible para sincronizarlo desde la app por bluetooth a un telefono y desde este crear el nodo Mesh

    Cómo conectar y configurar tu módulo Heltec LoRa 32 con la app Meshtastic para crear un nodo mesh

    Si has adquirido un módulo Heltec LoRa 32 y quieres usarlo con la app Meshtastic para crear tu propia red mesh, este tutorial te guiará paso a paso para establecer la conexión vía Bluetooth y configurar el nodo para enviar y recibir mensajes.

    Primeros pasos: encender y conectar tu módulo Heltec LoRa 32

    1. Alimenta y enciende tu módulo Heltec LoRa 32, ya sea mediante USB o batería. Asegúrate de tener instalado el último firmware compatible con Meshtastic, tal como vimos en la guía anterior.
    2. Abre la app Meshtastic en tu teléfono móvil (Android o iOS).
    3. En la app, utiliza la opción para escanear dispositivos Bluetooth. Verifica que el Bluetooth de tu teléfono esté activo.
    4. Debes buscar tu módulo, que aparecerá con un nombre similar a «Heltec LoRa 32 V3» o algo relacionado.
    5. Selecciona el dispositivo y, cuando la app lo solicite, introduce el PIN que aparecerá en la pantalla de tu módulo (usualmente es un código corto que muestra el dispositivo).
    6. Tras emparejar, configura la región y el canal para que el nodo se integre correctamente en la red mesh con otros dispositivos. Es esencial que todos los nodos usen la misma frecuencia y región.
    7. Guarda la configuración. En caso necesario, reinicia tu módulo para aplicar los cambios.

    En caso de que no veas el dispositivo en la app, confirma que tu módulo tiene correctamente flasheado el firmware Meshtastic mediante el Meshtastic Web Flasher y que el Bluetooth está activo. La versión V3 utiliza el ESP32-S3 con Bluetooth 5 LE, por lo que es imprescindible que el firmware sea el oficial y actualizado.

    Configuración avanzada: opciones clave en Meshtastic para enviar y recibir mensajes

    Para que tu Heltec LoRa 32 funcione correctamente como nodo capaz de enviar y recibir mensajes en la red mesh, debes prestar atención a tres secciones principales dentro de la configuración de la app Meshtastic: LoRa (radio), Canales y Seguridad.

    1. LoRa (Radio)

    • Selecciona la región de frecuencia adecuada para tu zona geográfica. En Europa, normalmente se utiliza EU_868 (868 MHz), asegurando compatibilidad con la legislación local.
    • En las opciones avanzadas podrás elegir entre:
    • Long range: prioriza mayor alcance a costa de velocidad.
    • Fast: prioriza mayor velocidad con menor alcance.
    • Para la mayoría de aplicaciones de mensajería mesh se recomienda usar long range para mayor cobertura.
    • Otras opciones importantes:
    • Transmisión activa debe estar activada para que el nodo retransmita mensajes y forme parte del mesh.
    • Número de hops (saltos) establece cuántas retransmisiones puede hacer un mensaje. Un valor de 3 es equilibrado para pequeñas redes.
    • Rx boosted gain aumenta la sensibilidad del receptor para captar señales débiles y es recomendable tenerlo activado.

    2. Canales

    • Los nodos deben compartir exactamente el mismo canal para comunicarse.
    • El canal define las frecuencias y parámetros de la red mesh.
    • Puedes usar el canal por defecto, llamado «longfast«, o crear un canal nuevo con los parámetros personalizados que necesites (nombre, región, velocidad, frecuencia).

    3. Seguridad

    • Debes configurar una clave de red (network key) común para todos los nodos.
    • Esta clave asegura que solo los dispositivos autorizados formen parte de la red y mantengan la confidencialidad del intercambio de mensajes.
    • Puedes conservar la clave por defecto para pruebas, pero se recomienda crear una clave personalizada si quieres seguridad.

    Crear y compartir un canal nuevo en Meshtastic

    Si deseas un canal personalizado para tu red mesh, sigue estos pasos:

    1. Conecta tu nodo vía Bluetooth a la app Meshtastic.
    2. Accede a Configuración > Canales.
    3. Pulsa en el botón para añadir un canal nuevo.
    4. Configura:
    • El nombre del canal (por ejemplo, «MiRedMesh»).
    • La región correcta para tu país (ejemplo: «EU_868»).
    • El ajuste de velocidad (long range o fast).
    • El slot de frecuencia, que puede quedar con el valor por defecto.
    1. Guarda y selecciona el nuevo canal para que el nodo lo utilice.
    2. Repite exactamente esta configuración en los otros nodos que quieres que se comuniquen, incluyendo nombre, región y parámetros.
    3. Asegúrate también de usar la misma clave de seguridad en todos los dispositivos.

    Puede que sea necesario reiniciar el dispositivo para que los cambios se apliquen correctamente.

    Resumen rápido

    • Enciende y conecta tu Heltec LoRa 32 vía Bluetooth con la app Meshtastic.
    • Configura la región, canal y clave de seguridad idénticos en todos los nodos que participen de la red.
    • Ajusta las opciones avanzadas de LoRa para equilibrar alcance y velocidad según tus necesidades.
    • Para crear un canal personalizado, configura y comparte el mismo en todos los nodos.

    Con estos pasos podrás crear una red mesh funcional para enviar y recibir mensajes entre teléfonos y módulos Heltec LoRa 32 con Meshtastic, aprovechando la potencia de LoRa para comunicaciones de largo alcance y bajo consumo.

    Integración Home Assistant con Alexa


    Integrar Home Assistant con Alexa te permite controlar tus dispositivos inteligentes mediante comandos de voz. Puedes encender, apagar y ajustar el brillo de las luces, controlar la temperatura de tu hogar con termostatos, y gestionar dispositivos de entretenimiento como televisores y altavoces. Además, puedes supervisar y controlar la seguridad de tu hogar, incluyendo cámaras y cerraduras inteligentes. También puedes crear rutinas y automatizaciones que se activen con comandos de voz, facilitando la gestión de tu hogar inteligente de manera más eficiente y cómoda. ¿cual es el problema con Home Assistant? pues que muchos dispositivos comerciales que Alexa reconoce perfectamente no lo hace HA, y al reves muchos dispositivos, por ejemplo basados en ESpHome que hemos hecho nosotros, no son reconocidos por Alexa, así que si integramos ambos mundos podemos usar HA como puente para ampliar aun mas el abanico de dispositivos que podemos controlar por voz

    alexa mechero casa

    Existen varias formas de integrar Alexa en Home Assistant, cada una con diferentes niveles de complejidad, versatilidad y coste:

    • La opción más sencilla y rapida es obvia: pasar por caja y contratar el servicio Home Assistant Cloud de Nabu Casa, que facilita la configuración de asistentes de voz y permite acceder a la instancia desde fuera de casa, aunque puede resultar costoso para algunos usuarios.
    • Asimismo otra opción es usando la integración Emulated Hue, una alternativa gratuita y más sencilla, que crea un ‘Philips Hue hub’ virtual para que Alexa lo detecte. Sin embargo, esta opción tiene limitaciones, ya que solo permite controlar dispositivos como si fueran bombillas, encendiéndolos, apagándolos y ajustando su brillo. Quizás tampoco tenga sentido sobre todo si ya tienes un puente Hue pues este ya es reconocido por Alexa, y este también este es reconocido sin problemas por Home Assistant.
    • Por último existe la opción de utilizar la integración Amazon Alexa Smart Home Skill, que es la más completa pero también la más complicada, requiriendo un esfuerzo considerable el cual en este post vamos a intentar desgranar.
    Se puede usar un puente Philips Hue para controlar bombillas de IKEA

    Si quieres tener un control avanzado de tus dispositivos o no has conseguido integrar Alexa en Home Assistant de otra forma, en este apartado te voy a guiar paso a paso para hacerlo mediante este método. Puede que sea un poco laborioso, pero te prometo que merecerá la pena. Además, antes de empezar, te sugiero que te planifiques para tener un rato tranquilo para poder llevar a cabo el proceso leyendo con atención y siguiendo todos los pasos. Opcionalmente puedes seguir en paralelo la documentación oficial o este video .

    Requisitos previos

    Para llevar a cabo este método necesitas lo siguiente:

    • Habilitar el acceso externo a Home Assistant, vía HTTPS al puerto 443 usando un certificado SSL/TLS. NO son pasos sencillos pero realmente es interesante si queremos acceder desde el movil por ejemplo a nuestro HA desde el exterior
    • Crear una cuenta gratuita en Amazon Developers (utilizando tu cuenta habitual de Amazon).
    • Crear una cuenta gratuita en AWS Management Console. En cuanto AWS, realmente es bastante sencillo , aunque realmente intimide un poco tantos pasos y sobre todo el aspecto económico.

    Como vemos, nos va a solicitar que introduzcas una tarjeta de crédito, AWS Lambda es de uso gratuito hasta 1 millón de solicitudes y 1 GB de transferencia de datos salientes al mes. El importe es de 1€ que deberemos aceptar y se hace con fines de autentificar que realmente somos nosotros.

    La siguinte validacion viene por telefono ( tambien nos pedira un captcha como en la fase inicial)

    Ahora una vez concluidos todos los paso toca el plan de soporte ( Gratis) y finalizar el proceso

    Creación de la Skill de Alexa

    El primer paso para integrar Alexa en Home Assistant es crear la ‘skill’ que más tarde vamos a utilizar para controlar nuestros dispositivos con el altavoz.

    1. Accede a Alexa Developer Console y pulsa sobre «Crear skill».
    2. En «Skill name» indica «HomeAssistant«, después selecciona tu idioma (en mi caso Spanish(Spain)) y pulsa en «Next».
    3. En «Choose a type of experience» selecciona «Smart home», en «Choose a model» selecciona «Smart Home», pulsa en «Next»
    4. Ahora toca revisar las selecciones realizadas : Name, Locale Skill name:HomeAssistant
      Primary locale:Spanish (Spain), Experience, Model, Hosting service , Type of experience
      Smart home, Model:Smart Home,Hosting service:Provision your own
    5. Si son correctas pulsaremos en «Create Skill».
    6. En la siguiente pantalla verás una serie de datos sobre tu ‘skill’. En concreto fíjate en el campo que indica «Your Skill ID». Copia y conserva este código, ya que lo vas a necesitar a continuación. Tambien sera relevante la zona geográfica, es decir la eleccion de la región geográfica más cercana a sus clientes objetivo y establezca puntos finales geográficos específicos ( en mi caso Europa,India). No Pulsar «SAVE» poque aun no tenemos configuraods los endpoint

    Creación de la función Lambda

    El siguiente paso es crear la «función Lambda» que va a ser la que haga de intermediaria entre nuestra instancia de Home Assistant y la plataforma de Alexa.

    1. Accede a AWS Management Console, validandonos con nuestro usuario y utiliza el buscador de la barra superior para buscar «IAM». Pulsa sobre el primer resultado que indica «Administrar el acceso a los recursos de AWS».
    2. En la siguiente pantalla verás una serie de bloques. Baja hasta el que indica «Recursos de IAM» y pulsa sobre el número bajo el título de «Roles» (por defecto verás un ‘2’).
    3. Pulsa sobre el botón «Crear rol». Selecciona la opción «Servicio de AWS» y bajo el apartado de caso de uso selecciona «Lambda». Después pulsa en «Siguiente».
    4. Introduce la palabra «Lambda» en el buscador y marca la casilla correspondiente a la opción «AWSLambdaBasicExecutionRole». Después baja hasta el final de la página y pulsa en «Siguiente».
    5. Como nombre de rol indica «HomeAssistant» y baja hasta el final de la página para pulsar sobre «Crear rol».
    6. Utiliza de nuevo el buscador con la palabra «Lambda» y pulsa sobre el primer resultado que indica «Ejecute código sin tener que pensar en los servidores».
    7. En este momento debes fijarte en la esquina superior derecha de la consola. A la izquierda del nombre de tu cuenta aparecerá una localización, que corresponde al servidor. Asegúrate de seleccionar aquel más cercano a tu ubicación (para España, selecciona el servidor de Irlanda), o de lo contrario no funcionará!
             La relación de servidores y regiones es la siguiente:
                          - US East (N.Virginia) para skills en inglés (US) o inglés (CA)
                          - EU (Irlanda) para skills en inglés (UK), inglés (IN), alemán (DE), español (ES) o francés (FR)
                          - US West (Oregon) para skills en japonés e inglés (AU)
    
    1. Pulsa sobre «Crear una función». En el nombre de la función indica «HomeAssistant», en tiempo de ejecución selecciona «Python 3.12» y pulsa en «Crear una función».
    2. En la siguiente pantalla pulsa sobre «Agregar desencadenador», selecciona «Alexa» en el desplegable de «Seleccionar un origen» y marca la opción de «Alexa Smart Home». En el campo que indica «Skill ID» tienes que copiar la ID de la ‘skill’ que has creado en el apartado anterior y después pulsa en «Agregar».
    3. A continuación baja un poco por la pantalla y pulsa sobre el apartado «Código» del menú horizontal (ver imagen inferior). Al hacerlo aparecerá una especie de editor de código, con una pestaña llamada «lambda_function». Esta pestaña contiene un código que tienes que eliminar, y en su lugar tendrás que pegar el código que encontrarás en este enlace. Una vez pegado pulsa el botón de «Deploy». Tras unos segundos verás un mensaje indicando «Se ha actualizado correctamente la función HomeAssistant».
    """
    Copyright 2019 Jason Hu <awaregit at gmail.com>
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    """
    import os
    import json
    import logging
    import urllib3
    
    _debug = bool(os.environ.get('DEBUG'))
    
    _logger = logging.getLogger('HomeAssistant-SmartHome')
    _logger.setLevel(logging.DEBUG if _debug else logging.INFO)
    
    
    def lambda_handler(event, context):
        """Handle incoming Alexa directive."""
        
        _logger.debug('Event: %s', event)
    
        base_url = os.environ.get('BASE_URL')
        assert base_url is not None, 'Please set BASE_URL environment variable'
        base_url = base_url.strip("/")
    
        directive = event.get('directive')
        assert directive is not None, 'Malformatted request - missing directive'
        assert directive.get('header', {}).get('payloadVersion') == '3', \
            'Only support payloadVersion == 3'
        
        scope = directive.get('endpoint', {}).get('scope')
        if scope is None:
            # token is in grantee for Linking directive 
            scope = directive.get('payload', {}).get('grantee')
        if scope is None:
            # token is in payload for Discovery directive 
            scope = directive.get('payload', {}).get('scope')
        assert scope is not None, 'Malformatted request - missing endpoint.scope'
        assert scope.get('type') == 'BearerToken', 'Only support BearerToken'
    
        token = scope.get('token')
        if token is None and _debug:
            token = os.environ.get('LONG_LIVED_ACCESS_TOKEN')  # only for debug purpose
        
        verify_ssl = not bool(os.environ.get('NOT_VERIFY_SSL'))
        
        http = urllib3.PoolManager(
            cert_reqs='CERT_REQUIRED' if verify_ssl else 'CERT_NONE',
            timeout=urllib3.Timeout(connect=2.0, read=10.0)
        )
        
        response = http.request(
            'POST', 
            '{}/api/alexa/smart_home'.format(base_url),
            headers={
                'Authorization': 'Bearer {}'.format(token),
                'Content-Type': 'application/json',
            },
            body=json.dumps(event).encode('utf-8'),
        )
        if response.status >= 400:
            return {
                'event': {
                    'payload': {
                        'type': 'INVALID_AUTHORIZATION_CREDENTIAL' 
                                if response.status in (401, 403) else 'INTERNAL_ERROR',
                        'message': response.data.decode("utf-8"),
                    }
                }
            }
        _logger.debug('Response: %s', response.data.decode("utf-8"))
        return json.loads(response.data.decode('utf-

    Probando la función Lambda

    1. Sube de nuevo un poco hasta el menú horizontal anterior y pulsa sobre «Probar».
    2. En el campo nombre del evento escribe «TestHomeAssistant». Baja un poco hasta el apartado «Evento JSON», elimina el código que viene por defecto y en su lugar copia el siguiente tomado del propio tutorial oficial (https://www.home-assistant.io/integrations/alexa.smart_home/#test-the-lambda-function).
    {
      "directive": {
        "header": {
          "namespace": "Alexa.Discovery",
          "name": "Discover",
          "payloadVersion": "3",
          "messageId": "1bd5d003-31b9-476f-ad03-71d471922820"
        },
        "payload": {
          "scope": {
            "type": "BearerToken"
          }
        }
      }
    }
    1. Sube de nuevo a la cabecera de apartado («Evento de prueba») y pulsa sobre el botón «Guardar».
    2. Ve a Home Assistant, abre tu fichero ‘configuration.yaml’, añade el siguiente código y después reinicia HA.
    alexa:
    
    smart_home:
    1. Una vez completado el reinicio, vuelve a la consola de AWS y, en el mismo menú horizontal, pulsa sobre «Configuración». En el menú lateral pulsa sobre la opción «Variables de entorno» y después pulsa sobre «Editar».
    2. Pulsa sobre «Agregar variable de entorno» en el campo «Clave» indica ‘BASE_URL (sin comillas) y en el campo «Valor» la dirección URL con la que accedes a Home Assistant desde el exterior (por ejemplo, ‘https://aguacatec.es/’). Después pulsa en «Guardar».
    3. Vuelve de nuevo al menú horizontal, entra al apartado «Probar» y pulsa sobre el botón «Probar». Tras un par de segundos deberías ver un mensaje con un ‘check’ verde indicando que se ha ejecutado sin errores.
    1. Ve a Home Assistant y, en el menú lateral, pulsa sobre tu nombre de perfil. Baja hasta el final de la página y pulsa sobre «Crear token». En el nombre indica «Alexa» y pulsa en «Aceptar». A continuación aparecerá en pantalla un código que tienes que copiar y conservar.
    2. Vuelve a la consola de AWS y baja hasta el apartado «Evento JSON», donde habíamos copiado un código previamente. Justo a continuación de la línea que indica «type»: «BearerToken» tienes que añadir una coma (‘,’) y en una nueva línea pegar el token generado en HA, de forma que el código quede la siguiente forma.
    "directive": {
        "header": {
          "namespace": "Alexa.Discovery",
          "name": "Discover",
          "payloadVersion": "3",
          "messageId": "1bd5d003-31b9-476f-ad03-71d471922820"
        },
        "payload": {
          "scope": {
            "type": "BearerToken",
            "token": "pegar  aqui el token qeuhe he generado en home assitanta"
          }
        }
      }
    }
    1. Sube un poco por la pantalla y pulsa en «Guardar». Ahora pulsa de nuevo en «Probar» y verás que esta vez te devuelve el mismo mensaje en verde, pero desplegando información relacionada con tu instancia de Home Assistant.
    2. Si continúas subiendo por esta misma página, a la derecha del bloque «Información general de la función» encontrarás el código «ARN de la función». Cópialo y consérvalo.
    3. Ahora regresa a la Alexa Developer Console y, en el campo «Default endpoint» pega el código ARN que has obtenido en el paso anterior. Después pulsa en el botón «Save».
    4. Desde el menú lateral accede al apartado «Account linking» y añade la siguiente información en el apartado «Security Provider Information».
      • Your Web Authorization URI. Indica tu URL con la que accedes a Home Assistant desde el exterior, añadiendo al final ‘/auth/authorize’ (por ejemplo, «https://aguacatec.es/auth/authorize»)
      • Access Token URI. Indica tu URL con la que accedes a Home Assistant desde el exterior, añadiendo al final ‘/auth/token’ (por ejemplo, «https://aguacatec.es/auth/token»)
      • Your Client ID. Aquí tienes que pegar una de las 3 URL’s que encontrarás más abajo en el apartado «Alexa Redirect URLs». En caso de encontrarte en Europa utiliza la primera (https://layla.amazon.com…»)
      • Your Secret. Introduce una cadena de texto a tu elección que utilizarás más tarde para conectar HA con tu skill de Alexa (por lo que te recomiendo que uses una cadena alfanumérica aleatoria).
      • Your Authentication Scheme. Selecciona la opción «Credentials in request body».
      • Scope. Pulsa sobre «Add scope» e introduce ‘smart_home’ (sin comillas) en el campo «Enter scope…»
      • Sube hasta la parte superior y pulsa en «Save».
    {
    "directive": {
    "header": {
    "namespace": "Alexa.Discovery",
    "name": "Discover",
    "payloadVersion": "3",
    "messageId": "1bd5d003-31b9-476f-ad03-71d471922820"
    },
    "payload": {
    "scope": {
    "type": "BearerToken",
    "token": "PEGA_AQUI_TU_TOKEN"<----AQUI  ESTA LO NUEVO
    }
    }
    }
    }

    Configuración en Home Assistant

    Ahora vamos a retocar el código que habíamos incluido en nuestro fichero ‘configuration.yaml’ de Home Assistant, añadiendo la siguiente información:

    • Locale. Indica aquí el código de tu idioma (es-ES para español de España).
    • Endpoint. Deja este apartado tal y como te indico en el código
    • Client_id y Client_secret. Copia los códigos generados en el último paso del apartado anterior.
    • Exclude_domains. Aquí puedes incluir un dominio entero (por ejemplo, ‘light’ para luces o ‘sensor’ para sensores). De esta forma las entidades de esta categoría no se expondrán a Alexa.
    • Exclude_entities. Misma función que el campo anterior, pero en este caso tienes que indicar la ID de la entidad que no quieres mostrar (por ejemplo, ‘light.lampara_salon’).
    • Include_entities. Utiliza el mismo formato que en el campo anterior, pero en este caso para seleccionar las entidades que quieres controlar con Alexa.
    • Reinicia Home Assistant cuando termines de editar el código.
    alexa:
    smart_home:
    locale: es-ES
    endpoint: https://api.amazonalexa.com/v3/events
    client_id: YOUR-CLIENT-ID
    client_secret: YOUR-SECRET
    filter:
    exclude_domains:
    - sensor
    include_entities:
    - climate.salon
    - switch.impresora
    - light.bombilla_escritorio
    - vacuum.robot_aspirador

    Configuración en la aplicación de Alexa

    Para terminar, abre la aplicación de Alexa en tu dispositivo móvil y haz lo siguiente:

    1. Pulsa sobre el apartado «Más» del menú inferior y selecciona «Skills y juegos». Baja hasta el final y pulsa sobre «Mis Skills»
    2. Verás que aparece una ‘skill’ en el apartado «Desarrollador». Al pulsa sobre ella te indicará que es necesario vincular una cuenta de Home Assistant. Cuando pulses sobre este texto te llevará a una nueva pantalla y tendrás que pulsar sobre «Permitir su uso».
    3. Automáticamente te llevará a la página de inicio de sesión de Home Assistant, donde tendrás que iniciar sesión con tu usuario habitual de HA.
    4. Hecho esto, verás un mensaje que indica que la cuenta de HomeAssistant se ha vinculado correctamente. Pulsa en «Siguiente» y Alexa empezará a buscar y encontrar tus dispositivos de Home Assistant.
    5. Enhorabuena!! Has conseguido integrar Alexa en Home Assistant!!
    2024 03 31 18 17 08 Como instalar Home Assistant en Raspberry Pi Zero de forma muy sencilla Busque

    Resumen

    En este post hemos visto como es posible la integración de Home Assistant con Alexa explicando cómo controlar dispositivos inteligentes con comandos de voz usando Alexa a través de Home Assistant (HA). Esto permite encender/apagar luces, ajustar brillo, controlar termostatos, gestionar entretenimiento y supervisar seguridad (cámaras, cerraduras). La ventaja principal es unir dos ecosistemas: muchos dispositivos comerciales reconocidos por Alexa no lo son por HA y viceversa, por lo que integrar ambos amplía el control por voz.

    Hemos visto que hay varias formas de integración:

    • Home Assistant Cloud (Nabu Casa): es la opción más sencilla, rápida y oficial, pero tiene un coste por suscripción.
    • Emulated Hue: método gratuito que crea un puente virtual Philips Hue que Alexa detecta, con limitaciones (sólo funciones similares a bombillas).
    • Amazon Alexa Smart Home Skill: opción más completa y avanzada, pero complicada, que requiere AWS, configuración de skill Alexa y función Lambda para conectar HA y Alexa.

    Een este post nos hemos centrado paso a paso el método avanzado: creación de la skill Alexa, función Lambda en AWS, configuración del endpoint y variables en HA, prueba y generación de token, hasta la vinculación en la app Alexa para que reconozca los dispositivos de Home Assistant. Este método, aunque laborioso, permite un control avanzado y personalizado, superando limitaciones de otros métodos, y habilita la integración bidireccional entre Alexa y HA para mejorar la experiencia domótica. Requisitos previos incluyen acceso HTTPS externo a HA, cuentas gratuitas en Amazon Developer y AWS, y seguir cuidadosamente las configuraciones para conectar ambos sistemas con seguridad. Finalmente, hemos visto los ajustes en el archivo de configuración YAML de HA para filtrar qué dispositivos se exponen a Alexa y configura la app Alexa para vincular la cuenta.​

    Recursos