Tester et déboguer votre application

Nous vous recommandons de créer votre application de traitement en local en suivant les étapes décrites précédemment, puis testez l'intégration de votre maison connectée dans votre propre environnement d'hébergement. en procédant comme suit:

  1. Dans votre propre environnement d'hébergement, diffusez la page HTML qui exécute votre application de traitement en local. L'extrait de code suivant montre un exemple de fichier HTML statique qui exécute votre application de traitement en local.

    <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. Tester le contrôle des appareils

  3. Procédez au débogage depuis Chrome. Utilisez des points d'arrêt et des journaux pour : résoudre les problèmes liés à votre intégration.

  4. Modifiez et compilez votre code TypeScript, puis répétez ces étapes.

En répétant ce processus de compilation et de test, vous pouvez voir vos modifications en action. détecter et déboguer rapidement et plus facilement les problèmes liés à votre code.

Tester le contrôle de l'appareil

Dans la console Action, vous devez indiquer l'URL de votre application Web, Affiche le code HTML chargé sur l'appareil Google Home ou Google Nest lors du traitement en local.

Pour tester le contrôle des appareils avec le traitement en local, procédez comme suit:

Chrome

  1. Ouvrez votre projet pour la maison connectée dans la console Actions.
  2. Dans le panneau de navigation de gauche, cliquez sur Actions.
  3. Sous Configure local home SDK (optional) (Configurer le SDK Local Home (facultatif)) > Saisissez votre URL de test pour Chrome et indiquez le serveur de développement. URL qui diffuse le code HTML qui exécute votre application de traitement en local.
  4. Cliquez sur Enregistrer. Il peut s'écouler jusqu'à 30 minutes pour propager les modifications apportées à la console.
  5. Redémarrez votre appareil Google Home ou Google Nest de test.
  6. Envoyez une commande à votre appareil connecté. Par exemple, si votre appareil met en œuvre la caractéristique OnOff, vous pourriez dire "Hey Google, allume la lumière".

Node.js

  1. Ouvrez votre projet pour la maison connectée dans la console Actions.
  2. Dans le panneau de navigation de gauche, cliquez sur Actions.
  3. Sous Configure local home SDK (optional) (Configurer le SDK Local Home (facultatif)) > Saisissez votre URL de test pour le nœud et indiquez le serveur de développement. URL qui diffuse le code JavaScript qui exécute votre application de traitement en local.
  4. Cliquez sur Enregistrer. Il peut s'écouler jusqu'à 30 minutes pour propager les modifications apportées à la console.
  5. Redémarrez votre appareil Google Home ou Google Nest de test.
  6. Envoyez une commande à votre appareil connecté. Par exemple, si votre appareil met en œuvre la caractéristique OnOff, vous pourriez dire "Hey Google, allume la lumière".

Pour en savoir plus sur l'environnement d'exécution utilisé par votre appareil, consultez la section appareils mobiles.

Débogage depuis Chrome

Vous pouvez déboguer votre application de traitement en local à l'aide de Chrome DevTools. Avant de procéder au débogage, assurez-vous que votre environnement est correctement configuré:

  • Vous avez défini votre URL de développement dans la console sur une URL accessible par l'appareil Google Home ou Google Nest (sur le réseau local ou via Internet) ;
  • Votre ordinateur est connecté au même réseau local que le Appareil Google Home ou Google Nest que vous testez.
  • Votre réseau ne bloque pas les paquets entre les appareils.
  • Vous êtes connecté à la console Actions avec le même compte Google. sur l'appareil Google Home ou Google Nest.
  • Vous avez mis à jour la réponse SYNC dans votre cloud fulfillment. Elle doit renvoyer au moins une valeur valide dans le champ otherDeviceIds.
  • Vous avez saisi la configuration d'analyse correcte. informations dans la console Actions.

Pour connecter votre application de traitement en local au débogueur Chrome DevTools, procédez comme suit : procédez comme suit:

Chrome

  1. Sur votre ordinateur de développement local, installez et lancez la Navigateur Google Chrome :
  2. Dans le champ d'adresse de votre navigateur Chrome, lancez l'inspecteur Chrome. en saisissant chrome://inspect#devices. Vous devriez voir une liste des appareils sur la page, et votre fichier HTML doit figurer sous le nom de votre test appareil Google Home ou Google Nest.
  3. Cliquez sur le lien bleu "Inspecter" sous le code HTML pour lancer les outils pour les développeurs Chrome. Accédez à l'onglet Console. La plate-forme Local Home génère la version de votre application et le SDK Local Home. dans le journal de la console. Si ce journal s'affiche, cela signifie que Google a a chargé correctement votre application et peut s'y connecter. Si ce n'est pas le cas, redémarrez votre appareil Google Home ou Google Nest.
  4. Figure 1: Application de traitement en local dans chrome://inspect

