NEWS
[GELÖST] Alexa Standard-Sprachausgabe deaktivieren
-
@dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:
Das meinte ich. Füge doch alles was Du sonst so sagst, oder sagen könntest, bei diesem Gerät bei iot ein. (das mach ich bei einigen Geräten so, z.B wenn ich Fernsehsender umschalten will.)
Alexa,
z. d. f. , kanal zwei, das zweite
Ah ok, Danke, dann mache ich das so.
-
@tööö
und nicht vergessen das Script zu deaktivieren... -
Ich kam nun ein ganzes Stück weiter dank deiner Hilfe/Tipps. Mein Skript sieht nun folgendermaßen aus:
var alexaWohnzimmer = "alexa2.0.Echo-Devices.G090L909643516A0"; var ausgabe = ""; var spracheAN = ["Alles klar, Steckdose ist nun an.", "Ok, der Fernseher bekommt nun Strom.", "Ok, der Fernseher ist nun mit Strom versorgt.", "Jawoll, viel Spaß beim Fernschauen.", "Mache ich gern, Strom fließt.", "Ok, du kannst nun Fernschauen."]; var spracheAUS = ["Ok, Steckdose ist nun aus.", "Alles klar, der Fernseher bekommt nun kein Strom mehr.", "Super, nun wird wieder Strom gespart.", "Ok, ich hoffe, es war ein spannendes Fernsehprogramm.", "Mache ich gern, die Stromrechnung freut sich.", "Erledigt, Fernseher bleibt nun aus."]; var index; ausgabe = '<speak><prosody volume="x-loud">'; if (getState("zigbee.0.7cb03eaa0a0898b3.state").val) { setState("zigbee.0.7cb03eaa0a0898b3.state", false); index = Math.floor(Math.random() * (spracheAUS.length - 0)) + 0; ausgabe += spracheAUS[index]; } else { setState("zigbee.0.7cb03eaa0a0898b3.state", true); index = Math.floor(Math.random() * (spracheAN.length - 0)) + 0; ausgabe += spracheAN[index]; } ausgabe += '</prosody></speak>'; setState(alexaWohnzimmer + ".Commands.ssml", ausgabe);
Alexa soll natürlich verschiedene Rückmeldungen geben. In der iot-Instanz habe ich das Skript hinzugefügt und verschiedene Werte hinterlegt "Steckdose Fernseher, Steckdose Fernsehen, Steckdose am Fernseher..."
In der Alexa-App dann nach Geräten gesucht, alle gefunden. Soweit ist das auch super.Wenn ich nun sage, "Alexa, schalte Steckdose Fernseher ein", klappt das auch wunderbar und das Skript wird ausgeführt. Aber wenn ich sage "Alexa, schalte Steckdose Fernseher aus", klappt das natürlich nicht.
Kann ich das noch irgendwie lösen? Natürlich könnte ich sicher meine ZigBee-Steckdose auch hinzufügen, aber dann habe ich die Zufallsantwort von Alexa nicht, bzw. kann dahinter keine eigenen Skripte legen.
-
@tööö du brauchst dein skript nicht! siehe ein post oberhalb deines postings...
-
@da_Woody sagte in Alexa Standard-Sprachausgabe deaktivieren:
@tööö du brauchst dein skript nicht! siehe ein post oberhalb deines postings...
Ja, das würde gehen, aber dann könnte Alexa keine Zufallssätze nach dem Schalten der Steckdose ausgeben, so wie ich es im Skript programmiert habe.
Das muss doch irgendwie gehen, oder ist man hier streng im System gefangen?
-
@tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:
Wenn ich nun sage, "Alexa, schalte Steckdose Fernseher ein", klappt das auch wunderbar und das Skript wird ausgeführt. Aber wenn ich sage "Alexa, schalte Steckdose Fernseher aus", klappt das natürlich nicht.
auch wieder verschiedene Möglichkeiten...
Ohne Script kommt es drauf an wie Du die Geräte in iot einfügst, bzw. was das für Geräte sind.
Ein Button z.B. löst immer aus, weil er nur aktualisiert wird. Ein Schalter (Switch) kann an und aus. Light kann z.B. noch level von bis usw... Das kannst Du schon sehr gut an den Symbolen im iot Adapter erkennen.Wenn Du iot und Script laufen hast, dann gibt das bestimmt ein durcheinander....
-
@tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:
Ja, das würde gehen, aber dann könnte Alexa keine Zufallssätze nach dem Schalten der Steckdose ausgeben, so wie ich es im Skript programmiert habe.
Du könntest ja probieren das Script nichts schalten zu lassen, sondern nur die Zufallsantworten ausgeben lassen.
Edit:
also wenn die Steckdose/Fernseher tatsächlich geschalten wurde und an ist(z.B. true) dann sabbel die Zufallsantwort. Alles ohne die summary. -
@dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:
@tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:
Ja, das würde gehen, aber dann könnte Alexa keine Zufallssätze nach dem Schalten der Steckdose ausgeben, so wie ich es im Skript programmiert habe.
Du könntest ja probieren das Script nichts schalten zu lassen, sondern nur die Zufallsantworten ausgeben lassen.
Edit:
also wenn die Steckdose/Fernseher tatsächlich geschalten wurde und an ist(z.B. true) dann sabbel die Zufallsantwort. Alles ohne die summary.Wieso komme ich nicht auf solche Ideen? Aber gut, Danke, das klingt plausibel und machbar. Problem habe ich nun nur beim Hinzufügen der Zigbee-Steckdose (Osram). Skripte gingen wunderbar hinzuzufügen, aber die Steckdose mag er nun aus irgendeinem Grund nicht:
iot.0 2020-08-30 10:33:25.433 error (1281) "zigbee.0.7cb03eaa0a0898b3.state" not exists or no native part.
Müsste doch genauso gehen, wie wenn ich die Skripte in die iot-Instanz hinzufüge, oder?
-
@dslraser irgendwie skuril. erst soll alexa den schnabel halten, jetzt soll sie "lustige" antworten gebn...
-
@tööö
füge das/die SmartNamen einfach über den RAW des Datenpunktes hinzu.Beispiel ? (oder weißt Du was ich meine)
-
@tööö
Beispiel SmartNamen über RAW einfügen -
@da_Woody sagte in Alexa Standard-Sprachausgabe deaktivieren:
@dslraser irgendwie skuril. erst soll alexa den schnabel halten, jetzt soll sie "lustige" antworten gebn...
Für die grundlegende Frage habe ich erstmal nur ein kleines Skript gepostet. Alexa soll halt nur ihren "Schnabel" halten, damit sie nicht ihre standardmäßige Antwort ausgibt. Aber Danke für deinen konstruktiven Beitrag.
@dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:
@tööö
Beispiel SmartNamen über RAW einfügenDanke, ich versuche es mal, ob ich es hinbekomme. Melde mich dann.
-
@dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:
@tööö
füge das/die SmartNamen einfach über den RAW des Datenpunktes hinzu.Beispiel ? (oder weißt Du was ich meine)
Sehr gut! das hat nun funktioniert, wie ich es will. Steckdose wird über die verschiedenen Smartnamen geschaltet
"smartName": { "de": "Steckdose Fernsehen, Steckdose Fernseher, Steckdose am Fernsehen, Steckdose am Fernseher", "smartType": "SWITCH" }
Und mein Skript läuft dann bei den Triggerwörtern auch an und gibt nur die entsprechende Antwort aus.
Vielen Dank dir.