So hören Sie Ihre Google Voice-Voicemail auf Ihrem Google Home ab

Dies ist ein Tutorial, das Ihnen zeigt, wie Sie Ihr Google Home-Gerät mit Tasker, AutoWeb und AutoVoice Ihre neueste Voicemail von Google Voice vorlesen lassen.

Als Google Home zum ersten Mal veröffentlicht wurde, fehlten (und fehlen ihm immer noch) viele Funktionen. Sie haben immer noch keine Möglichkeit, Kalenderereignisse festzulegen, Ihre Textnachrichten zu lesen, eine Aufgabenliste zu erstellen und vieles mehr. Wenn Sie jedoch den Mut haben, können Sie dank der Leistungsfähigkeit von fast alle dieser Funktionen selbst implementieren AutoVoice Und Tasker. Um zu zeigen, wie kreativ Sie mit Google Home und AutoVoice sein können, zeige ich Ihnen, wie Sie Ihr Google Home einrichten Lesen Sie Ihre neueste Google Voice-Voicemail. Im Moment mag es wie schwarze Magie erscheinen, aber am Ende dieses Tutorials wird hoffentlich alles einen Sinn ergeben.

Mit AutoVoice können Sie gesprochene Befehle von Ihrem Google Home-Gerät an Ihr Telefon senden, das diese Befehle dann interpretiert und über Tasker eine Aktion ausführt. Das Beste daran ist, dass Sie dank der Leistungsfähigkeit von natürlichsprachliche Befehle an Ihr Telefon senden können

API.ai, vorausgesetzt, Sie melden sich für einen Abonnementdienst von AutoVoice für 0,99 $/Monat an, um die Kosten für das Hosting des API.ai-Servers auszugleichen. Das bedeutet, dass Sie beim Sprechen mit Ihrem Google Home nicht so roboterhaft/präzise sprechen müssen und AutoVoice den Befehl, den Sie senden möchten, weiterhin erkennt.

Die AutoVoice-Integration mit Google Home befindet sich seit einiger Zeit in der Betaphase, aber die Veröffentlichung von AutoVoice 3.0 ermöglicht allen Nutzern des Tasker-Plug-ins die Nutzung der Google Home-Integration. Nachdem AutoVoice nun allgemein für Benutzer verfügbar ist und die meisten Probleme behoben wurden, werde ich damit beginnen, einige der Dinge vorzustellen, die ich mit AutoVoice und Tasker gemacht habe. Mein erstes Google Home-Tutorial, das Lesen Ihrer neuesten Google Voice-Voicemail, ist für mich das komplexeste Teilen, aber es ist ein guter Kandidat, um zu zeigen, dass die Möglichkeiten, die Sie mit Tasker machen können, nur durch Sie selbst begrenzt sind Vorstellung.

Ich höre meine neueste Voicemail auf meinem Google Home.

Empfohlene Lektüre: Schauen Sie sich unsere an frühere Tutorials, wo wir Ihnen zeigen, wie Sie häufig auftretende Probleme lösen können, die nur wenige andere gelöst haben.


Anforderungen

AutoVoice ist eine zwingende Voraussetzung, damit dieses Projekt funktioniert. Sie können IFTTT verwenden, um die Aufgabe auszulösen, aber dazu müssen Sie einen Workaround mit einer anderen Anwendung wie z. B. verwenden Verbinden oder Pushbullet um Befehle an Tasker zu senden, da IFTTT nicht direkt in Tasker integriert ist. Darüber hinaus besteht die wichtigste Einschränkung bei der Nichtverwendung von AutoVoice darin, dass Sprachbefehle bei Verwendung von IFTTT unflexibel sind. Das bedeutet, dass Sie Ihren Befehl jedes Mal völlig genau aussprechen müssen, sonst wird der Befehl nicht ausgelöst. Das kann in Zukunft ein Problem sein, wenn Sie anfangen, Unmengen von Tasker-/Google Home-Integrationen zu erstellen (ich habe 28), was bedeutet, dass Sie sich jedes Mal genau die Befehle merken und reproduzieren müssen, die Sie möchten.

Du wirst brauchen:

  • AutoVoice ($2.49)
  • AutoVoice Natural Language-Abonnement (0,99 $/Monat)
  • Tasker ($2.99)
  • AutoWeb Beta
  • AutoCast-Beta ($0.99)

Vorbereitung

Bevor wir uns mit dem Kern dieser coolen Integration befassen, müssen wir einige Vorbereitungen treffen, damit sie ordnungsgemäß funktioniert. Ich werde dieses Setup in Teilen angehen.

