Hallo,
bei mir war der Fehler, dass ich die Leerzeichen für die Alexanwendung nicht gemacht habe. Auch musste ich noch in der Alexa-App die Geräte Aktualisieren.
Dann bin ich wie folgt vorgegangen:
Routine programmieren
Alexa-App am Handy starten
Rechts unten auf die 3 Striche Mehr klicken
Auf Routine klicken
Oben rechts auf das Pluszeichen klicken
Routinenname vergeben (Dies ist nicht der Befehl mit der man die Routien aufruft.
Die Gerätesuche ist überall die gleiche, und was gefunden wird, ist dann in jeder Anwendung zu sehen. Du kannst auch einfach sagen: “Alexa, suche Geräte”. Wichtig ist aber, dass Du jedes Mal eine neue Suche startest, wenn Du etwas hinzugefügt hast.
Ich habe den Fehler bei mir gefunden - das script bei mir heißt nicht so wie ich es genannt habe und wie es angezeitg wird, sondern hat vom HA eine Zahlenfolge als Namen zugewiesen bekommen - diese kann ich nicht ändern. D.h. nachdem ich den von mir gewählten Namen des scriptes gegen diese Zahlenfolge getauscht habe kann ich es endlich auch über Alexa ausführen lassen. Manchmal glaubt man, man wird verrückt, wenn eigentlich alles richtig ist, abern es funktioniert nicht - alle Protokolle sauber… Aber der Watchman hat mich auf die richtige Spur gebracht
Hallo Heiko - Du hast geschrieben, dass Du die Routine erweitert hast, um bei allen geschlossenen Fenstern eine “dann” Funktion zu erstellen. Wie hast Du fas gemacht - erst alle Sensoren abfragen und wenn keiner aktiv ist auf “dann” springen lassen - oder gibt es einen schlankeren Weg?
Prima, dass es geklappt hat. In der Wenn-dann-Funktion fragst Du einfach den Zustand Deines Alle-Fenster-Helfers ab. Die Gruppe steht so lange auf on (offen), bis alle Fenster zu sind. Dann schaltet sie auf off (geschlossen) Bei mir sieht das Ganze so aus:
ich hätte eine Frage zu dem Befehl- service: notify.alexa_media_last_called
Bei mir funktioniert dieser nur, wenn ich zuvor Alexa aktivierte, in dem ich zum Beispiel frage:
Alexa wie viel Uhr ist es.
Wenn ich dann meine Routine in Alexa mit dem Befehl “Status Fenster” starte, zählt mir Alexa alle Fenster auf die offen sind.
Gehe ich jetzt aber von der Küche ins Wohnzimmer und frage dort : Alexa, Status Fenster, antwortet mir Alexa nicht im Wohnzimmer, sondern in der Küche.
Auch wenn ich erneut im Wohnzimmer frage; Alexa Status Fenster, wird immer noch in der Küche geantwortet.
Erst wenn ich im Wohnzimmer zuvor frage, Alexa wie viel Uhr ist es, und dann Alexa Status Fenster,
Antwortet mir Alexa im Wohnzimmer.
Wenn ich dann wieder frage; Alexa Status Fenster, antwortet er mir im Wohnzimmer, ohne dass ich zuvor Alexa, wie viel Uhr ist es, fragen muss.
Habt ihr auch solch ein Problem mit diesem Befehl?
ich selber habe das nicht hinbekommen. Franky vom Forum hier, hatte das netterweise erstellt.
alias: fenster_offen
sequence:
- service: notify.alexa_media_last_called
data:
message: >-
{% set status = expand('binary_sensor.fenster_offen') |
selectattr('state', 'eq', 'on') |
map(attribute='name') | list | join (', ')
%}
{% if status == '' %} {{ status|replace("", "Alle Fenster und
Türen sind geschlossen!") }} {% else %}
Folgende Fenster und Türen sind noch offen: {{status}}
{% endif %}
mode: single
icon: mdi:window-open
Aber so wie es aussieht, ist der Service notify.alexa_media_last_called gleich am Anfang.
Oder, könntest du mir bitte die Zeilen einfügen?
Alleine mit den vielen Einzügen usw. komme ich nicht wirklich klar.
Versuche im Urlaub mich da ein wenig reinzufuchsen.
ch habe mir einen neuen Echo.dot. Generation 5 gekauft.
In den Automationen habe ich diesen ergänzt. Funktioniert auch super.
Entität: media_player.alexa_echo_dot_5
Nur beim Script funktioniert er nicht.
Wenn ich wie gewohnt frage: “Alexa Status” kommen die zwei Signaltöne, jedoch spricht er nicht welche Fenster bzw. Türen offen sind.
Ich hatte den echo_dot_5 zuvor umbenannt. Kann es daran liegen?
Im Script selber kann man ja den neuen Namen nicht angeben.
`alias: fenster_offen
sequence:
- service: alexa_media.update_last_called
data: {}
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 2
- service: notify.alexa_media_last_called
data:
message: >-
{% set status = expand('binary_sensor.fenster_offen') |
selectattr('state', 'eq', 'on') |
map(attribute='name') | list | join (', ')
%}
{% if status == '' %} {{ status|replace("", "Alle Fenster und
Türen sind geschlossen!") }} {% else %}
Folgende Fenster und Türen sind noch offen: {{status}}
{% endif %}
mode: single
icon: mdi:window-open
`
Wo muss ich denn den neuen Echo.dot 5 noch eintragen, dass er mir auch hier die offenen Türen und Fenster vor liest.
Komme da leider nicht weiter.
System hatte ich auch komplett neu gestartet. Half leider auch nichts.
Alles andere funktioniert. Musikabspielen, Uhrzeit erfragen, Automation usw.
Überlegungen zum Fehler:
Ist vielleicht die Reaktionszeit für den neuen Echo.dot zu langsam
Fehlt ein Eintrag in der configuration.yamal.
habe ich in den Einstellungen des Echo.dot was verdummbeutelt
Müsste eigentlich funktionieren. Aber schau mal nach, ob der Update-Dienst bei Dir auch genau so heißt. Ich glaube, da gibt es unterschiedliche Varianten.
Hab jetzt einen neuen Stand. Habe mir vorhin mal einen Helper Templat angelegt um zu sehen, was in dem notify.alexa_media_last_called drin steht. Dieser wurde die ganze Zeit nicht gleich gesetzt.
Hab jetzt mal einen neustart von HA gemacht. der notify.alexa_media_last_called wird jetzt immer gleich gesetzt. Aber leider kommt nur manchmal die Ansage auf einem Echo raus.
das hier ist mein aktueller Code:
alias: Welche Fenster und Türen offen
sequence:
- service: alexa_media.update_last_called
data: {}
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 2
- if:
- condition: state
entity_id: binary_sensor.fenster_und_tursensoren
state: "on"
then:
- service: notify.alexa_media_last_called_xxx
data:
data:
type: announce
message: |-
Folgende Fenster und Türen sind noch offen: {{
expand('binary_sensor.fenster_und_tursensoren')
| selectattr('state', 'eq', 'on')
| map(attribute='name')
| list
| join (', ')
}}
else:
- service: notify.alexa_media_last_called_xxx
data:
data:
type: announce
message: Es sind keine Fenster oder Türen geöffnet.
mode: single
Was jetzt schon mal gut ist, dass der alexa_media.update_last_called sauber gesestzt wird. Aber jetzt muss nur noch die Ansage danach auch wirklich zuverlässig rauskommen.
Nachtrag:
Ok, ich glaube ich weis jetzt warum die Ansage gerade nicht mehr zuverlässig kommt.
Der Service:
notify.alexa_media_last_called ist manchmal mit dem Namen zu finden und manchmal mit notify.alexa_media_last_called_xxx (wobei das xxx für meine Emailadresse von Alexa steht.