NEWS
UNSOLVED Wie Alexa Sprachausgabe deaktivieren
-
stimmt. sollte auch gehen.
Manchmal ist es ja so einfach -
Hallo,
ich klinke mich mal ein, da ich auch noch keine zufriedenstellende Lösung dafür gefunden habe.
Die Ausgabelautstärke wäre eine Option, allerdings lässt sie sich nicht auf 0 verringern wenn ich mich recht entsinne.Jedenfalls sollte "Kurze Antwort" in der Alexa App aktiviert sein. Ich habe in einem anderen Thread gelesen, dass dslraser sich "Pseudo"-Geräte bzw. Datenpunkte im Cloud Adapter erstellt hat. Das klingt nach einer guten Idee, habe mich aber selbst noch nicht großartig mit der Methode auseinandergesetzt.
Grüße
Chris -
@k1ngstire said in Wie Alexa Sprachausgabe deaktivieren:
Jedenfalls sollte "Kurze Antwort" in der Alexa App aktiviert sein. Ich habe in einem anderen Thread gelesen, dass dslraser sich "Pseudo"-Geräte bzw. Datenpunkte im Cloud Adapter erstellt hat. Das klingt nach einer guten Idee, habe mich aber selbst noch nicht großartig mit der Methode auseinandergesetzt.
das ist das, was ich mit "Node red-Skill " gemeint habe.
Man muss sich zwar dort registriegern, aber das ist völlig kostenlos und funktioniert eigentlich wunderbar.
(wenn nicht zum Beweis gerade heute der Skill gesponnen hat / nicht erreichbar) -
Vielen Dank für eure Antworten.
Da dies mehrfach erwähnt wurde: Kurze Antwort ist bei mir ebenfalls aktiviert. Bringt aber dennoch nix, wen Sie ein Gerät versucht zu steuern, welches nicht existiert kommentiert sie/es dies.
Lautstärke, nicht stören flag, stop funktion, etc. funktioniert leider alles nicht. Ich gehe davon aus, dass dies gesetzt werden müsste BEVOR Alexa versucht die Aktion zu starten. Dies ist aber von der Logik her nicht realisierbar.
Ich versuche mal ein Dummy Geräten über node red-skill zu erstellen und mit Alexa zu verbinden. Von der Logik her müsste dies die Lösung sein.
Da ich neu in dieser Materie bin und mich zuerst mal informieren muss, was node red-skill überhaupt ist, kann es gut sein, doch ich euch hier nochmals mit einigen Fragen belästigen mussFall ich es schaffe, werde ich ebenfalls berichten.
Noch eine Frage neben dem Dummy über node-red:
Lässt sich denn nicht auch direkt über ioBroker ein Dummy Gerät erstellen?
Über Cloud lässt sich bei Smart-Geräte ein Gerät hinzufügen welches auch mit Alexa verbunden werden kann. Das einzige was ich hierbei noch nicht verstehe, wie ich bei diesem Gerät auswählen kann, welche Funktionen es unterstützt. Oder habe ich hier die Smart-Geräte Funktion von ioBroker Cloud falsch verstanden? -
@wizzardking said in Wie Alexa Sprachausgabe deaktivieren:
bin und mich zuerst mal informieren muss, was node red-skill überhaupt ist, k
schau mal hier. Dies ist der Skill, der in Alexa gebraucht wird:
Amazon Skillund hier musst du dich registrieren:
Home-Skill Login-SeiteDanach kannst du "Devices" anlegen, auf die Alexa hören soll. Die können unterschiedliche Atribute haben.
In node red im ioBroker selbst kannst du dann selbst bestimmen, was da passieren soll.
Beispiel:
Du definierst ein Gerät "Bürostuhl" als Licht mit Dimmfunktion.Und wenn du dann sagst "Alexa, Bürostuhl 10%", kann das für dich bedeuten, du steuerst ein Rollo auf halbe Höhe.
Die Aktionen bestimmst du dann mit den node red-Flows (Skripten)Wenn du bei den Startknoten im node red das AutoACK ausschaltest, kann dein Skript trotzdem laufen.
Gedacht ist, dass du am Ende Alexa sagst, ob die Aktion OK ist oder nicht.
Machst du es nicht, wartet Alexa so lange, bis ein Timeout kommt. -
@wizzardking
Also ich habe meine Schaltung noch ein wenig angepasst. Da ich eigene Datenpunkte für jede Schaltaktion habe nutze ich die auch dafür. Man kann den Smartgerätenamen zwar auch so erstellen wie der Sprachbefehl letzendlich heißen soll, habe ich aber bewußt nicht gemacht (direkt ein Smartgerät schalten hatte den Nachteil das man auch schalte Fernseher oder Kino ein/aus sagen muss, geht zwar manchmal auch ohne schalte, aber manchmal nicht). Ich schalte diese Datenpunkte in Routinen, das funktioniert sehr zuverlässig. Ich habe dafür zwei Routinen je Sprach/Schaltbefehl. Die Datenpunkte sind als button angelegt und das Smartgerät ist dann ein Switch. Im Blockly triggere ich dann den Datenpunkt auf wurde aktualisiert. Das hat den Vorteil, das ich nicht noch true und false kontrollieren muss.
Ich habe diesen Weg genommen, da dann auch die Fernbedienung zusätzlich genommen werden kann. und der Zustand nicht kontrolliert/abgefragt werden muss.
So mal ganz nebenbei.....man kann auch direkt die Activity in den Iot/Cloudadapter einfügen, das geht auch, wollte ich aber nicht.
In meinem Blockly wird lediglich geprüft welcher Echo angesprochen wurde, damit dann auch das richtige Gerät geschaltet wird. Auf diese Weise nutze ich z.B. den Datenpunkt Fernsehen gleich zwei bzw. vier mal.
Hier das Blockly...Edit: ich habe ein "falsches" Blockly hoch geladen. Das war ein Testblockly.
-
@Arnulf said in Wie Alexa Sprachausgabe deaktivieren:
Beispiel:
Du definierst ein Gerät "Bürostuhl" als Licht mit Dimmfunktion.Und wenn du dann sagst "Alexa, Bürostuhl 10%", kann das für dich bedeuten, du steuerst ein Rollo auf halbe Höhe.
Die Aktionen bestimmst du dann mit den node red-Flows (Skripten)Wenn du bei den Startknoten im node red das AutoACK ausschaltest, kann dein Skript trotzdem laufen.
Gedacht ist, dass du am Ende Alexa sagst, ob die Aktion OK ist oder nicht.
Machst du es nicht, wartet Alexa so lange, bis ein Timeout kommt.Wow, ich kannte node-red auch noch nicht aber das hört sich nach einer mächtigen Funktion an. Also kann ich auch Alexa damit fragen stellen lassen?
Zum Beispiel sage ich: "Alexa, nenn mir den Status vom Roborock".
Alexa fragt dann "Kurz oder Komplett?"
Worauf ich dann wählen kann ob ich die Kurzfassung nur mit Akkustand und Saugkraft oder die volle Ansage mit Restlebenszeit der Komponenten, Laufzeitinfo's usw. hören möchte? Das wäre echt super.@wizzardking
Auf dem Heimweg im Auto kam ich eben darauf, dass man ja im ioBroker Cloud Adapter einfach ein Dummy-Gerät erstellen kann. Zum beispiel "Dummy".
Wenn man jetzt in der Alexa-App eine Routine erstellt mit der Bedingung ich sage: "Alexa Fenseher an" kann man dann wählen, dass Alexa diesen "Dummy" schaltet. Es kommt das reguläre "Ok" bzw. der kurze Ton, aber sie meckert nicht, dass sie das Gerät nicht findet.
Edit: Noch einfacher auf den Satz als Trigger kein Gerät steuern, sondern lediglich definieren dass "Alexa sagt" "Okay.".Nachteil ist, dass man für jeden möglichen Satz eine Routine erstellen muss. "Alexa, Fernseher an", "Alexa, Fernseher ein", "Alexa, Fernseher einschalten"... Womit mein System mit welchem ich im ioBroker Blockly Skript Alexa anspreche nicht mehr funktioniert, da ich nicht die exakten Sätze definiert habe sondern Schlüsselwörter in der summary suche welche die Ansprache an Alexa sehr variabel macht.
Grüße
-
@Arnulf said in Wie Alexa Sprachausgabe deaktivieren:
schau mal hier. Dies ist der Skill, der in Alexa gebraucht wird:
Amazon Skill
und hier musst du dich registrieren:
Home-Skill Login-SeiteDie Links funktionieren bei mir nicht.
Hast du Rolladensteuerung über Node RED umgesetzt und würdest das mal exportieren?
Home Bridge hab ich mir letzte Tage auch angesehen, sieht gut aus. Einen Skill hab ich noch nicht gesehen, daher die o.s. Info bzgl der Links
-
@Arnulf
Ich habe mich nun etwas genauer mit node red auseinander gesetzt. Ich habe es zuerst mit der offline-variante versucht (je weniger über externe Server desto besser), leider funktionierte die Verbindung nicht.
Danach habe ich es über https://alexa-node-red.bm.hardill.me.uk/ versucht. Im Node Red konnte ich auch für den Alexa Home Baustein die Login-Daten der oben geschriebenen Seite eingeben und das Online erstellte Gerät wurde mir auch angezeigt. Alexa die kleine ***** findet aber das Gerät trotz installiertem und konfiguriertem Skill nicht. Vielleicht sind es nur gerade Serverprobleme (werde dies Morgen noch einmal testen).
Allerdings denke ich, dass dies vermutlich auch nicht die Lösung sein wird, da per Node Red ja nur sehr Begrenzte Aktionen möglich sind (On/Off, Dimmen).Wenn ich also sage "Alexa, Fernseher lauter", dann wird Alexa ziemlich sicher trotz Fernseher dummy sagen "Fernseher unterstützt dies nicht".
Ich teste aber Morgen Node Red noch einmal und sehe dann ob es klappt.
@k1ngstire
Der Weg per Alexa routine und Cloud dummy funktioniert tatsächlich. Nur gibt es gefühlte eine Million Varianten welche ich dort eintragen müsste. Wenn ichs aber anders nicht schaffe, dann nehme ich es so in Kauf. Danke für die Idee.@dslraser
Vielen Dank für Dein Script.
Ich hab nun auf Anhieb die Logik leider noch immer nicht ganz kapiert, schaue mir dies aber Morgen noch einmal in Ruhe an. -
@Gerni : Ne, Ich habe keinen Rolladen. Das war nur als Beispiel gedacht.
Und die Links habe ich gerade ausprobiert. Bei mir gehen sie. Wizzardking scheint die Links auch aufrufen zu können.
Schau vielleicht selbst mal über Google, ob das bei dir besser klappt.
Du brauchst zum Einen den nod red-Skill in der Alexa und einen Account bei node red home skill.@wizzardking : hast du auch Alexa nach neuen Geräten suchen lassen? Denn diesen Schritt habe ich bei meiner Liste vergessen.
Die Geräte, die Alexa kennen soll, müssen dann in node red (Internet-Seite) hinterlegt sein. Und da gibst du auch an, welche Geräteklasse (Lampoe, Schalter, Dimmer...) Das ist.
Dementsprechend erlaubt Alexa dann auch, das Gerät mit den Funktionen.
Alles Ander kennt Alexa nicht oder sagt dir als Antwort, dass das Gerät das nicht unterstützt.
Ein Schalter kann dan nicht auf 20 Grad gesetzt werden....@nurChris : Alexa übernimmt die Spracherkennung. Den Sinn in den erkannten Worten müsstest du dann selbst erkennen. Wenn deine Routine "ein", "einschalten" oder "an" findet und als gleichwertig erkennt, sollte das funktionieren
-
@Arnulf
Ja, Alexa habe ich nach neuen Geräten suchen lassen. In node red schaltet sich die alexa node immer auf "discovery", sobald ich alexa nach Geräten suchen lasse. Es besteht also irgend eine Verbindung, hinzugefügt wird dann aber nix.
Vermutlich liegt das Problem daran, dass ich zuerst eine andere Node (Alexa local) installiert hatte und es dadurch Probleme gab. Müsste vermutlich einfach Node Red nochmals frisch installieren, dann müsste es klappen.
Ich lass dies aber bleiben, da es keine Lösung für mein Problem ist. An sich wäre es das gleiche wie ein virtuelles Gerät über die Cloud zu erstellen.
Da ich aber diverse Funktionen habe, welche dabei nicht unterstützt werden (Fernseher leiser, sehr viel leiser, Lüfter nach links drehen, etc.) würde mir Alexa noch immer sagen, dass das Gerät diese Funktion nicht unterstützt.Ich erstelle nun Dummy Routinen in Alexa für jedes Sprachkommando. Dies Funktioniert tatsächlich. Ich hoffe hier einfach mal, dass die max. Anzahl nicht zu sehr limitiert ist.
-
@wizzardking sagte in Wie Alexa Sprachausgabe deaktivieren:
Kurzfassung:
Wie kann ich über ioBroker definieren/scripten, dass kurzzeitig auf keiner Alexa eine Sprachausgabe ausgegeben, oder die aktuelle Sprachausgabe abgebrochen werden soll?Längere Fassung:
Ich fummle nun seit zwei Tagen mit Alexa + ioBroker + Harmony Hub herum. Sowohl der Harmony, als auch der Yonomi Skill für Alexa sind nicht die Lösung, da mann zu viel mit alternativen Namen / workarounds arbeiten muss. Ebenfalls stört bei IFTTT das Trigger Wort und es läuft zusätzlich noch alles über die IFTTT Server, was es etwas instabiler macht.
Da man mit ioBroker aber die Spracheingabe von Alexa auslesen und dementsprechend auch triggern kann, lässt sich so auch direkt jedem befehl welcher ich Alexa mitteile, auch eine wirklich spezifische Aktion zuweisen. Dies funktioniert soweit ausgezeichnet.Mein einziges Problem bei dieser Lösung ist, dass wenn ich z.B. sage "Alexa, Fernseher an" ioBroker zwar den Befehl ausliest und auch den Fernseher entsprechend anschaltet, Alexa mir aber dennoch mitteilt "Ich habe kein Gerät mit dem Namen Fernseher gefunden". Es wäre daher super, wenn ich im selben Script in ioBroker, welches mit dem input "Fernseher an" getriggert ist, auch definiert werden kann, dass Alexa keine Antwort ausgibt.
Warum gehst du diesen Weg, dass du ausliest, was zu Alexa gesagt wurde? Wenn du den Harmony-Adapter nutzt, kannst du die einzelnen Funktionen direkt als Smart Gerät in Alexa anlegen. Ich sage zu Hause auch nur "Alexa, Fenseh an" sie sagt nur ok und gut ist.
Grüße
-
@Snatch
Es geht darum, dass ich so Alexa-Skill unabhängig vorgehen kann und dadurch wesentlich flexibler bin als mit den vordefinierten Skills wie der Harmony. Ich kann nun z.B. bei "Fernseher zurückspulen" wesentlich genauer vorgehen. Es ist bei mir nun egal, ob ich Fernseher, TV, Glotze, Serie oder Film sage und abhängig davon ob in meinem Satz noch "viel" oder "sehr viel" vorkommt, wird die aktuelle Sendung mehr oder weniger zurückgespult.Darüber hinaus lässt sich über das Abfangen des gesprochenen Textes in Alexa jede erdenkliche Routine und Scrip starten, auch wenn dieses nichts mit der Harmony zu tun hat.
-
Hat sich hierbei mittlerweile eine gute Lösung ergeben?
Ich hätte daran auch Interesse -
Also, etwas in der Richtung
funktioniert schon - ein wenig.
Leider beginnt Alexa noch kurz zu sprechen, bevor sie rüde unterbrochen wird.
Zumindest auf dem Echo Dot 2 kann man auch die "player.volume" auf "1" (=1%, nicht zu verwechseln mit "Lautstärke 1", was 10% sind) stellen, das ist extrem leise, wenn auch nicht unhörbar.
Also theoretisch vorher auf "1" stellen und dann auf "0" abwürgen.
Wäre wohl das, was der Sache am nächsten käme.
Ein weiterer Haken, bei jeder Änderung der Lautstärke macht es "bub", wenn man den weißen Ring sieht (nicht so auf dem Echo 2 hier, dafür mag der aber nicht jede Prozentzahl und rundet sehr eingemächtig ) -
Ich lass Alexa über speak eine andere anwort ausgeben. kommt zwar ganz ganz kurz eine ms. der vorherige gewollte Satz von Alexa.
-
Moin Community,
ich bin ebenfalls auf der Suche nach einer Lösung zu diesem Problem.
Da ich die fest vorgegebenen Sätze in Alexas hauseigenen Routinen überhaupt nicht mag, habe ich mir mit ioBroker etwas flexibleres gebaut. Sprich, auch bei mir wird auf die Eingabe von Alexa reagiert. Aber leider nerven mich ebenfalls die Sätze von Alexa, dass sie zu meiner Anfrage nichts finden kann. Ja, die Aktion wird trotzdem durchgeführt, aber es ist doch sehr nervigIch würde gerne auf weitere unnötige Cloud-Anbindungen verzichten.
Ein Triggerwort für einen Skill wäre noch akzeptabel. Ich würde auch versuchen einen eigenen Skill zu schreiben, aber da ist man auf theoretische 1 Mio. calls pro Monat beschränkt (kostenfrei) und man kann Skills vermutlich nicht "privat" markieren. Klar, die 1.000.000 calls sind jetzt nicht gleich weg, aber ich suche etwas zuverlässiges.Tipps sind herzlich willkommen!
Danke und Grüße aus dem Norden
-
@sleepwalker
Leider sind "stille Routinen" der einzige Weg (ok, gibt noch "blueprints", aber die gibt es nicht still).
Pro Routine sind ja mehrere Sätze möglich.
Klar, bei Sätzen mit "Variablen" hilft das nicht... -
@wizzardking sagte in Wie Alexa Sprachausgabe deaktivieren:
Ich erstelle nun Dummy Routinen in Alexa für jedes Sprachkommando. Dies Funktioniert tatsächlich. Ich hoffe hier einfach mal, dass die max. Anzahl nicht zu sehr limitiert ist.
Kleine Randbemerkung:
Habe heute eine Email vom "Support" bekommen (war zu ganz anderem Thema und Antwort hat mir Null gebracht ), darin stand
"...Sie können auf Ihrem Konto bis zu 99 Routinen erstellen..." -
@padrino said in Wie Alexa Sprachausgabe deaktivieren:
@sleepwalker
Leider sind "stille Routinen" der einzige Weg (ok, gibt noch "blueprints", aber die gibt es nicht still).
Pro Routine sind ja mehrere Sätze möglich.
Klar, bei Sätzen mit "Variablen" hilft das nicht...Danke dir.
Einer von zwei Gründen war bei mir u.a., dass ich eben keine 25 verschiedene Sätze für eine Routine einbaue, damit man die möglichst sprachneutral nutzen kann. Wenn ich jetzt stille Routinen anlege, ist das ganze fast witzlos.Vielleicht findet sich ja eine schicke Lösung in der Zukunft.
PS: Aber gut zu wissen, dass bei 99 Routinen Schluss ist. Das finde ich erst einmal nicht allzu viel....da kann man sich dann wirklich Gedanken machen, mehr mit ioBroker zu machen. Mein KNX-Homeserver hat auch eine starke Limitierung.