Saltar al contenido

Assistant Relay: Home Assistant habla con Google Assistant

26/01/2021

ACTUALIZACIÓN 18/12/2021: Desafortunadamente este proyecto ha finalizado. A continuación pongo la nota que así lo anuncia su creador

Assistant Relay ya no se mantiene debido a la falta de tiempo para el proyecto del creador de Assistant Relay. Además, ya no tiene necesidad personal de Assistant Relay. Por lo tanto, he decidido dejar de mantener la imagen de Docker (y el complemento Hassio) también. La imagen ya no se actualizará. Eso también significa que el sistema operativo de la imagen tampoco se actualizará, incluidas las actualizaciones de seguridad.

Greghesp

Este complemento trae Assistant Relay a Hassio.

Assistant Relay es un servidor Node.js que expone el Asistente de Google como una REST API. Envíe a Assistant Relay cualquier consulta que le enviaría al Asistente de Google y obtenga una respuesta.

También es compatible con el comando Google Home Broadcast para que pueda enviar notificaciones de audio a sus dispositivos Google Home, sin interrumpir la música.

Black Friday · Hasta un 40 % de descuento

Ofertas oficiales en domótica inteligente

Interruptores WiFi, relés, sensores, tiras LED y más, con descuentos en la tienda oficial Sonoff. Promoción activa hasta el 15 de diciembre.

Ver ofertas oficiales Enlace de afiliado · Tienda Sonoff

Empezando

Para utilizar este complemento, debe tener Hass.io en ejecución. Si no está usando Home Assistant.

Instalación

  1. Vaya a Supervisor en la barra lateral y haga clic en Tienda de complementos
  2. Agregue https://github.com/Apipa169/Assistant-Relay-for-Hassio en «repositories»
  3. El relé auxiliar adicional debería aparecer a continuación. Haga clic en él y haga clic en «Instalar». Esto puede llevar un tiempo, según la velocidad de Internet y del sistema.
  4. Consola de desarrolladores de Google https://console.developers.google.com/?hl=ES

Configuración

  1. No es necesario configurar nada en la página de complementos. Haga clic en «Inicio» para ejecutar el complemento.
  2. Consulte el registro a continuación para ver si se está ejecutando.
  3. Vaya a la ip de su raspberry o servidor seguido de :3000 ejemplo 192.168.1.47:3000
  4. Siga las instrucciones del navegador.

La IP debe ser la dirección IP de su sistema, no la mencionada en el registro, ya que esta es la dirección del contenedor. El puerto es 3000 por defecto

Cambiar el número de puerto

Si desea cambiar el puerto de Assistant Relay, hágalo en la configuración del complemento y deje la configuración de Assistant Relay en el puerto 3000.

Ejemplos

El usuario siempre debe ser el usuario que utilizó en la configuración de AR. AR soporta múltiples usuarios.

Home Assistant REST

Comando de ejemplo para transmitir a través de un comando de descanso.

# Example configuration.yaml
rest_command:   
  assistant_relay:
    url: 'http://192.168.86.70:3000/assistant'
    method: 'post'
    content_type: 'application/json'
    payload: '{"user":"Albert","command": "{{ message }}"}' 
# Example test lovelace card
type: entities
entities:
  - action_name: Broadcast
    name: test broadcast
    service: rest_command.assistant_broadcast
    type: call-service
    service_data:
      command: hello, this is a test broadcast
# Automation action example (just fill in "command: hello" if you are using the editor)
  action:
  - data:
      command: hello
    service: rest_command.assistant_broadcast

Ejemplo de nodo red

Flujo simple para Node Red que se puede importar. Copia todo el código y ve al menú hamburguesa> importar en Node Red.

No olvide cambiar la dirección IP, el puerto y el usuario después de haber importado esta secuencia.

[{"id":"cb8e2985.0fd68","type":"comment","z":"e0fa9d52.876058","name":"Broadcast via Google Home","info":"","x":180,"y":180,"wires":[]},{"id":"37f701c2.826d96","type":"delay","z":"e0fa9d52.876058","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":320,"y":220,"wires":[["d087aae2.ab98e"]]},{"id":"eba065b9.0d066","type":"http request","z":"e0fa9d52.876058","name":"post","method":"POST","ret":"obj","paytoqs":false,"url":"http://192.168.1.2:3000/assistant","tls":"","persist":false,"proxy":"","authType":"","x":730,"y":220,"wires":[[]]},{"id":"d087aae2.ab98e","type":"function","z":"e0fa9d52.876058","name":"set payload and headers","func":"msg.message = msg.payload;\nmsg.payload = {\n    \"name\": \"username\",\n    \"command\": msg.message,\n    \"broadcast\": true\n};\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/json';\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":220,"wires":[["eba065b9.0d066"]]},{"id":"e63ec3ee.7abb68","type":"inject","z":"e0fa9d52.876058","name":"","topic":"","payload":"Hello everyone!","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":220,"wires":[["37f701c2.826d96"]]}]

Sigueme a Youtube

Sígueme en Youtube