Teil 1 – Einrichten von AutoVoice

Ich habe bereits ausführlich darüber geschrieben, wie man AutoVoice mit Google Home einrichtet, also bitte siehe meinen vorherigen Artikel hier. Die einzige wirklich zu beachtende Änderung besteht darin, dass Sie die Betaversion von AutoVoice nicht mehr benötigen, da die Integration jetzt mit dem stabilen AutoVoice-Update funktioniert. Ich empfehle Ihnen außerdem, das kurze Tutorial zum Reagieren eines Tasker-Profils auf den AutoVoice-Befehl durchzulesen, da wir hier dasselbe tun werden. Das Wesentliche dabei ist, dass Sie in diesem Einrichtungsprozess hauptsächlich vier Dinge tun werden:

  1. Aktivieren Sie den AutoVoice-Dienst in der Google Home-App.
  2. Richten Sie ein API.ai-Konto ein und erhalten Sie Ihre API-Schlüssel
  3. Fügen Sie diese API-Schlüssel zur Einstellung „Natürliche Sprache“ in AutoVoice hinzu
  4. Abonnieren Sie den Abonnementdienst AutoVoice Natural Language

Auch diese Schritte werden in meinem vorherigen Artikel ausführlicher beschrieben, daher empfehle ich Ihnen, ihn durchzulesen.

Teil 2 – Einrichten von Google Voice

Wir benötigen eine Möglichkeit, auf Ihre Google Voice-Voicemails zuzugreifen, damit Tasker den Voicemail-Inhalt extrahieren kann. Dies erreichen wir, indem wir alle unsere Voicemails an Ihr verknüpftes Gmail-Konto weiterleiten. Dies ist eine native Funktion von Google Voice und Sie müssen lediglich eine einzige Schaltfläche in der Google Voice-App betätigen.

Sobald Sie dies getan haben, erhalten Sie alle neuen Voicemails per E-Mail. Wie Sie sehen, enthält die E-Mail sowohl eine Transkription der Voicemail als auch einen Link zum eigentlichen Audio der Voicemail. Wir werden diese E-Mail für unsere Zwecke verwenden.

Teil 3 – Einrichten von AutoWeb

Um den Inhalt dieser E-Mail zu extrahieren, müssen wir mithilfe von auf den E-Mail-Inhalt zugreifen Gmail-API. Wir werden dies mit der AutoWeb-Anwendung tun, die am Anfang verlinkt wurde. Öffnen Sie AutoWeb und tippen Sie auf „Webdienste durchsuchen“. Scrollen Sie nach unten zur Gmail-API und tippen Sie zum Importieren darauf. Nach dem Import werden Sie von AutoWeb aufgefordert, das Gmail-Konto, das Sie verwenden möchten, mit der API zu authentifizieren. Wähle aus dasselbe Gmail-Konto, an das Voicemails weitergeleitet werden.

Jetzt haben Sie Ihr Telefon mithilfe der Gmail-API mit Ihrem Gmail-Konto verknüpft!

Teil 4 – Einrichten von AutoCast

Bevor wir das Voicemail-Audio an unser Google Home senden können, müssen wir AutoCast einrichten, damit es eine Verbindung zum Google Home herstellen kann. Öffnen Sie AutoCast und wählen Sie „Cast-Geräte verwalten“. Klicken Sie auf „+"-Symbol in der oberen Leiste und wählen Sie Ihr Google Home-Gerät aus.

Endlich sind wir bereit, diese Einrichtung tatsächlich in Angriff zu nehmen.


Lesen Sie Ihre neueste Google Voice-Voicemail auf Google Home

AutoVoice

Als Erstes müssen wir einen AutoVoice Natural Language-Befehl erstellen. Dies ist ziemlich einfach zu bewerkstelligen.

  1. Öffnen Sie AutoVoice
  2. Tippen Sie auf Natürliche Sprache
  3. Tippen Sie auf Befehle
  4. Tippen Sie auf + Symbol, um einen neuen Befehl hinzuzufügen
  5. Geben Sie eine durch Kommas getrennte Liste von Sprachbefehlen ein, die so viele Variationen des Sprachbefehls enthält, dass Sie Ihrer Meinung nach sprechen können, um diesen Befehl auszulösen.
  6. Für die Antworten können Sie so viele oder keine Antworten eingeben, wie Google Home Ihnen vorlesen soll, wenn Sie diesen Befehl sprechen.
  7. Wenn Sie fertig sind, geben Sie diesem Befehl einen Namen. Hier wird alles funktionieren.

