Willkommen beim Google Home Developer Center, der neuen Anlaufstelle für Informationen über Smart-Home-Aktionen. Hinweis:Die Aktionen in der Actions Console werden weiterhin erstellt.

App testen und Fehler beheben

Wir empfehlen Ihnen, Ihre App für die lokale 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 Hosting-Umgebung die HTML-Seite bereit, die Ihre lokale Auftragsausführungs-App ausführt. Das folgende Snippet zeigt ein Beispiel für eine statische HTML-Datei, die Ihre lokale Auftragsausführungs-App 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-Fehlerbehebung Haltepunkte und Logs verwenden, um Fehler bei der Integration zu beheben.

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

Wenn Sie diesen Build- und Testprozess wiederholen, können Sie Ihre Änderungen schnell und einfach in der Praxis sehen und beheben.

Gerätesteuerung testen

In der Aktionskonsole müssen Sie die URL Ihrer Webanwendung angeben, die den HTML-Code bereitstellt, der während der lokalen Ausführung auf dem Google Home- oder Google Nest-Gerät 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 in der linken Navigationsleiste auf Aktionen.
  3. Geben Sie unter Local Home SDK konfigurieren (optional) > Test-URL für Chrome eingeben die Nameserver-URL an, über die der HTML-Code ausgeführt wird, mit dem Ihre App für die lokale Auftragsausführung ausgeführt wird.
  4. Klicken Sie auf Speichern. Es kann bis zu 30 Minuten dauern, bis Google Ihre Konsolenänderungen übernommen hat.
  5. Starten Sie Ihr Google Home- oder Google Nest-Testgerät neu.
  6. Geben Sie einen Befehl an Ihr Smart-Home-Gerät aus. Wenn auf deinem Gerät beispielsweise die Eigenschaft OnOff implementiert ist, kannst du „Hey Google, schalte das Licht an“ sagen.

Node.js

  1. Öffnen Sie Ihr Smart-Home-Projekt in der Actions Console.
  2. Klicken Sie in der linken Navigationsleiste auf Aktionen.
  3. Geben Sie unter Local Home SDK konfigurieren (optional) > Test-URL für Knoten eingeben die Nameserver-URL an, über die das JavaScript ausgeführt wird, über das Ihre lokale Auftragsausführungs-App ausgeführt wird.
  4. Klicken Sie auf Speichern. Es kann bis zu 30 Minuten dauern, bis Google Ihre Konsolenänderungen übernommen hat.
  5. Starten Sie Ihr Google Home- oder Google Nest-Testgerät neu.
  6. Geben Sie einen Befehl an Ihr Smart-Home-Gerät aus. Wenn auf deinem Gerät beispielsweise die Eigenschaft OnOff implementiert ist, kannst du „Hey Google, schalte das Licht an“ sagen.

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

Fehlerbehebung in Chrome

Fehler in Ihren lokalen Auftragsausführungs-Apps können Sie mit den Chrome-Entwicklertools beheben. Prüfen Sie vor dem Debuggen, ob Ihre Umgebung korrekt eingerichtet ist:

  • Sie haben in der Konsole eine Entwicklungs-URL auf eine URL festgelegt, die über das Google Home- oder Google Nest-Gerät erreichbar ist (entweder im lokalen Netzwerk oder über das Internet).
  • Dein Gerät ist mit demselben Netzwerk verbunden, das auch von Google Home oder Google Nest getestet wurde.
  • Ihr Netzwerk blockiert keine Pakete zwischen Geräten.
  • 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 im Cloud-Fulfillment aktualisiert. Es sollte mindestens einen gültigen Wert im Feld otherDeviceIds zurückgeben.
  • Sie haben die richtigen Scankonfigurationsinformationen in die Actions Console eingegeben.

So verbinden Sie Ihre lokale Anwendung für die Auftragsausführung mit den Chrome-Entwicklertools:

Chrome

  1. Installieren und starten Sie auf Ihrem lokalen Entwicklungscomputer den Google Chrome-Browser.
  2. Starten Sie das Chrome Inspector und geben Sie chrome://inspect#devices in das Adressfeld Ihres Chrome-Browsers ein. Auf der Seite sollte eine Liste der Geräte zu sehen sein. Außerdem sollte Ihre HTML-Datei unter dem Namen Ihres 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 lokale Home-Plattform gibt die App-Version und die Local Home SDK-Version im Konsolenprotokoll aus. Wenn Sie das Protokoll sehen, hat Google Ihre Anwendung erfolgreich geladen und kann eine Verbindung dazu herstellen. Ist dies nicht der Fall, starten Sie Ihr Google Home- oder Google Nest-Gerät neu.
  4. Abbildung 1: App für die lokale Ausführung von chrome://inspektion

Node.js

  1. Installieren und starten Sie auf Ihrem lokalen Entwicklungscomputer den Google Chrome-Browser.
  2. Bestimmen Sie die lokale IP-Adresse Ihres Testgeräts.
  3. Starten Sie das Chrome Inspector und geben Sie chrome://inspect#devices in das Adressfeld Ihres Chrome-Browsers ein.
  4. Wählen Sie Konfigurieren... aus, um die Einstellungen für Target Discovery zu öffnen.
  5. Abbildung 2: Targeting-Einstellungen in chrome://inspektion
  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 lokale Home-Plattform gibt die App-Version und die Local Home SDK-Version im Konsolenprotokoll aus. Wenn Sie das Protokoll sehen, hat Google Ihre Anwendung erfolgreich geladen und kann eine Verbindung dazu herstellen. Ist dies nicht der Fall, starten Sie Ihr Google Home- oder Google Nest-Gerät neu.

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

Tipps zur Fehlerbehebung

Beachten Sie bei der Fehlerbehebung außerdem Folgendes:

  • Verknüpfe nicht mehrere Google Home- oder Google Nest-Geräte mit deinem Testkonto im selben lokalen Netzwerk. Mit den Befehlen für die lokale Auftragsausführung können Sie nicht steuern, auf welches Google Home- oder Google Nest-Gerät ausgerichtet wird.
  • Aktualisieren Sie die Seite in den Chrome-Entwicklertools, um den App-Container für die lokale Auftragsausführung mit dem neuesten Code aus Ihrer Entwicklungs-URL zu aktualisieren. 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 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 der Entwicklertools den Bereich für die Konsole an. Wenn ein Problem auftritt, wird eine solche Meldung 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 Ihre HTTP-, TCP- oder UDP-Befehle vom Gerät empfangen werden und wie erwartet funktionieren.
  • Achten Sie darauf, dass ein Promise von den Handlern zurückgegeben wird.
  • Behalten Sie den globalen Status im Arbeitsspeicher nicht bei. Siehe Anwendungslebenszyklus.
  • Fehler, die von der lokalen Auftragsausführungs-App ausgelöst werden, werden in den Fehlerlogs Ihres Projekts angezeigt.

Auf die Produktion vorbereiten und Markteinführung starten

Wenn die Smart-Home-Aktion gestartet werden soll, 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 App 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. Achten Sie darauf, dass Sie beide Versionen der Bundle-Dateien (Knoten, Web) hochladen, damit die Aktion in allen Laufzeitumgebungen funktioniert, die von der lokalen Auftragsausführung unterstützt werden.
    1. JavaScript-Targeting in Node.js hochladen: Laden Sie die Datei bundle.js aus dem Verzeichnis dist/node hoch.
    2. JavaScript-Ausrichtungs-Chrome (Browser) hochladen: Laden Sie die Datei bundle.js aus dem Verzeichnis dist/web hoch.
  4. Teste deine 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 zur Produktion an Google ein. Folge dazu der Anleitung unter Smart-Home-Aktion starten. Dies gilt auch für die Schritte zum Selbsttest und zur Zertifizierung.