Hello les voice-assist addicts.
Pas un méga tuto mais juste un petit proof of concept qui attend de nombreuses améliorations ou détournements.
Assist-User depuis la première heure , disposant de plusieurs satellites, notre assistant « offline » est utilisé quotidiennement pour des fonctions plutôt « basiques » mais utiles ( pour nous )
C’est sympa, fonctionne très bien, mais adepte du monsieur plus ( les anciens auront la référence) , je souhaitais tester et utiliser simplement les wildcards disponibles depuis peu.
Objectif : Utiliser Assist pour envoyer un petit message aux personnes référencées dans mon HA et disposant de l’application companion.
Cas d’usage : envoyer un message à ma femme " sert le rosé , j’arrive dans 5 minutes "
L’idée est donc récupérer à partir d’une personne référencée dans HA son device-tracker companion, transformer ce device tracker en notify.mobile_app_XXX et de lui envoyer un message sous forme de notification, la personne et le message étant « capturés » par assist.
Une « simple » automatisation utilisant les wildcard permet de rendre ce service .
Je ne suis pas un pro du templating , ne rigolez pas trop , j’ai décomposé un max mais ça doit pouvoir se réduire.
alias: Assist-Notif-Message
description: ""
trigger:
- platform: conversation
command:
- "[envoyer | envoi | envoie] {message} à {destinataire} "
condition: []
action:
- set_conversation_response: "{{ trigger.slots.message }} envoyé à {{ trigger.slots.destinataire }}"
- service: >
{% set personne = trigger.slots.destinataire %}
{% set userpers = ("person." + personne ) %}
{% set dvtrak =(state_attr(userpers,'device_trackers')[0]) %}
{% set mobile =(state_attr(dvtrak,'friendly_name')) %}
{{ "notify.mobile_app_" + state_attr (dvtrak,'friendly_name') }}
metadata: {}
data:
title: "Message "
message: "{{trigger.slots.message}}"
mode: single
Le fonctionnement : dire à Assist " envoyer sert le rosé , j’arrive dans 5 minutes à xxxx" , où xxxx est le prénom de ma femme evidemment
Bien sûr, le message et le destinataire sont variables en fonction de la commande vocale
Vous l’aurez compris , ceci n’est qu’un petit exemple pour vous montrer un autre usage possible d’Assist.
Si vous disposez de plusieurs media player chez vous, cet exemple peut être facilement détourné pour lancer une annonce sur un ou plusieurs de ces media_player ( plus besoin de crier " A table !!! " par exemple pour rameuter toute la troupe eparpillée dans la maison )
Amusez vous bien et n’hésitez pas à partager vos idées/ concepts / bricolages avec Assist
@+
EDIT: petite précision, si plusieurs device_tracker rattachés à la personne, ça utilise le premier de la liste ( qui doit donc être le mobile avec companion).