Hi !
I'm using an hacked Echo Show 5 with the lastest version of View Assist and the Android Companion.
When i power on my PS5, the automation wait for the TV automatic poweron.
Then Assist ask me if he have to power on the home cinema amplifier (sometime, i play with hearphones).
I'm using Google AI conversation to translate my response to a simple YES or NO.
- id: assist_console_ampli
## quand la console PS5 et la TV sont allumées, demande si besoin d'allumer l'ampli home cinéma
alias: assist_console_ampli
description: ''
triggers:
- trigger: state
entity_id: sensor.ps5_100_activity
to: 'idle'
actions:
## attendre que la TV s'allume
- wait_template: >
{{ is_state('binary_sensor.tv_panasonic', 'on') }}
timeout: "00:00:47"
continue_on_timeout: false
## et vérifie si l'ampli est éteint
- condition: state
entity_id: media_player.yamaha_rx_a820_main
state: 'off'
## demander via ASSIST sur ECHO SHOW 1 si besoin d'allumer l'ampli
- action: assist_satellite.ask_question
target:
entity_id: assist_satellite.vaca_f67ccbeee
data:
question: "Faut-il allumer l'ampli pour la console ?"
response_variable: reponse
## faire traiter la réponse par LLM Google
- action: conversation.process
data:
agent_id: conversation.google_ai_conversation
language: fr
text: >
L'utilisateur a répondu : "{{ reponse.sentence }}"
La question posée était : "Faut-il allumer l'ampli pour la console ?"
Réponds UNIQUEMENT par le mot OUI ou le mot NON, sans ponctuation, sans majuscules, sans espace, sans explication. Juste le mot.
response_variable: intention
- choose:
## traiter la réponse OUI
- conditions:
- condition: template
value_template: >
{{ intention.response.speech.plain.speech | trim | upper | regex_search('^OUI') }}
sequence:
## le script d'allumage de l'ampli gère le cas si déjà allumé et met la télé en mute
- action: script.allumage_ampli
- action: assist_satellite.announce
target:
entity_id: assist_satellite.vaca_f67ccbeee
data:
message: "Voilà, c'est fait"
## traiter la réponse NON
- conditions:
- condition: template
value_template: >
{{ intention.response.speech.plain.speech | trim | upper | regex_search('^NON') }}
sequence:
- action: assist_satellite.announce
target:
entity_id: assist_satellite.vaca_f67ccbeee
data:
message: "Okay, je laisse en l'état"
default:
- action: assist_satellite.announce
target:
entity_id: assist_satellite.vaca_f67ccbeee
data:
message: "Je n'ai pas compris la réponse"
mode: single