Willkommen beim Google Home Developer Center, der neuen Anlaufstelle für Smart-Home-Aktionen. Hinweis:Sie erstellen weiterhin Aktionen in der Actions Console.

App testen und Fehler beheben

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Wir empfehlen, Ihre lokale App für die Auftragsausführung mit den zuvor beschriebenen Schritten zu erstellen und dann Ihre Smart-Home-Integration in Ihrer eigenen Hosting-Umgebung mit den folgenden Schritten zu testen:

  1. Stellen Sie in Ihrer eigenen Hostingumgebung die HTML-Seite bereit, auf der Ihre Anwendung für die lokale Auftragsausführung ausgeführt wird. Das folgende Snippet zeigt ein Beispiel für eine statische HTML-Datei, die Ihre Anwendung für die lokale Auftragsausführung ausführt.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
    
    
  2. Gerätesteuerung testen

  3. Chrome-Fehler beheben Verwenden Sie Haltepunkte und Logs, um Fehler bei der Integration zu beheben.

  4. Ändern und kompilieren Sie Ihren TypeScript-Code und wiederholen Sie diese Schritte.

Wenn Sie diesen Build- und Testvorgang wiederholen, können Sie Ihre Änderungen schnell und einfach erkennen und Probleme mit Ihrem Code leichter erkennen und beheben.

Gerätesteuerung testen

In der Action Console müssen Sie die URL Ihrer Webanwendung angeben, über die der HTML-Code bereitgestellt wird, der bei der lokalen Auftragsausführung auf Google Home oder Google Nest geladen wird.

So testen Sie die Gerätesteuerung mit der lokalen Auftragsausführung:

Chrome

  1. Öffnen Sie Ihr Smart-Home-Projekt in der Actions Console.
  2. Klicken Sie im linken Navigationsbereich auf Aktionen.
  3. Geben Sie unter Local Home SDK konfigurieren (optional) > Geben Sie Ihre Test-URL für Chrome ein die Mailserver-URL an, über die der HTML-Code Ihrer lokalen Auftragsausführungs-App bereitgestellt wird.
  4. Klicken Sie auf Speichern. Es kann bis zu 30 Minuten dauern, bis Google Ihre Konsolenänderungen übernommen hat.
  5. Starten Sie den Test Ihres Google Home- oder Google Nest-Geräts neu.
  6. Senden Sie einen Befehl an Ihr Smart-Home-Gerät. Wenn dein Gerät beispielsweise die Eigenschaft OnOff implementiert, kannst du sagen "Hey Google, schalte das Licht ein".

Node.js

  1. Öffnen Sie Ihr Smart-Home-Projekt in der Actions Console.
  2. Klicken Sie im linken Navigationsbereich auf Aktionen.
  3. Geben Sie unter Local Home SDK konfigurieren (optional) > Test-URL für Knoten eingeben die Nameserver-URL an, über die der JavaScript-Code Ihrer lokalen Auftragsausführungs-App bereitgestellt wird.
  4. Klicken Sie auf Speichern. Es kann bis zu 30 Minuten dauern, bis Google Ihre Konsolenänderungen übernommen hat.
  5. Starten Sie den Test Ihres Google Home- oder Google Nest-Geräts neu.
  6. Senden Sie einen Befehl an Ihr Smart-Home-Gerät. Wenn dein Gerät beispielsweise die Eigenschaft OnOff implementiert, kannst du sagen "Hey Google, schalte das Licht ein".

Weitere Informationen dazu, welche Laufzeit von Ihrem Gerät verwendet wird, finden Sie unter Unterstützte Geräte.

Fehlerbehebung in Chrome

Sie können Fehler in Ihrer lokalen Auftragsausführungs-App mit den Chrome-Entwicklertools beheben. Prüfen Sie vor der Fehlerbehebung, ob Ihre Umgebung korrekt eingerichtet ist:

  • Sie haben Ihre Entwicklungs-URL in der Konsole auf eine URL festgelegt, die über das Google Home- oder Google Nest-Gerät (im lokalen Netzwerk oder über das Internet) erreichbar ist.
  • Ihr Computer ist mit demselben Netzwerk verbunden wie das Google Home- oder Google Nest-Gerät, das Sie testen.
  • In Ihrem Netzwerk werden keine Pakete zwischen Geräten blockiert.
  • Sie sind in der Actions Console und auf dem Google Home- oder Google Nest-Gerät mit demselben Google-Konto angemeldet.
  • Sie haben die SYNC-Antwort in Ihrer Cloud-Auftragsausführung aktualisiert. Es sollte mindestens einen gültigen Wert im Feld otherDeviceIds zurückgeben.
  • Sie haben die richtigen Informationen zur Scankonfiguration in der Actions Console eingegeben.

So verbinden Sie Ihre lokale Auftragsausführungs-App mit dem Chrome DevTools-Debugger:

Chrome

  1. Installieren und starten Sie Google Chrome auf Ihrem lokalen Entwicklungscomputer.
  2. Starten Sie das Chrome-Prüftool im Adressfeld Ihres Chrome-Browsers, indem Sie chrome://inspect#devices eingeben. Auf der Seite sollte eine Liste mit Geräten angezeigt werden. Die HTML-Datei sollte unter dem Namen deines Google Home- oder Google Nest-Tests aufgeführt werden.
  3. Klicken Sie auf den blauen Prüflink unter Ihrem HTML-Code, um die Chrome-Entwicklertools zu starten. Wechseln Sie zum Tab Console. Die Local Home-Plattform gibt deine App-Version und die Local Home SDK-Version im Konsolenprotokoll aus. Wenn Sie das Log sehen, bedeutet dies, dass Google Ihre Anwendung erfolgreich geladen hat und eine Verbindung zu ihr herstellen kann. Falls nicht, starten Sie Google Home oder Google Nest neu.
  4. Abbildung 1: Lokale Auftragsausführungs-App in chrome://inspect

