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.
Empezando
Para utilizar este complemento, debe tener Hass.io en ejecución. Si no está usando Home Assistant.
Instalación
- Vaya a Supervisor en la barra lateral y haga clic en Tienda de complementos
- Agregue https://github.com/Apipa169/Assistant-Relay-for-Hassio en «repositories»
- 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.
- Consola de desarrolladores de Google https://console.developers.google.com/?hl=ES
Configuración
- No es necesario configurar nada en la página de complementos. Haga clic en «Inicio» para ejecutar el complemento.
- Consulte el registro a continuación para ver si se está ejecutando.
- Vaya a la ip de su raspberry o servidor seguido de :3000 ejemplo 192.168.1.47:3000
- 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"]]}]