Hi zusammen.
Ich habe folgenden Anwendungsfall : Ich möchte für meine Tochter eine (bzw. mehrere) Listen mit Wörtern definieren, die durch einen Auslöser nacheinander bei jedem Knopfdruck vorgelesen werden (via TTS). Dafür habe ich mir eine Variable in einer Automation gemacht (bzw. zwei, weil es zwei Listen sind), und einen Counter-Helfer, der den Index speichert, auf welchem Wort man steht.
Was ich noch nicht hinbekommen habe : Ich würde die Liste gerne in einer Variablen referenzieren, damit ich nur an einer Stelle umstellen muss, mit welcher Liste zu arbeiten ist.
Hat vielleicht jemand eine Idee, wie ich das am schönsten machen kann ? Derzeit muss ich in der Automation an 2 Stellen die liste ändern…
alias: Wortliste
triggers:
- entity_id: sensor.hmbtn1
to: closed
trigger: state
id: Button
actions:
- if:
- condition: trigger
id:
- Button
then:
- variables:
word_list:
- frühstück / müsli
- ananas
- käse
lernwoerter:
- in den Ferien
- oft
- der Schnorchel
index: "{{ states('counter.tts_sarah_english') | int }}"
maxlen: "{{ lernwoerter | length | int }}"
- action: tts.speak
metadata: {}
data:
cache: true
media_player_entity_id: media_player.hampd
message: "{{ lernwoerter[index] }}"
target:
entity_id: tts.google_translate_de_de
- if:
- condition: template
value_template: "{{ index >= maxlen }}"
then:
- action: tts.speak
data:
cache: true
message: Du hast es geschafft
media_player_entity_id: media_player.hampd
target:
entity_id: tts.google_translate_de_de
- action: counter.reset
target:
entity_id: counter.tts_sarah_english
else:
- action: counter.increment
target:
entity_id: counter.tts_sarah_english
mode: restart
Danke schonmal für eure Anregungen.