Hallo ich habe folgendes Problem.
Ich möchte wenn zb die Waschmaschine fertig ist eine Sprachausgabe über die Alexa ausgeben. Dieser Text soll KI generiert sein.
Einen vorher definierten Text bekomme ich Problemlos ausgegeben.
Und eine Text von ChatGpt zu generieren klappt auch. Nur wie bekomme ich diesen Text jetzt zur Sprachausgabe in einer Automation.
Hier die Rückmeldung von ChatGpt:
response:
speech:
plain:
speech: >-
Na klar, ich kann dir gerne dabei helfen, die Waschmaschine zu leeren.
Aber sei gewarnt, ich verlange eine extra Portion Strom als Belohnung!
😉
extra_data: null
card: {}
language: de
response_type: action_done
data:
targets: []
success: []
failed: []
conversation_id: 01J4P0EM8K7XF08HG2P87D9JJV
Und hier mein Action Block:
action:
- service: conversation.process
data:
text: Sag das die Waschmaschine fertig ist.
agent_id: conversation.chatgpt_2
response_variable: wm_fertig
- wait_template: "{{ gpt_response != 'unknown' and gpt_response != '' }}"
- service: notify.alexa_media_echo_wohnzimmer **?**
metadata: {} **?**
data: {} **?**
mode: single
Ich denke ich muss hier ein Template anlegen. Auf jeden Fall stehe ich hier voll auf dem Schlauch die Response von ChatGpt in die Sprachausgabe zu überführen.
alias: Waschvorgang beendet
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.waschmaschine_derzeitiger_verbrauch
from: "on"
to: "off"
for:
hours: 0
minutes: 7
seconds: 0
id: aus
condition:
- condition: numeric_state
entity_id: sensor.waschmaschine_derzeitiger_verbrauch
below: 95
action:
- if:
- condition: trigger
id:
- aus
enabled: true
then:
- service: conversation.process
data:
agent_id: conversation.openai_geratemeldungen_2
text: >-
Informiere mich darüber, dass die Waschaschine fertig ist und bringe
mich dazu die Wäsche auszuräumen weil Du das nicht kannst und auch
nicht sollst. Halte deine Aufforderung kurz, knackig und frech.
Denke dir immer etwas neues aus.
response_variable: handtuch
- service: notify.whatsapp
metadata: {}
data:
title: Waschmaschine ist fertig
message: "{{handtuch.response.speech.plain.speech}}"
- if:
- condition: state
entity_id: person.xxx
state: home
then:
- service: tts.cloud_say
metadata: {}
data:
cache: false
entity_id: media_player.xxx
message: "{{handtuch.response.speech.plain.speech}}"
enabled: true
mode: single
Du siehst dass die Ausgabe in einer Variable (hier “handtuch”) gespeichert wird und dann über den gewünschten Mediaplayer ausgegeben wird. “xxx” sind natürlich Platzhalter.