Nous vous recommandons de créer votre application de traitement en local en suivant les étapes décrites précédemment, puis de tester l'intégration de votre maison connectée dans votre propre environnement d'hébergement en procédant comme suit:
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>
Déboguer à partir de Chrome Utilisez les points d'arrêt et les journaux pour résoudre les problèmes d'intégration.
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 rapidement et plus facilement détecter et déboguer les problèmes liés à votre code.
Tester le contrôle de l'appareil
Dans la console Action, vous devez spécifier l'URL de votre application Web, qui diffuse le code HTML chargé sur l'appareil Google Home ou Google Nest pendant le traitement en local.
Pour tester le contrôle des appareils avec le traitement en local, procédez comme suit:
Chrome
- Ouvrez votre projet de maison connectée dans la console Actions.
- Dans le volet de gauche, cliquez sur Actions.
- Sous Configurer le SDK Local Home (facultatif) > Saisissez votre URL de test pour Chrome, spécifiez l'URL du serveur de développement qui diffuse le code HTML qui exécute votre application de traitement en local.
- Cliquez sur Enregistrer. La prise en compte des modifications apportées à la console peut prendre jusqu'à 30 minutes.
- Redémarrez votre appareil de test Google Home ou Google Nest.
- Exécutez une commande sur votre appareil connecté. Par exemple, si votre appareil implémente la caractéristique OnOff, vous pouvez dire "Hey Google, allume la lumière".
Node.js
- Ouvrez votre projet de maison connectée dans la console Actions.
- Dans le volet de gauche, cliquez sur Actions.
- Sous Configurer le SDK Local Home (facultatif) > Saisissez votre URL de test pour le nœud, spécifiez l'URL du serveur de développement qui diffuse le JavaScript qui exécute votre application de traitement en local.
- Cliquez sur Enregistrer. La prise en compte des modifications apportées à la console peut prendre jusqu'à 30 minutes.
- Redémarrez votre appareil de test Google Home ou Google Nest.
- Exécutez une commande sur votre appareil connecté. Par exemple, si votre appareil implémente la caractéristique OnOff, vous pouvez 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 compatibles.
.Débogage à partir de Chrome
Vous pouvez déboguer votre application de traitement en local à l'aide des outils pour les développeurs Chrome. Avant de pouvoir effectuer le 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 depuis l'appareil Google Home ou Google Nest (sur le réseau local ou via Internet).
- Votre machine est connectée au même réseau local que l'appareil Google Home ou Google Nest que vous testez.
- Votre réseau ne bloque pas les paquets entre les appareils.
- Vous êtes connecté avec le même compte Google dans la console Actions et sur l'appareil Google Home ou Google Nest.
- Vous avez mis à jour la réponse SYNC dans votre traitement cloud.
Il doit renvoyer au moins une valeur valide dans le champ
otherDeviceIds
. - Vous avez saisi les informations de configuration d'analyse appropriées dans la console Actions.
Pour connecter votre application de traitement en local au débogueur des outils pour les développeurs Chrome, procédez comme suit:
Chrome
- Sur votre ordinateur de développement local, installez et lancez le navigateur Google Chrome.
- Dans le champ d'adresse de votre navigateur Chrome, saisissez:
chrome://inspect#devices
pour lancer l'outil d'inspection Chrome. Une liste d'appareils devrait s'afficher sur la page, et votre fichier HTML devrait figurer sous le nom de votre appareil de test Google Home ou Google Nest. - Cliquez sur le lien bleu "Inspecter" sous le code HTML pour lancer les Outils pour les développeurs Chrome. Passez à l'onglet Console. La plate-forme Local Home affiche la version de votre application et la version du SDK Local Home dans le journal de la console. Si le journal s'affiche, cela signifie que Google a chargé votre application et qu'elle peut s'y connecter. Si ce n'est pas le cas, redémarrez votre appareil Google Home ou Google Nest.

Node.js
- Sur votre ordinateur de développement local, installez et lancez le navigateur Google Chrome.
- Déterminez l'adresse IP locale de votre appareil de test.
- Dans le champ d'adresse de votre navigateur Chrome, saisissez:
chrome://inspect#devices
pour lancer l'outil d'inspection Chrome. - Sélectionnez Configurer pour ouvrir les paramètres de découverte de la cible.
- Saisissez
DEVICE_IP_ADDRESS:9222
dans la liste, puis cliquez sur OK. - Cliquez sur le lien bleu "Inspecter" sous votre script pour lancer les Outils pour les développeurs Chrome. Passez à l'onglet Console. La plate-forme Local Home affiche la version de votre application et la version du SDK Local Home dans le journal de la console. Si le journal s'affiche, cela signifie que Google a chargé votre application et qu'elle 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 compatibles.
Conseils de débogage
Voici d'autres points à prendre en compte lors du débogage:
- N'associez pas plusieurs appareils Google Home ou Google Nest à votre compte de test sur le même réseau local. Vous ne pourrez pas contrôler l'appareil Google Home ou Google Nest ciblé avec les commandes de traitement 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 avec le dernier code de votre URL de développement. Cette opération ne réinitialise pas la plate-forme Local Home, ce qui peut être nécessaire pour redéclencher des intents de plate-forme (tels que
IDENTIFY
) dans votre application de traitement en local. Pour réinitialiser la plate-forme Local Home, redémarrez votre appareil Google Home ou Google Nest. - Vérifiez que votre application JavaScript se charge sans erreur. Pour ce faire, consultez la section "Console" de la page "Outils de développement". En cas de problème, un message semblable à celui-ci s'affiche:
Uncaught TypeError: Cannot read property ‘open’ of null.
- Le
verificationId
de la réponseIDENTIFY
doit correspondre à l'un desotherDeviceIds
de la réponseSYNC
. - Pour le gestionnaire
EXECUTE
, assurez-vous que votre appareil peut recevoir vos commandes HTTP, TCP ou UDP et fonctionner 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 des applications.
- Les erreurs générées par votre application de traitement en local apparaissent dans les journaux d'erreurs de votre projet.
Préparer et lancer la production
Lorsque vous êtes prêt à lancer votre action pour maison connectée, procédez comme suit:
- Ouvrez un terminal. Dans le répertoire de votre projet, exécutez la commande
npm run build
. Cette commande génère les bundles JavaScript suivants pour votre application dans le répertoiredist
:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- Dans la console, importez votre application JavaScript en cliquant sur Develop > Actions (Développer > Actions). Dans la section Configurer le SDK Local Home, cliquez sur Importer des fichiers JavaScript.
Figure 3: Importez votre application JavaScript. - Dans la boîte de dialogue Importer des fichiers, importez les fichiers du bundle que vous avez générés précédemment. Veillez à importer les deux versions des fichiers du bundle (nœud, Web) afin que votre action soit configurée pour fonctionner correctement dans tous les environnements d'exécution compatibles avec le traitement en local.
- Importez votre fichier JavaScript de ciblage Node.js: importez le fichier
bundle.js
à partir du répertoiredist/node
. - Importez votre code JavaScript ciblant Chrome (navigateur): importez le fichier
bundle.js
à partir du répertoiredist/web
.
- Importez votre fichier JavaScript de ciblage Node.js: importez le fichier
- Testez votre action sur un appareil avec Assistant Google intégré pour vérifier qu'elle se comporte comme prévu dans un environnement de production. Pour en savoir plus, consultez Tester et partager votre action de maison connectée.
- Lorsque le fonctionnement de votre action vous convient, envoyez-le à Google pour le déploiement en production en suivant les instructions de la section Lancer votre action de maison connectée. Cela implique de suivre les étapes d'autotest et de demande de certification.