NEWS
Alexa device für Sprachausgabe bestimmen
-
@albert-k
Ja, genau so hatte ich mir das vorgestellt, weiß aber nicht, wie ich das in meinem blockly umsetzen soll.....Kurz zum Hintergrund:
Ich möchte die Außentemperatur von Alexa ansagen lassen. Da mir nichts besseres eingefallen ist, habe ich ein Wemos D1 8266 mit Tasmota geflasht und einen DS18B20 angesteckt und ein virtuelles Relais auf Dxy angegeben.
Über die HUE Emulation ist es in Alexa auffindbar und steuerbar. Über eine Routine in Alexa kann ich nun meine Frage nach der Temperatur stellen. Dabei wird das Relais eingeschaltet und der Datenpunkt ändert sich auf "true". Nun kommt mein blockly in´s Spiel und gibt die Temperatur über "speak" aus.
Vermutlich nicht die einfachste Lösung, aber mit meinen bescheidenen Mitteln für mich der gangbarste Weg.... -
Hast doch schon fast alles. Brauchst doch nur noch die Falls/Sonstfalls Struktur in welchem dann das "steuere speak" ausgeführt wird. Wobei Du ja einen zweiten Falls Trigger verwendest, das sollte ein Logik Block sein
Trigger im Trigger, das haut in der Regel nicht hin. Aber das ist eine andere Sache.
-
@albert-k
Ja, sähe dann in etwa so aus....
Ich weiß nur nicht, was ich bei der "falls" Bedingung eintragen kann.
Es sollte ein Element sein, wo ich sage: falls Objekt ID = xxxxx
Ich finde aber nichts passendes... -
Na so wie ich es beschrieben habe oben
Falls wert von history/name = Echo1 -> steuere speak (vom Echo1) mit Text
Sonstfalls etc etc -
Ich hab´s gefunden....
Werde es heute abend mal ausprobieren und berichten.
Bis dahin erstmal vielen Dank! -
So, funktioniert grundsätzlich aber manchmal verschluckt er sich halt noch und gibt es auf dem falschen Gerät aus, weil der Status in der history nicht schnell genug aktualisiert wird. Da müsste also vor dem Auslesen des Status irgendwie noch eine kleine Verzögerung rein. Mal sehen, ob ich da ne Lösung finde.....
-
@harrymausi
Hallo,
wie @Albert K schon schreib Trigger im Trigger mach man nicht, könnte daran liegen.
bei mir sieht es so aus, einmal mit speakoder mit ssml
es antwortet immer die gefragte
Edit: noch ein Bild
Gruß Michael -
@michi68
Vielen Dank für den Vorschlag.
Wenn ich es richtig sehe, wird hier vermutlich auch die serialnumber aus der history ausgelesen und dann das entsprechende device mit dem speak Befehl angesprochen.
Ich werde es auch einmal so probieren, da mir das Script etwas kompakter erscheint als meins.
Mittlerweile funktioniert es bei mir aber auch gut.
Das Problem war offensichtlich, dass das andere echo Gerät mitgehört hat (die Mikrofone sind ja sehr empfindlich) und somit das von mir angesprochene Gerät nicht in der history stand, sondern ein anderes, welches dann auch antwortete.... -
Und Deine Blockly funktionieren wirklich? Das wundert mich jetzt aber schon etwas.
Als Trigger benötigt man doch den ObjekID und nicht den Wert des ObjektIDs.
-
@albert-k In neueren javascript Versionen wird der Objekt Name angezeigt und nicht die Objekt-ID. Ist also im Bereich des Möglichen.
-
Ja schon, Objekt Name versteh ich ja noch, aber im Beispiel von Michi68 steht ja der Wert des Objekts als Trigger (Alexa, ist das Licht am Balkon an) und nicht der ObjektID oder Objekt Name. (???)
-
@albert-k HAb ja nicht alles gelesen aber er scheint das Objekt zu setzen, wenn der Satz gesprochen wurde.
-
@albert-k
Extra Datenpunkt nur zur Abfrage
-
Boah Jetzt ist es klar. Echt grenzwertig LOL. Hast mich damit ganz schön an der Nase rum geführt
-
-
aber Du hast immer noch Trigger im Trigger. Nicht gut. In diesem Fall richtet es wohl nichts an, ist aber überflüssig
Sobald der geschachtelte Trigger einmal auslöst, triggert er immer, egal ob der übergeordnete Trigger auslöst oder nicht.
Der geschachtelte sollte ein blauer Logik/Falls Block sein. Falls Wert von Objekt Power (=wahr) -> setze Text, schreibe Objekt. (vor allem wenn Du mehrere Objekte einfügen willst)
-
@albert-k
Ich denke, Du meinst das so.
Funktioniert genauso gut! Ich bin im iobroker bzw. blockly leider noch nicht sehr firm.
Ich muss mir da erst einiges erarbeiten.
Manchmal ist es noch ein komplizierter Weg zum Ziel.... -
Ja, genau so. Deshalb Trigger in Trigger gar nicht erst angewöhnen, das kann ganz unvorhersehbare Auswirkungen haben (nicht in Deinem Beispiel aber allgemein)
Jeder fängt mal an, ich bin auch nur etwas länger in Blockly drin und immer noch Anfänger
-
@albert-k
ja das ein oder andere kann man schon mal falsch interpretieren und das dann zu Verwirrung führen
@harrymausi
schön das es geholfen hat und das Trigger in Trigger hast du auch behoben -
Moin,
genau soetwas habe ich gesucht, leider habe ich das Problem, das Alexa erstmal anfängt mir zu erzählen, das es einen Skill nicht finden kann, oder irgendwelche Erklärungen aus dem Internet erzählt oder oder oder ..... und erst dann kommt die eigentliche Sprachaussage, die ich eingegeben habe.
Kann man irgendwie unterbinden, dass wenn Alexa kein Kommando oder ähnliches verstanden hat, sie ruhig bleibt und dadurch dann nur meinen Text ausgibt ?in diesem Sinne ... bis denne