Node.js

  1. Installieren und starten Sie Google Chrome auf Ihrem lokalen Entwicklungscomputer.
  2. Bestimmen Sie die lokale IP-Adresse Ihres Testgeräts.
  3. Starten Sie das Chrome-Prüftool im Adressfeld Ihres Chrome-Browsers, indem Sie chrome://inspect#devices eingeben.
  4. Wählen Sie Konfigurieren... aus, um die Einstellungen für die Zielerkennung zu öffnen.
  5. Abbildung 2: Zielerkennungseinstellungen in chrome://inspect
    festlegen
  6. Geben Sie DEVICE_IP_ADDRESS:9222 in die Liste ein und klicken Sie auf Fertig.
  7. Klicken Sie auf den blauen Prüflink unter Ihrem Skript, um die Chrome-Entwicklertools zu starten. Wechseln Sie zum Tab Console. Die Local Home-Plattform gibt deine App-Version und die Local Home SDK-Version im Konsolenprotokoll aus. Wenn Sie das Log sehen, bedeutet dies, dass Google Ihre Anwendung erfolgreich geladen hat und eine Verbindung zu ihr herstellen kann. Falls nicht, starten Sie Google Home oder Google Nest neu.

Weitere Informationen dazu, welche Laufzeit von Ihrem Gerät verwendet wird, finden Sie unter Unterstützte Geräte.

Tipps zur Fehlerbehebung

Weitere Hinweise:

  • Verknüpfen Sie nicht mehrere Google Home- oder Google Nest-Geräte mit Ihrem Testkonto im selben lokalen Netzwerk. Mit den lokalen Fulfillment-Befehlen können Sie nicht steuern, welches Google Home- oder Google Nest-Gerät für die Ausrichtung verwendet wird.
  • Aktualisieren Sie die Seite in den Chrome-Entwicklertools, um den Container für die lokale Auftragsausführung mit dem neuesten Code aus der Entwicklungs-URL neu zu laden. Die Local Home-Plattform wird dadurch nicht zurückgesetzt. Das kann erforderlich sein, um Plattform-Intents (z. B. IDENTIFY) in Ihrer lokalen Auftragsausführungs-App neu auszulösen. Starten Sie Ihr Google Home- oder Google Nest-Gerät neu, um die Local Home-Plattform zurückzusetzen.
  • Prüfen Sie, ob Ihre JavaScript-App fehlerfrei geladen wird. Sehen Sie sich dazu auf der Seite „Entwicklertools“ den Bereich „Konsole“ an. Wenn ein Problem auftritt, wird eine Meldung wie diese angezeigt: Uncaught TypeError: Cannot read property ‘open’ of null.
  • Die verificationId aus der IDENTIFY-Antwort muss mit einer der otherDeviceIds aus der SYNC-Antwort übereinstimmen.
  • Achten Sie beim EXECUTE-Handler darauf, dass die HTTP-, TCP- oder UDP-Befehle von Ihrem Gerät empfangen werden können und wie erwartet funktionieren.
  • Achten Sie darauf, einen Promise aus den Handlern zurückzugeben.
  • Vermeiden Sie es, den globalen Zustand im Arbeitsspeicher beizubehalten. Siehe Anwendungslebenszyklus.
  • Fehler, die von der lokalen Auftragsausführungs-App ausgegeben werden, werden in den Fehlerlogs Ihres Projekts angezeigt.

Vorbereitung und Einführung in die Produktion

Wenn Sie die Smart-Home-Aktion starten möchten, gehen Sie so vor:

  1. Öffnen Sie ein Terminalfenster. Führen Sie in Ihrem Projektverzeichnis den Befehl npm run build aus. Mit diesem Befehl werden die folgenden JavaScript-Bundles für Ihre Anwendung im Verzeichnis dist generiert:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Laden Sie die JavaScript-Anwendung in der Console hoch. Klicken Sie dazu auf Entwickeln > Aktionen. Klicken Sie im Abschnitt Local Home SDK konfigurieren auf JavaScript-Dateien hochladen.
    Abbildung 3: JavaScript-App hochladen
  3. Laden Sie im Dialogfeld Dateien hochladen die zuvor erstellten Bundle-Dateien hoch. Laden Sie beide Versionen der Bundle-Dateien (Node, Web) hoch, damit die Aktion in allen Laufzeitumgebungen konfiguriert ist, die von der lokalen Auftragsausführung unterstützt werden.
    1. JavaScript-Targeting für Node.js hochladen: Laden Sie die Datei bundle.js aus dem Verzeichnis dist/node hoch.
    2. JavaScript-Targeting für Chrome (Browser) hochladen: Lade die Datei bundle.js aus dem Verzeichnis dist/web hoch.
  4. Testen Sie Ihre Aktion auf einem Gerät mit integriertem Assistant, um zu prüfen, ob sie sich in einer Produktionsumgebung wie erwartet verhält. Weitere Informationen finden Sie unter Smart-Home-Aktion testen und teilen.
  5. Wenn du mit der Funktionsweise deiner Aktion zufrieden bist, reiche sie für die Produktionsbereitstellung bei Google ein. Folge dazu der Anleitung unter Smart Home-Aktion starten. Dazu gehören die Schritte zum Selbsttest und zur Zertifizierung.