Automatische Wiederholung der Spracheingabe

Aus FHEMWiki

Beim Absenden von Sprachdaten an Google kann es bei Android-Geräten dazu kommen, dass Google keine Erkennung durchführen kann. Das geschieht auch, wenn keine Audiodaten erhalten wurden (beispielsweise, wenn der Benutzer erst nachdenken muss, was er sagen will). In diesem Falle erscheint ein störendes Popup-Fenster, dass normalerweise durch drücken des Buttons Wiederholung geschlossen werden muss. Mit Hilfe eines kleinen AutoMagic-Scripts kann dies automatisiert werden.

Als Trigger dieses Flows wird ein beliebiger Befehl angesehen, der von FHEM an das Gerät geschickt wird. Das ist nötig, damit dieser Flow immer aktiv bleibt (Trigger Typ: HTTP Request) Als HTTP Request wird eingetragen:

/fhem-amad/setCommands/*

Die erste Aktion holt den Text aus dem aktiven Fenster (Action Typ: Steuere UI). Als Script wird eingetragen:

text=getTextInActiveWindow()

Eine Bedingung prüft anschließend, ob die Variable text den String Bitte sag es enthält (Condition Typ: Expression) Als Expression wird eingetragen

 contains(text,"Bitte sag es")

Die Verzweigung Ja (erfüllte Bedingung) sorgt für die Ausführung einer weiteren Aktion (Action Typ: Steuere UI). Als Script wird eingetragen:

click("Wiederholen")

Die Verzweigung Nein überspringt diese Klick-Aktion, die beiden Zweige werden also danach wieder zusammengeführt und eine letzte Aktion innerhalb der Schleife ausgeführt (Aktion Typ: Steuere UI). Als Script wird eingetragen:

sleep(2000)

Danach wird im Flow wieder die erste Aktion angesprungen. Im Endeffekt prüft also AutoMagic alle 2 Sekunden auf das Vorhandensein des unerwünschten Popup-Fensters und klickt es ggf. weg.