google.assistant.library-Paket.
-
class
google.assistant.library.
Assistant
(credentials, device_model_id)¶ Client für die Google Assistant-Bibliothek.
Bietet grundlegende Steuerfunktionen und Lebenszyklusverwaltung für Google Assistant. Es empfiehlt sich, Assistant als
ContextManager
zu verwenden:with Assistant(credentials, device_model_id) as assistant:
So kann die zugrunde liegende native Implementierung die Speicherverwaltung ordnungsgemäß verarbeiten.
Nach dem Aufruf von
start()
generiert Assistant einen Ereignisstream, der die verschiedenen Status von Assistant anzeigt, z. B.:ON_CONVERSATION_TURN_STARTED ON_END_OF_UTTERANCE ON_RECOGNIZING_SPEECH_FINISHED: {'text': 'what time is it'} ON_RESPONDING_STARTED: {'is_error_response': False} ON_RESPONDING_FINISHED ON_CONVERSATION_TURN_FINISHED: {'with_follow_on_turn': False}
Unter
EventType
finden Sie Details zu allen Ereignissen und ihren Argumenten.Glossar:
Hotword: Der Begriff, auf den Assistant wartet, wenn er nicht stummgeschaltet ist:
"OK Google" OR "Hey Google"
Unterhaltungsrunde: Eine einzelne Nutzeranfrage, gefolgt von einer Antwort von Assistant.
Unterhaltung: Ein oder mehrere Gesprächsschritte, die zu einem gewünschten Endergebnis von Assistant führen:
"What time is it?" -> "The time is 6:24 PM" OR "Set a timer" -> "Okay, for how long?" -> "5 minutes" -> "Sure, 5 minutes, starting now!"
Parameter: - credentials (google.oauth2.credentials.Credentials): Die Google OAuth2-Anmeldedaten des Nutzers.
- device_model_id (str): Die device_model_id, die für Ihr Projekt bei Google registriert wurde. Dieser String darf nicht leer sein.
Ausgabe: ValueError
– Wenndevice_model_id
als „None“ oder leer angegeben wurde.-
device_id
¶ Die vom Assistant generierte Geräte-ID.
Anhand dieses Werts wird Ihr Gerät beim Verwenden von Diensten wie Google-Geräteaktionen identifiziert. Diese Property wird erst nach dem Aufruf von
start()
ausgefüllt.Liefert: Die Geräte-ID, nachdem start()
aufgerufen wurde, andernfalls ein leerer String.Rückgabetyp: str
-
send_text_query
(query)¶ Sendet |query| an Assistant, als würde es vom Nutzer gesprochen.
Das entspricht dem Verhalten, wenn ein Nutzer das Hotword spricht und eine Suchanfrage stellt ODER die Antwort auf eine Folgeabfrage spricht.
Parameter: query (str): Die Textabfrage, die an Assistant gesendet werden soll.
-
set_mic_mute
(is_muted)¶ Assistant hört nicht mehr auf das Hotword.
Hiermit lässt sich verhindern, dass Assistant auf das Hotword achtet. Die Funktion ähnelt der Schaltfläche „Datenschutz“ auf der Rückseite von Google Home.
Diese Methode ist nicht ausführbar, wenn Assistant noch nicht gestartet wurde.
Parameter: is_muted (bool): Wenn „true“ festgelegt ist, hört Assistant nicht mehr zu. Bei „false“ wird die Funktion wieder gestartet.
-
start
()¶ Startet Assistant und überwacht dabei das Hotword.
Sobald
start()
aufgerufen wird, beginnt Assistant mit der Verarbeitung von Daten aus der standardmäßigen ALSA-Audioquelle und achtet auf das Hotword. Dadurch werden auch andere von Assistant bereitgestellte Dienste gestartet, z. B. Timer/Wecker. Diese Methode kann nur einmal aufgerufen werden. Nach dem Aufruf wird Assistant weiter ausgeführt, bis__exit__
aufgerufen wird.Liefert: Eine Warteschlange mit Ereignissen, die über Änderungen am Assistant-Status informieren. Rückgabetyp: google.assistant.event.IterableEventQueue
-
start_conversation
()¶ Startet manuell eine neue Unterhaltung mit Assistant.
Die Sprache des Nutzers wird aufgezeichnet und an Google gesendet, ähnlich wie wenn Assistant das Hotword hört.
Diese Methode hat keine Auswirkungen, wenn Assistant nicht gestartet oder stummgeschaltet wurde.
-
stop_conversation
()¶ Beendet eine aktive Unterhaltung mit Assistant.
Assistant könnte die Anfrage des Nutzers hören ODER antworten. Wenn keine aktive Unterhaltung vorhanden ist, wird keine Aktion ausgeführt.
-
class
google.assistant.library.event.
AlertEvent
(event_type, args, **_)¶ Das Ereignis wird erweitert, um das Parsen von „alert_type“ hinzuzufügen.
-
class
google.assistant.library.event.
AlertType
¶ Benachrichtigungstypen
Wird mit den Ereignissen
ON_ALERT_STARTED
undON_ALERT_FINISHED
verwendet.-
ALARM
= 0¶ Ein Ereignis, das auf eine absolute Uhrzeit festgelegt ist, z. B. „Montag, 3 Uhr morgens“
-
TIMER
= 1¶ Ein Ereignis, das auf eine relative Zeit festgelegt ist, z. B. „In 30 Sekunden“
-
-
class
google.assistant.library.event.
DeviceActionEvent
(event_type, args, **kwargs)¶ Das Ereignis wird um das Attribut „actions“ erweitert.
-
actions
¶ Ein Generator von Befehlen, die für das aktuelle Gerät ausgeführt werden sollen.
-
-
class
google.assistant.library.event.
Event
(event_type, args, **_)¶ Ein von Assistant generiertes Ereignis.
-
type
¶ EventType: Der Typ des generierten Ereignisses.
-
args
¶ dict: Argumentschlüssel/Wert-Paare, die mit diesem Ereignis verknüpft sind.
-
static
New
(event_type, args, **kwargs)¶ Erstellen Sie bei Bedarf ein neues Ereignis mit einer speziellen Ereignisklasse.
Parameter: - event_type (int): Eine numerische ID, die einem Ereignis in google.assistant.event.EventType entspricht.
- args (dict): Argumentschlüssel/Wert-Paare, die mit diesem Ereignis verknüpft sind.
- kwargs (dict): Optionale Schlüssel/Wert-Paare für Argumente, die für eine Spezialisierung der Event-Klasse für einen EventType spezifisch sind.
-
-
class
google.assistant.library.event.
EventType
¶ Ereignistypen
-
ON_ALERT_FINISHED
= 11¶ Gibt an, dass der Alarm für
alert_type
beendet ist.Parameter: alert_type (AlertType): Die ID des Enumerationstyps, der den Typ der gerade beendeten Benachrichtigung angibt.
-
ON_ALERT_STARTED
= 10¶ Gibt an, dass ein Alarm ertönt.
Diese Benachrichtigung wird fortgesetzt, bis
ON_ALERT_FINISHED
mit derselbenalert_type
empfangen wird. Es sollte immer nur eine Benachrichtigung aktiv sein.Parameter: alert_type (AlertType): Die ID des Enumerationstyps, der den aktuell ertönenden Benachrichtigungstyp darstellt.
-
ON_ASSISTANT_ERROR
= 12¶ Gibt an, ob in der Assistant-Bibliothek ein Fehler aufgetreten ist.
Parameter: is_fatal (bool): Wenn „True“ ist, kann Assistant nicht wiederhergestellt werden und muss neu gestartet werden.
-
ON_CONVERSATION_TURN_FINISHED
= 9¶ Assistant hat die aktuelle Kurve beendet.
Dazu gehört sowohl die Verarbeitung der Suchanfrage eines Nutzers als auch das Aussprechen der vollständigen Antwort, falls vorhanden.
Parameter: with_follow_on_turn (bool): Wenn „Wahr“ ist, erwartet Assistant eine weitere Interaktion des Nutzers. Das Mikrofon wird wieder geöffnet, damit der Nutzer eine Folgefrage beantworten kann.
-
ON_CONVERSATION_TURN_STARTED
= 1¶ Gibt an, dass eine neue Abbiegung begonnen hat.
Assistant hört derzeit zu und wartet auf eine Nutzeranfrage. Das kann daran liegen, dass das Hotword erkannt wurde oder
start_conversation()
in Assistant aufgerufen wurde.
-
ON_CONVERSATION_TURN_TIMEOUT
= 2¶ Die Zeitüberschreitung beim Warten auf eine verständliche Anfrage ist abgelaufen.
Das kann daran liegen, dass das Hotword falsch ausgelöst wurde oder Assistant das, was der Nutzer gesagt hat, nicht verstanden hat.
-
ON_DEVICE_ACTION
= 14¶ Gibt an, dass eine Geräteaktion an das Gerät gesendet wurde.
Dieser wird gesendet, wenn eine Gerätegrammatik für die vom Gerät unterstützten Traits ausgelöst wird. Dieser Ereignistyp hat eine spezielle Property „actions“, die einen Iterator oder Geräteaktionsbefehl und gegebenenfalls die zugehörigen Parameter zurückgibt.
Parameter: dict: Die decodierte JSON-Nutzlast einer Geräteaktionsanfrage.
-
ON_END_OF_UTTERANCE
= 3¶ Assistant hört nicht mehr auf die Nutzeranfrage.
Assistant hat möglicherweise noch nicht herausgefunden, was der Nutzer gesagt hat, hört aber nicht mehr nach weiteren Audiodaten.
-
ON_MEDIA_STATE_ERROR
= 20¶ Gibt an, dass beim Abspielen eines Titels ein Fehler aufgetreten ist.
Der integrierte Mediaplayer versucht, zum nächsten Titel zu springen oder zu
ON_MEDIA_STATE_IDLE
zurückzukehren, wenn nichts mehr abgespielt werden kann.
-
ON_MEDIA_STATE_IDLE
= 16¶ Gibt an, dass gerade nichts wiedergegeben wird und auch nichts in der Wiedergabeliste steht.
Dieses Ereignis wird vom integrierten Mediaplayer der Google Assistant-Bibliothek für Nachrichten/Podcasts beim Start und immer dann gesendet, wenn der Player inaktiv ist, weil ein Nutzer die Medien angehalten oder pausiert hat und der Stream abgelaufen ist.
-
ON_MEDIA_TRACK_LOAD
= 17¶ Gibt an, dass ein Titel geladen wird, aber noch nicht wiedergegeben wird.
Dies kann mehrmals geschehen, wenn neue Metadaten asynchron geladen werden. Darauf folgt in der Regel das Ereignis
ON_MEDIA_TRACK_PLAY
.Parameter: - metadata (dict):
Metadaten für den geladenen Titel. Bis dahin sind nicht alle Felder ausgefüllt. Wenn ein Feld unbekannt ist, wird es nicht berücksichtigt. Zu den Metadatenfeldern gehören:
album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. artist(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels. - track_type (MediaTrackType): Der Typ des geladenen Tracks.
- metadata (dict):
-
ON_MEDIA_TRACK_PLAY
= 18¶ Gibt an, dass ein Titel gerade Audio ausgibt.
Dies wird nur ausgelöst, wenn ein Statuswechsel stattfindet, z. B. von
ON_MEDIA_TRACK_LOAD
oderON_MEDIA_TRACK_STOP
.Parameter: - metadata (dict):
Metadaten für den wiedergegebenen Titel. Wenn ein Feld unbekannt ist, wird es nicht berücksichtigt. Zu den Metadatenfeldern gehören:
album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. artist(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels. - position_ms (double): Die aktuelle Position in einem wiedergegebenen Titel in Millisekunden seit Beginn. Wenn „metadata.duration_ms“ unbekannt ist (auf „0“ festgelegt), wird dieses Feld nicht festgelegt.
- track_type (MediaTrackType): Der Typ des wiedergegebenen Titels.
- metadata (dict):
-
ON_MEDIA_TRACK_STOP
= 19¶ Gibt an, dass ein zuvor abgespielter Titel angehalten wurde.
Das ist in der Regel auf eine Pause des Nutzers zurückzuführen. Der Titel kann zu
ON_MEDIA_TRACK_PLAY
zurückkehren, wenn er vom Nutzer fortgesetzt wird.Parameter: - metadata (dict):
Metadaten für den angehaltenen Titel. Wenn ein Feld unbekannt ist, wird es nicht berücksichtigt. Zu den Metadatenfeldern gehören:
album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. artist(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels. - position_ms (double): Die aktuelle Position in einem angehaltenen Titel in Millisekunden seit Beginn. Wenn „metadata.duration_ms“ unbekannt ist (auf „0“ festgelegt), wird dieses Feld nicht festgelegt.
- track_type (MediaTrackType): Der Typ des angehaltenen Tracks.
- metadata (dict):
-
ON_MUTED_CHANGED
= 13¶ Gibt an, ob Assistant gerade zuhört oder nicht.
start()
generiert immer einenON_MUTED_CHANGED
, um den Anfangswert zu melden.Parameter: is_muted (bool): Wenn „True“ ist, hört Assistant derzeit nicht auf sein Hotword und reagiert nicht auf Nutzeranfragen.
-
ON_NO_RESPONSE
= 8¶ Assistant hat seinen Beitrag erfolgreich abgeschlossen, hat aber nichts zu sagen.
-
ON_RECOGNIZING_SPEECH_FINISHED
= 5¶ Assistant hat die endgültig erkannte Sprache ermittelt.
Parameter: text (str): Die endgültige Textinterpretation der Suchanfrage eines Nutzers.
-
ON_RENDER_RESPONSE
= 15¶ Gibt an, dass Assistant Text für eine Antwort rendern muss.
Parameter: - type (RenderResponseType): Der Typ der Antwort, die gerendert werden soll.
- text (str): Der String, der für „RenderResponseType.TEXT“ gerendert werden soll.
-
ON_RESPONDING_FINISHED
= 7¶ Assistant antwortet nicht mehr per Sprachbefehl.
-
ON_RESPONDING_STARTED
= 6¶ Assistant antwortet jetzt per Sprachbefehl.
Assistant antwortet, bis
ON_RESPONDING_FINISHED
empfangen wird.Parameter: is_error_response (bool): „True“ bedeutet, dass eine lokale TTS-Fehlermeldung wiedergegeben wird. Andernfalls antwortet Assistant mit einer Serverantwort.
-
ON_START_FINISHED
= 0¶ Die Assistant-Bibliothek wurde gestartet.
-
-
class
google.assistant.library.event.
IterableEventQueue
(timeout=3600)¶ Erweitert „queue.Queue“, um eine
__iter__
-Schnittstelle hinzuzufügen.
-
class
google.assistant.library.event.
MediaStateChangeEvent
(event_type, args, **_)¶ Erweitert das Ereignis um die Analyse von „status“.
-
class
google.assistant.library.event.
MediaTrackType
¶ Arten von Tracks für ON_MEDIA_TRACK_X-Ereignisse.
Wird mit
ON_MEDIA_TRACK_LOAD
,ON_MEDIA_TRACK_PLAY
undON_MEDIA_TRACK_STOP
verwendet-
CONTENT
= 2¶ Der Inhalt eines Artikels (Nachrichten/Podcast).
-
TTS
= 1¶ Eine TTS-Einführung oder ein Interstitial-Track, der sich auf ein Element bezieht.
-
-
class
google.assistant.library.event.
RenderResponseEvent
(event_type, args, **_)¶ Das Ereignis wird erweitert, um das Parsen von „response_type“ hinzuzufügen.
-
class
google.assistant.library.event.
RenderResponseType
¶ Zu rendernde Inhaltstypen.
Wird mit
ON_RENDER_RESPONSE
verwendet