NEWS
Türgong, Türklingelton mit Alexa abspielen
-
hallo nochmal,
habe es getestet,
funktioniert super.Nochmal vielen Dank für deine Hilfe.
Jonny
-
@Peoples sagte in Türgong, Türklingelton mit Alexa abspielen:
@jonny-007
Klar:- Du gehst auf Routinen
- Oben rechts auf Plus
- Routinenname (Türklingel)
- Wenn Folgendes passiert
- Stimme
- Alexa, Türklingel -> Weiter
- Aktion hinzufügen
- Geräteeinstellungen - Lautstärke (ich mach das lauter für den Klingelton)
- Aktion hinzufügen
- Töne - Glocken und Summer - Türklingel 2
- Aktion hinzufügen
- Geräteeinstellungen - Lautstärke (ich mach das nach dem Klingelton wieder leiser)
- Gerät auswählen auf welchem das dann passieren soll
Dann kommt oben die Meldung dass es funktioniert hat und du 5 Minuten warten musst.
Anschließend findest du unter alexa2.0 / Echo-Devices / Dem Device deiner Wahl / Routines die entspechende Routine, und wenn du die hinten auf true setzt bspw. via Script passiert genau das was du in der App eingestellt hast
Ebenfalls getestet.
Funktioniert 1A. Man muss nur mal über den Tellerrand schauen. Gute Idee Danke. -
@Peoples Danke dir.
Ich habe mein Klingelscript jetzt auf Alexa umgebaut und lasse damit den TR064 Adapter wegfallen.
Der hat zuletzt nur noch für die Klingel agiert. Ruflisten und so'n Kram brauche ich nicht. -
@peoples said in Türgong, Türklingelton mit Alexa abspielen:
@jonny-007
Klar:- Du gehst auf Routinen
- Oben rechts auf Plus
- Routinenname (Türklingel)
- Wenn Folgendes passiert
- Stimme
- Alexa, Türklingel -> Weiter
- Aktion hinzufügen
- Geräteeinstellungen - Lautstärke (ich mach das lauter für den Klingelton)
- Aktion hinzufügen
- Töne - Glocken und Summer - Türklingel 2
- Aktion hinzufügen
- Geräteeinstellungen - Lautstärke (ich mach das nach dem Klingelton wieder leiser)
- Gerät auswählen auf welchem das dann passieren soll
Dann kommt oben die Meldung dass es funktioniert hat und du 5 Minuten warten musst.
Anschließend findest du unter alexa2.0 / Echo-Devices / Dem Device deiner Wahl / Routines die entspechende Routine, und wenn du die hinten auf true setzt bspw. via Script passiert genau das was du in der App eingestellt hast
Funktioniert prima. Lieben Dank.
Ich habe den Trick noch in einem etwas anderen Kontext verwendet. Und zwar soll Alexa auf eine Frage mit einem Ton reagieren (wenn TRUE) und mit einem anderen Tone (wenn FALSE). Das soll so geschehen, dass die Alexa, von der aus das Kommando gegeben wurde, antwortet.
Hier mal der entsprechende Code dafür.
on({id: "alexa2.0.History.json", change: "ne"}, function (obj) { // Hier liest Du die ganze History auf einmal ein, // damit nicht zeitversetzt unterschiedliche Werte verwendet werden. // Habe ich früher einzeln eingelesen, was erst funktioniert, // aber wenn man dann mehrere Werte verwenden will kommt es immer zu Fehlern. var AlexaJSON = getState('alexa2.0.History.json').val; // Das JSON parsen var AlexaJSONparsed = JSON.parse(AlexaJSON); // Hier schaust Du, welche Alexa angesprochen wird // um auf dieser die Antwort, bzw. den Gong auszugenben var welcheAlexa = 'alexa2.0.Echo-Devices.' + AlexaJSONparsed.serialNumber + '.Commands.speak'; // Jetzt kommen die IDs der Routinen rein, die Du oben angelegt hast var dingDong = '7228f456-3b74-4a1b-9bc7-9ee09bxxec4e'; // <- id der Routine rein, die ausgeführt werden soll (z.B. ein Klingeln) var tieferGong = '5e58b92a-c9bd-4bf9-97b3-exxxfbda29ca'; // <- id der Routine rein, die ausgeführt werden soll (z.B. ein Gong) // Jetzt baust Du den Wert für die Alexa zusammen, von der die Anfrage kam: var welcheAlexaRoutineTrue = 'alexa2.0.Echo-Devices.' + AlexaJSONparsed.serialNumber + '.Routines.' + dingDong; var welcheAlexaRoutineFalse = 'alexa2.0.Echo-Devices.' + AlexaJSONparsed.serialNumber + '.Routines.' + tieferGong; // Jetzt kannst Du noch Deine Variable abfragen var istDerFernseherAn = (getState('javascript.0.SchalterUndGeraete.Fernseher').val); // Jetzt wird das Schlüsselwort/Satz abgefragt if (AlexaJSONparsed.summary == "Fernseher") { if (istDerFernseherAn == true) { setState(welcheAlexa, "Der Fernseher ist an."); // für Sprachausgabe (kann man weglassen, wird sonst nach dem Gong ausgeführt) setState(welcheAlexaRoutineTrue, true); // Hier wird der DingDong ausgeführt } if (istDerFernseherAn == false) { setState(welcheAlexa, "Der Fernseher ist aus."); // für Sprachausgabe (kann man weglassen) setState(welcheAlexaRoutineFalse, true); // Hier wird der Gong auf dem sendenden Gerät ausgeführt } } });
Und noch etwas, das immer wieder als Frage (auch bei mir) auftaucht: Wie bekommt man es hin, dass nach einem Kommando welches man an seine Alexa richtet, kein nerviges "OK" kommt, sondern die Sprachausgabe, die man (wie hier) via Script gerne möchte.
Ein einfacher Trick ist, dass man in der Routine eine Sprachausgabe macht und diese an ein Gerät sendet, was nicht online ist, bzw. aus ist. Ich sende es somit einfach an die Alexa APP. Die befindet sich auf dem Handy und macht sich nur bemerkbar, wenn man die App offen hat.
-
@pixelpuxel Das "OK" kannst du doch über die Einrichtung abschalten. Da musst du nicht den lästigen Umweg gehen.
-
@chaot
Über die Einrichtung kann ich es nur global abschalten. Aber das ist (zumindest bei mir) nicht gewünscht. Ich möchte es hier nur abschalten, da es sich sonst mit dem Gong in die Quere kommt. -
@pixelpuxel Dann habe ich das falsch verstanden. Bei mir ist das Ok dauernd aus, weil mich das bei jedem Schaltvorgang einfach nur genervt hat. Vor allem Nachts.
-
Hallo,
da es ja heisst, das man die Suche benutzen soll, habe ich das getan und diesen alten Thread gefunden und hole ihn mal wieder ins Leben.
Ich habe das gerade wie beschrieben eingerichtet, aber wenn ich die Routine im ioBroker auf TRUE setze, passiert gar nichts.
Kann es sein, das die Funktion so nicht mehr unterstützt wird? Funktioniert das bei euch noch? -
@exmerci das das mit den Routinen gerade nicht mehr geht kann sein, müsstest du im Alexa2-Adapter Thread nachschauen. Es ist Jahresende und Amazon bastelt fleißig an den Servern
Du kannst Geräusche wie eine Klingel etc. auch anders absetzen:
<audio src="soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_11"/>Und hier deine Sprachausgabe
in den
.Commands.speak
Datenpunkt eines Echos schreiben. Ergibt erst den Klang aus der Bibliothek und dann den Text.
Du kannst die gewünschte Lautstärke auch davor setzen:70; <audio src="soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_11"/>Und hier deine Sprachausgabe
Dann setzt der sie Lautstärke auf den Wert, macht den Ton und Durchsage und setzt ihn wieder zurück.
Welche möglichen Geräusche es gibt kannst du hier heraussuchen: https://developer.amazon.com/en-US/docs/alexa/custom-skills/ask-soundlibrary.html
-
@bananajoe Danke für die Info und den Tipp. Ich werde es mir heute Abend mal ansehen, ob ich es hinbekomme.
-
@bananajoe sagte in Türgong, Türklingelton mit Alexa abspielen:
<audio src="soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_11"/>Und hier deine Sprachausgabe
Du kannst einen ja auf dolle Ideen bringen
Was wäre denn der Trigger für diese Ausgabe? (ja, blöde Frage - ich weiß) -
@BananaJoe Habe es gerade ausprobiert. Genial. Danke dafür.
@pi-ter Der Trigger ist was immer du als Trigger haben willst. In diesem, also meinem Fall, ist der Trigger die Haustürklingel, getriggert über einen Objekt Datenpunkt. Dieser kommt vom Homematic IP Türklingelsensor. Also man muss schon ein Stück Hardware dafür haben.
-
@peoples
Nabend,
hast Du zufälligerweise eine Idee, warum die neue Routine nicht als DP auftaucht?
Die Alexa App meldet erfolgreiches erstellen, aber nach jetzt fast 30min ist im ioBroker noch nix zu sehen (ja, Verzeichnisbaum aktualisiert). Muss ich noch irgendwo etwas konfigurieren?
DankeVG Peter
-
@exmerci
Das ist mir schon klar, dass es einen "Auslöser" braucht. Meine Frage bezog sich auf den konkreten DP, den ich ansprechen muss, damit das Echo reagiert.
Bei den Routinen ist es klar, die werden - wie auch immer - auf true gesetzt. Aber welchen DP spreche ich hier an?Edit:
Ich glaub ich habs begriffen
Der String wird an den DP übergeben, richtig? -
@pi-ter sagte in Türgong, Türklingelton mit Alexa abspielen:
Die Alexa App meldet erfolgreiches erstellen, aber nach jetzt fast 30min ist im ioBroker noch nix zu sehen
Adapter neu starten
-
@djmarc75
Oh Mann, verdammt.... ja, das wars. Danke und 'nen schönen Abend noch.
VG -
@pi-ter sagte in Türgong, Türklingelton mit Alexa abspielen:
@bananajoe sagte in Türgong, Türklingelton mit Alexa abspielen:
<audio src="soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_11"/>Und hier deine Sprachausgabe
Du kannst einen ja auf dolle Ideen bringen
Was wäre denn der Trigger für diese Ausgabe? (ja, blöde Frage - ich weiß)Das Beispiel stammt aus meiner VIS, da haben ich Buttons für Durchsagen und Geräte:
Aber auch wenn die Türklingel läutet (Relais parallel zur Klingel schließt Kontakt auf ESP8266 mit Tasmota) oder jemand an der Terrasse läutet (ZigBee Butten neben Tür angeklebt).
Waschmaschine und Trockner fertig melden wir auch so einmal durch das Haus.
Und wenn die Rauchmelder auslösen. Was jedoch noch nie zur Reaktion eines der Kinder geführt haben, die ignorieren das einfach.
-
@pi-ter
Der Speak Datenpunkt ist der des Echos auf dem du es ausgeben willst. Ich hoffe das Hilft.
-
Danke für die Hinweise.
Grund für meine Frage nach dem Trigger war ein Verständnisproblem.
Ich dachte zunächst, dass der String von @BananaJoe in den DP Commands.speak geschrieben (vorgegeben) wird und die Sprachausgabe dann über einen anderen DP des (Echos) gestartet (getriggert) wird.Richtig ist aber wohl (?), dass dieser String als "Befehl" von anderer Stelle an den genannten DP gesendet / übergeben werden muss. Allerdings überlege ich, ob es nicht reichen würde, den Wert dieses DP erneut zu setzen, da ja der String schon vorhanden ist. Nur wie?
Also so ganz vollständig ist mir die Sasche dann doch noch nicht klar.
-
@pi-ter sagte in Türgong, Türklingelton mit Alexa abspielen:
Richtig ist aber wohl (?), dass dieser String als "Befehl" von anderer Stelle an den genannten DP gesendet / übergeben werden muss. Allerdings überlege ich, ob es nicht reichen würde, den Wert dieses DP erneut zu setzen, da ja der String schon vorhanden ist. Nur wie?
Du schreibst einfach in den
.speak
Datenpunkt, aber mitsteuere
aka Unbestätigt. Der Alexa2 Adapter merkt das und führt seine Aufgaben aus. Dann schreibt er den gleichen Wert noch einmal in den Datenpunkt, jedoch mitaktualisiere
aka BestätigtBeantwortet das deine Frage?