Auch wenn Sie eine Reihe unterschiedlicher Befehle und Antworten eingeben, müssen Sie sich keine Gedanken darüber machen, diese Befehle genau so auszusprechen, wie sie geschrieben wurden. API.ai analysiert automatisch alles, was Sie sprechen, und ordnet mithilfe seiner natürlichen Sprachalgorithmen Ihren gesprochenen Befehl einem der hier aufgeführten Befehle zu.

Wenn Sie alternativ nur mein eigenes Setup herunterladen möchten, können Sie dies über den folgenden Link tun. Ich glaube, dass Sie sich zum Import vorerst bei API.ai anmelden und es dort importieren müssen.

Laden Sie den AutoVoice Natural Language Intent herunter

Um ehrlich zu sein, ist der eigentliche AutoVoice-Teil dieses Setups ziemlich einfach, da wir uns im gesprochenen Befehl nicht mit Variablen/Parametern oder Kontexten befassen. Der eigentlich komplizierte Teil kommt aus dem nächsten Teil, in dem wir Tasker auf diesen AutoVoice Natural Language-Befehl reagieren lassen.

Tasker

Hier ist eine Schritt-für-Schritt-Anleitung, wie wir dieses Profil erstellen.

  1. Öffnen Sie Tasker und drücken Sie die Taste + Symbol, um ein neues Profil zu erstellen.
  2. Gehen Sie zu Ereignis -> Plugin -> AutoVoice -> Natürliche Sprache.
  3. Tippen Sie auf das Stiftsymbol, um den Konfigurationsbildschirm von AutoVoice zu öffnen.
  4. Klicken Sie auf „Befehle“ und wählen Sie den Namen des Befehls aus, den Sie zuvor erstellt haben.
  5. Drücken Sie oben auf das Häkchensymbol und dann auf die Zurück-Taste, um zum Hauptbildschirm von Tasker zurückzukehren.
  6. Tasker fordert Sie auf, eine neue Aufgabe zu erstellen. Sie können ihr bei Bedarf einen Namen geben, aber klicken Sie trotzdem auf das Häkchensymbol, um eine neue Aufgabe zu erstellen.

Sobald Sie sich im Aufgabenbearbeitungsbildschirm befinden, erstellen wir die unten gezeigte Aufgabe. Um neue Aktionen zu erstellen, tippen Sie auf + Symbol unten in der Mitte. Für alle Tasker-Profis hier können Sie den Schalter unten erweitern, um das Profil und die Aufgabenbeschreibung anzuzeigen, der Sie selbst folgen können.

Startseite – Voicemail lesen

 Profile: Home - Read Voicemail (165)