Node.js

  1. Sur votre ordinateur de développement local, installez et lancez la Navigateur Google Chrome :
  2. Déterminez l'adresse IP locale de votre appareil de test.
  3. Dans le champ d'adresse de votre navigateur Chrome, lancez l'inspecteur Chrome. en saisissant chrome://inspect#devices.
  4. Sélectionnez Configurer pour ouvrir les paramètres de découverte de la cible.
  5. Figure 2: Paramètres de découverte des cibles dans chrome://inspect
  6. Saisissez DEVICE_IP_ADDRESS:9222 dans la liste, puis cliquez sur OK.
  7. Cliquez sur le lien bleu "Inspecter" situé sous votre script pour lancer les outils pour les développeurs Chrome. Accédez à l'onglet Console. La plate-forme Local Home génère la version de votre application et le SDK Local Home. dans le journal de la console. Si ce journal s'affiche, cela signifie que Google a a chargé correctement votre application et peut s'y connecter. Si ce n'est pas le cas, redémarrez votre appareil Google Home ou Google Nest.

Pour en savoir plus sur l'environnement d'exécution utilisé par votre appareil, consultez la section Appareils.

Conseils de débogage

Voici quelques points supplémentaires à garder à l'esprit lors du débogage:

  • N'associez pas plusieurs appareils Google Home ou Google Nest à votre compte test sur le même réseau local. Vous ne pourrez pas contrôler l'appareil Google Home ou Google Nest ciblé à l'aide des commandes de fulfillment en local.
  • Actualisez la page dans les outils pour les développeurs Chrome afin d'actualiser le conteneur de votre application de traitement en local par le dernier code de votre URL de développement. Cette opération ne réinitialise pas Plate-forme Local Home, qui peut être nécessaire pour redéclencher les intents de la plate-forme (par exemple, IDENTIFY) dans votre application de traitement en local. Pour réinitialiser la plate-forme Local Home, procédez comme suit : redémarrez votre appareil Google Home ou Google Nest.
  • Vérifiez que votre application JavaScript se charge sans erreur. Pour ce faire, dans la section "Console" de la page "Outils de développement". En cas de problème, le message un message de ce type: Uncaught TypeError: Cannot read property ‘open’ of null.
  • La valeur verificationId de la réponse IDENTIFY doit correspondre à l'une des otherDeviceIds à partir de la réponse SYNC.
  • Pour le gestionnaire EXECUTE, assurez-vous que vos commandes HTTP, TCP ou UDP peuvent être reçu par votre appareil et fonctionne comme prévu.
  • Veillez à renvoyer un Promise à partir des gestionnaires.
  • Évitez de conserver l'état global en mémoire. Consultez la section Cycle de vie d'une application.
  • Les erreurs générées par votre application de traitement en local apparaîtront dans votre projet journaux d'erreurs.

Préparer et lancer la version de production

Lorsque vous êtes prêt à lancer votre action pour la maison connectée, procédez comme suit:

  1. Ouvrez un terminal. Dans le répertoire de votre projet, exécutez la commande npm run build. Cette commande génère les groupes JavaScript suivants pour votre application sous le composant Répertoire dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Dans la console, importez votre application JavaScript en cliquant sur Develop > Actions : Dans la section Configure Local Home SDK, cliquez sur Importer Fichiers JavaScript.
    Figure 3: Importer votre application JavaScript
  3. Dans la boîte de dialogue Importer des fichiers, importez les fichiers du bundle que vous avez précédemment générées. Veillez à importer les deux versions des fichiers du bundle (Node, Web) afin que votre action soit configurée pour fonctionner correctement dans tous les environnements d'exécution compatibles avec le fulfillment local.
    1. Importer votre code de ciblage JavaScript (Node.js): importez le fichier bundle.js. à partir du répertoire dist/node.
    2. Importer le code JavaScript ciblant Chrome (navigateur): importez le paramètre bundle.js du répertoire dist/web.
  4. Tester votre action sur un appareil avec Assistant Google intégré pour vérifier son comportement comme prévu dans un environnement de production. Pour en savoir plus, consultez Testez et partagez votre action de maison connectée.
  5. Lorsque vous êtes satisfait du fonctionnement de votre action, envoyez-la à Google pour déploiement de production en suivant les instructions Lancez votre action de maison connectée. Ce comprend l'exécution des étapes d'auto-test et de demande de certification.