NEWS
Anfänger: Einbindung Alexa / Blockly
-
@cinimod ...so nach weiterem basteln, schieben und lesen konnt ich jetzt eine Version erstellen, auf die Alexa tatsächlich reagiert
Anders ist der Vergleich auf Wert mit nicht = sondern >=
Warum auch immer das in der Auswertung eines gesagten Textes einen Unterschied macht......allerding kommt leider vor der Ansage immer noch der gute alte Alexa Kommentar " ich weiss nicht...". Eigentlich sollte das mit dem deviceStop und true verhindert werden.
Gibt es da noch einen anderen Ansatz?
-
Hast du das so wie es ist irgendwo abgekupfert ?
Was für daten beinhaltet der datenpunkt "summary" ?
Wenn du nicht genau sagen willst was du vor hast, (was wann passieren soll) ist es schwer dir da irgendwie zu helfen
-
Naja ich bin nach wie vor dabei im Netz und im Forum zu recherchieren wie andere die Kommunikation mit Alexa umgesetzt haben. Dabei ist dann jetzt die aktuelle Version entstanden.
Sinn und Zweck des Scripts ist Erarbeitung einer Grundlage in der Kommunikation mit Alexa und ioBroker. Sprich, was muss gemacht werden, damit ein gesprochenes Wort von Alexa als solches erkannt und umgesetzt wird. Was da aktuell gemacht werden soll über Alexa ist ersteinmal zweitrangig.
Die ObjectID summary refenrenziert auf alexa2.0.History.summary.
Hier hatte ich in mehreren Anleitungen dazu gelesen, dass Alexa hier die zuletzt erkannten Befehle registriert und zwar für alle im System verwendeten Echo Komponenten.Da ich das ganze ersteinmal nur mit einem Echo hier in meinem Arbeitszimmer ausprobieren wollte, greife ich dann über die ID deviceStop direkt auf das angesprochene Echo zu. Laut Recherche soll mit True in deviceStop verhindert werden, dass genau die Ansage NICHT kommt, die dann aber doch kommt: Ich weiss nicht wie ich dir dabei helfen soll...
Danach geht an die ID speak des Echos der Befehl zur Sprachausgabe des angegebenen Textes. Wird auch ausgeführt, kurz nach der netten Ansage der Dame über den Hilfenotstand.
-
Also, ich bin mir nicht zu 100% sicher, aber ich glaube die History datenpunkte werden nicht mehr beschrieben/aktualisiert von dem Adapter. Wenn ich da richtig liege kannst du die also vergessen, da findest du keine history-Daten mehr.
Den DeviceStop Datenpunkt benutzt du dafür um eben eine eventuell laufende Aktion des Echo zu stoppen.
Den kannst du auch erstmal außen vor lassen, selbst wenn der in Aktion ist, pausiert er die Aktion einfach währen der text ansage und macht dann einfach weiter mit dem was er zuvor tat.Wir starten mal etwas weiter vorne, bzw. gibt es auch eine echt tolle Doku über Blockly, da solltest du vielleicht mal rein schauen. klick HIER oder klick HIER :
Für ein Skript brauchst du einen sogenannten trigger (auslöser), also musst du dir halt überlegen wer oder was das Skript anstoßen soll, das kann im Grunde alles sein, wenn du einen Schalter schaltest, ein Sprachbefehl, eine bestimmte Temperatur, Uhrzeit, eine Astrozeit (sonnenuntergang), usw. usw. ... was immer du willst, aber du brauchst natürlich einen Auslöser für das Skript!
In meinem Beispiel hatte ich zum testen einen Zeitplan block als trigger gewählt:
tippst du auf die Sterne kannst du diesen Zeitplan anpassen: ein Intervall, eine bestimmte Uhrzeit, usw. usw.
in diesem Beispiel löst der trigger jetzt jede Minute aus.und dann baust du den oder die Blöcke da REIN, was passieren soll bei der Auslösung:
Du steuerst den "speak" datenpunkt des entsprechenden echo Geräts an, mit deinem Wunschtext in diesem fall.
Jetzt sollte dein echo jede Minute diesen Text sprechen. Mehr brauchst du hier für nicht!
Ich hoffe du kannst soweit folgen.
Natürlich ist das eher Quatsch das jede Minute dieser Satz gesprochen wird, den trigger block habe ich ja nur zum testen genommen, da gibst es ja unbegrenzt Möglichkeiten das Skript zu triggern, ein paar hatte ich ja schon aufgezählt.
-
@cinimod sagte in Anfänger: Einbindung Alexa / Blockly:
Also, ich bin mir nicht zu 100% sicher, aber ich glaube die History datenpunkte werden nicht mehr beschrieben/aktualisiert von dem Adapter. Wenn ich da richtig liege kannst du die also vergessen, da findest du keine history-Daten mehr.
Woher hast Du diese These?
Natürlich funktioniert der summary Datenpunkt.
Musst es in den Adapter Einstellungen einstellen. -
@haselchen Ich dachte mal gelesen zu haben das es keine History daten mehr gibt vom Alexa Adapter.
Gut dann hätten wir das ja geklärt. Da ich den nicht nutze, bin ich der Sache nicht weiter auf den Grund gegangen. -
Du kannst auch über den TextCommand DP eines Echos Dinge auslösen lassen per Blockly, die Du sonst sprechen würdest.
Alexa sagt dann zwar zwangsläufig ok oder gibt nen Signalton , aber auch so lassen sich dann noch mal andere Anwendungen ausführen.
Edit:
@CinimodSo sehen die Einstellungen aus für die Aktualisierung
-
@haselchen Also in meinen History Datenpunkten tut sich generell nichts mehr, wie bewege ich den Adpter dazu diese wieder zu beschreiben ? Finde den besagten punkt nicht den ich Aktivieren soll das dort wieder was auftaucht.
-
Siehe meinen Edit über Dir
-
@haselchen Ja sorry zu spät gesehen.
Danke, werde ich mal testen....Aber da war doch mal was, das es keine History Daten mehr gab oder irre ich mich da ?
-
Puh, dass ist aber auch schon ne Weile her.
Gib mal Feedback bitte wenn Du es probiert hast.
-
Bei mir nach wie vor kein History Einträge !
EDIT:
Sorry mein Fehler, hat irgendwie die Änderungen nicht gespeichert. jetzt tut sich auch wieder was, danke für den Hinweis
-
Also löppt wieder?
-
@haselchen Jau
-
@cinimod said in Anfänger: Einbindung Alexa / Blockly:
@haselchen Jau
Also das die Objekt IDs funktionieren kann ich ja in der Objekte Liste sehen. Da wird die letzte Sprachanweisung inkl Ziel, Zeit etc. gelistet. Kommt also an.
Nur deviceStop scheint keinerlei Einfluss zu haben, speak an sich funktioniert auch, es kommt ja die angegebene Textzeile.
Aber wie kann ich jetzt den netten Spruch verhindern?
-
Einfach aus der hohlen Hand …. leg ein Blockly mit dem DP textCommand an und schreib da stop rein.
-
@haselchen ...so weitere Recherche und jetzt habe ich einen Workaround. Ist zwar merkwürdig, funktioniert aber prima.
In der Alexa App eine Routine anlegen mit dem gesuchten Wert, aber keinerlei Aktion dazufügen. Dann fehlt der nette Satz zum Hilfenotstand und der in speak angegebene Text wird angesagt. Keinerlei Stop oder deviceStop = true erforderlich.
-
Ja das hatte ich auch schon im sinn... habe auch mehrere aktionen über routinen gelöst.
Du kannst natürlich auf den summary Datenpunkt triggern, jedoch kann Alexa mit dem was du ihr sagst nichts anfangen, da sie das ja als befehl nicht kennt, daher kommt immer diese entsprechende Meldung, dein trigger löst es natürlich trotzdem aus, demnach folgt dann deine gewünschte Ausführung.
EDIT: Ach jetzt verstehe ich das erst ... der device stop sollte die Ausgabe der Fehlermeldung unterbinden
-
@ulff
Servus,
Weiß nicht ob das noch interessant ist.
Ich nutze den Alexa Adapter auch für Sprachansagen wie zb Wetterwarnungen vom DWD.
Ich nutze dafür nur den Speak Command und das wird eigentlich ohne Probleme ausgeführt.
Hast du mal einfach in den Objekten in den DP was eingetragen und geschaut ob sie die Ansage fehlerfrei macht?
Die Summary zum auslösen zu benutzen kann ich nicht empfehlen da es immer wieder Probleme mit zu vielen Anfragen an die Amazon Server gibt.
Wenn du Smarte Geräte über Alexa steuern willst würde ich den iot Adapter empfehlen.Grüßle
Timo -
@faz3rs-adventures sagte in Anfänger: Einbindung Alexa / Blockly:
Wenn du Smarte Geräte über Alexa steuern willst würde ich den iot Adapter empfehlen.
@UlfF Jupp, kann ich auch nur empfehlen