Event: AutoVoiceNaturalLanguage[ Configuration: Commands: read my last voicemail ]
Enter: Read Voicemail (164)
A1: AutoCastSpeak[ Configuration: Device: Bedroom Home Timeout (Seconds):60 ]
A2: AutoWeb Web Service [ Configuration: API: Gmail
API Action: List messages
Include spam trash: false
User ID: me
Search: from:voice-noreply@google.com
MaxResults: 5 Timeout (Seconds):120 ]
A3: Wait[ MS: 0 Seconds: 1 Minutes: 0 Hours: 0 Days: 0 ]
A4: AutoWeb Web Service [ Configuration: API: Gmail
API Action: Get Message
Format: full
UserID: meTimeout (Seconds):120 ]
A5: For [ Variable:%headers Items:1:%payload_headers_name(#) ]
A6: Variable Set [ Name:%referenceTo:%headers Recurse Variables:OffDo Maths:Off Append:Off ] If [ %payload_headers_name(%headers) ~ Subject ]
A7: EndFor
A8: Java Function [ Return: decodedbody Class Or Object:Base64 Function:decode
{byte[]} (String, int) Param:%bodydata(1) Param:8 Param: Param: Param: Param: Param: ]
A9: Java Function [ Return:%body Class Or Object:StringFunction:new
{String} (byte[], String) Param: decodedbody Param: UTF-8 Param: Param: Param: Param: Param: ]
A10: Variable Split [ Name:%body Splitter: https://www.google.com/voice/fm/ Delete Base:Off ]
A11: VariableSplit[ Name:%body2 Splitter:> Delete Base: Off ]
A12: HTTP Get [ Server: Port: https://www.google.com Path:/voice/fm/%body21 Attributes: Cookies: User Agent: Timeout: 10 Mime Type: audio/* Output File:/sdcard/Tasker/voicemail.mp3 Trust Any Certificate: Off ]
A13: Variable Set [ Name:%voicemail To:%payload_headers_value(%reference) Recurse Variables:OffDo Maths:Off Append:Off ]
A14: Variable Split [ Name:%voicemail Splitter: from Delete Base:Off ]
A15: Variable Split [ Name:%voicemail2 Splitter: at Delete Base:Off ]
A16: Test Phone [ Type: Contact Name Data:%voicemail21 Store Result In:%name Continue Task After Error:On ]
A17: Variable Set [ Name:%voicemail To:%voicemail1 from %nameat %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %nameSet ]
A18: Variable Set [ Name:%voicemail To:%voicemail1 from %voicemail21 at %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %name !Set ]
A19: AutoCast Speak [ Configuration: Device: Bedroom Home
Text: %voicemailTimeout (Seconds):60 ]
A20: Wait[ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]
A21: AutoCast [ Configuration:
Starting Casting Screen
Persistent Notification: true
Cast Device: Bedroom Home
Screen: Full Screen Media
Audio: /storage/emulated/0/Tasker/voicemail.mp3
Audio Volume: 100
Audio Position: 0
Audio AutoPlay: true Timeout (Seconds):3000 ]

mehr lesen

Die folgende Schritt-für-Schritt-Anleitung zeigt Ihnen, wie Sie die im Screenshot rechts gezeigte Aufgabe replizieren. Die Aufgabe ist der Kern dieses Aufbaus und sie ist ziemlich komplex. Die Funktionsweise besteht darin, dass nach der Aktivierung des Profils die ersten paar Aktionen (A2–A4) durchsucht und von Ihrem Profil abgerufen werden Gmail-Konto für Nachrichten von [email protected], dem automatisierten E-Mail-Dienst von Google Stimme. Anschließend suchen wir nach der Betreffzeile (A5-A7), um Informationen darüber zu erhalten, wer wann die Voicemail gesendet hat. Als nächstes extrahieren wir den Nachrichtentext der Gmail-Nachricht, der in Base 64 codiert ist, sodass wir eine Java-Funktion (A8-A9) verwenden müssen. Nachdem wir die entschlüsselte Nachricht abgerufen haben, suchen wir nach der URL, die uns zur Voicemail-Audiodatei (A10-A11) führt, und laden die Datei schließlich als MP3 herunter (A12). A13-A18 sucht einfach nach den Kontaktinformationen (falls vorhanden) für die Nummer, die die Voicemail hinterlassen hat. Abschließend liest A19-A21 vor, von wem die Voicemail zu welchem ​​Zeitpunkt gesendet wurde, sowie das aufgezeichnete Voicemail-Audio.

  1. Plugin -> AutoCast -> AutoCast Speak. Gerät: Wählen Sie Ihr Google Home aus. (Hier ist kein Text erforderlich, dies dient lediglich der Verbindung mit Google Home.)
  2. Plugin -> AutoWeb. API: Gmail. API-Aktion: Nachrichten auflisten. Benutzer-ID: ich. Suchen: von: [email protected]. Maximale Ergebnisse: 5. Ausgabe: Ausweis.
  3. Aufgabe -> Warten. Warten Sie 1 Sekunde.
  4. Plugin -> AutoWeb. API: Gmail. API-Aktion: Nachricht abrufen. Format: vollständig. Benutzer-ID: ich. Nachrichten ID: %aid (1). Ausgabe: Körperdaten, Name der Nutzlast-Header, Und Wert der Nutzlast-Header.
  5. Aufgabe -> Für. Variable: %header. Artikel: 1:%payload_headers_name(#)
  6. Variablen -> Variablensatz. Name: %Referenz. Zu: %header. Prüfen Sie „If“ und stellen Sie es auf „If“ ein %payload_headers_name(%headers) ~ Betreff.
  7. Aufgabe -> Ende für.
  8. Code -> Java-Funktion. Wählen Sie für die Klasse/das Objekt aus Base64. Funktion: dekodiere {byte[]} (String, int). Parameter (Zeichenfolge): %bodydata (1). Parameter (int): 8. Zurückkehren: entschlüsselter Körper.
  9. Code -> Java-Funktion. Wählen Sie für die Klasse/das Objekt aus Zeichenfolge. Funktion: neuer {String} (Byte[], String). Parameter (Byte[]): entschlüsselter Körper. Parameter (Zeichenfolge): UTF-8. Zurückkehren: %Körper.
  10. Variablen -> Variablenaufteilung. Name: %Körper. Splitter: https://www.google.com/voice/fm/
  11. Variablen -> Variablenaufteilung. Name: %body2. Splitter: >
  12. Net -> HTTP Get. Server Port: https://www.google.com Weg: /voice/fm/%body21 Mime Typ: Audio/* Ausgabedatei: /sdcard/Tasker/voicemail.mp3
  13. Variablen -> Variablensatz. Name: %Voicemail. Zu: %payload_headers_value(%reference)
  14. Variablen -> Variablenaufteilung. Name: %Voicemail. Splitter: aus
  15. Variablen -> Variablenaufteilung. Name: %voicemail2. Splitter: bei
  16. Telefon -> Telefon testen. Typ: Kontaktname. Daten: %voicemail21. Ergebnis speichern in: %Name. Stellen Sie sicher, dass Sie dies überprüfen Aufgabe nach Fehler fortsetzen.
  17. Variablen -> Variablensatz. Name: %Voicemail. Zu: %voicemail1 von %name bei %voicemail22. Überprüfen Sie unten, ob und stellen Sie es auf Wenn ein %name ist festgelegt.
  18. Variablen -> Variablensatz. Name: %Voicemail. Zu: %voicemail1 von %voicemail21 bei %voicemail22. Überprüfen Sie unten, ob und stellen Sie es auf Wenn ein %name ist nicht festgelegt.
  19. Plugin -> AutoCast -> Sprechen. Gerät: Wählen Sie Ihr Google Home aus. Text: %Voicemail
  20. Aufgabe -> Warten. Warten 5 Sekunden. Das ist ein konfigurierbare Verzögerung um sicherzustellen, dass zwischen der Ankündigung der neuen Voicemail und der Wiedergabe des Voicemail-Audios immer genügend Zeit bleibt. Sollte dies zu kurz sein, können Sie diese Zeit verlängern. Spielen Sie jedoch mit diesem Wert herum, um zu sehen, was die Verzögerung auf ein akzeptables Maß reduziert.
  21. Plugin -> AutoCast -> AutoCast. Cast-Gerät: Wählen Sie Ihr Google Home erneut aus. Wählen Vollbildmedien als Bildschirm. Gehen Sie zu „Vollbild-Medienelemente“, dann zu „Audio“ und geben Sie dort „Audio“ („Song to Play“) ein /sdcard/Tasker/voicemail.mp3. Wählen Automatisches Abspielen.

Das ist es! Jetzt müssen Sie nur noch den Befehl an Ihr Google Home-Gerät senden, um diese Aufgabe auszulösen. Sie können dies tun, indem Sie sagen:Hey/OK Google, lass mich mit AutoVoice sprechen" und dann eine der Variationen Ihres Befehls sprechen, wenn AutoVoice Sie auffordert, Ihren Befehl zu sagen. Oder Sie können Ihren Befehl auf einmal aussprechen, indem Sie sagen:Hey/OK Google, bitte AutoVoice um [Befehl]„genau wie ich es in dem eingangs gezeigten Video getan habe.


Profil herunterladen

Sie können das von mir erstellte Tasker-Profil/die Tasker-Aufgabe unter dem folgenden Link herunterladen. Wenn Sie sich dafür entscheiden, stellen Sie sicher, dass Sie die beiden „AutoCast“-Aktionen so ändern, dass sie auf Ihr bestimmtes Google Home-Gerät verweisen. Stellen Sie außerdem sicher, dass der in meinem Profil genannte AutoVoice Natural Language-Befehl mit dem von Ihnen erstellten identisch ist. Wenn nicht, ändern Sie einfach das Profil so, dass es auf Ihren Befehl verweist. Sollte nur ein paar Sekunden dauern.

Laden Sie das Tasker-Profil „Home – Voicemail lesen“ herunter

Nachdem Sie die obige XML-Datei heruntergeladen haben, speichern Sie sie an einem beliebigen Ort auf Ihrem Gerät. Öffnen Sie Tasker und deaktivieren Sie den Anfängermodus in den Einstellungen. Gehen Sie dann zurück zum Hauptbildschirm und drücken Sie lange auf die Registerkarte „Profile“, bis Sie ein Popup-Fenster mit der Option „Importieren“ sehen. Drücken Sie darauf, navigieren Sie zum Speicherort der .prf.xml-Datei und wählen Sie sie aus, um sie zu importieren.

Ich hoffe, dass Sie dieses Tutorial nützlich fanden. Es hat mir Spaß gemacht, an der API und dem Tasker herumzubasteln, bis ich die Dinge zum Laufen bringen konnte. Ich weiß, dass es nicht besonders elegant ist, aber es ist vor allem ein Beweis dafür, wie leistungsstark Sie Ihr Google Home in verschiedene Webdienste und Ihr Telefon integrieren können. Hoffentlich inspiriert Sie das dazu, etwas zu schaffen, von dem Sie vorher nicht gedacht hätten, dass es möglich sei!