Dépannage

Application exemple

Si vous rencontrez des problèmes lors de l'utilisation des API Home, vous pouvez collecter des journaux pour un débogage plus approfondi. La collecte des journaux à partir de l'appareil mobile nécessite Xcode. Si vous avez besoin de l'aide de Google, collectez les journaux de l'appareil iOS et du hub, puis ouvrez une demande dans l'Issue Tracker en fournissant les informations et les journaux pertinents.

Collecter les journaux iOS

Votre appareil mobile doit être connecté à votre ordinateur local pour toutes les étapes impliquant Xcode.

Les journaux de l'application et du SDK sont affichés et peuvent être collectés directement dans la console Xcode. Lorsque votre appareil mobile est connecté à votre ordinateur local et que vous exécutez l'application via Xcode, la console capture et diffuse automatiquement les journaux de sortie standard (stdout) et d'erreur standard (stderr) de la couche d'application et du SDK Home intégré. Cela permet de surveiller facilement les processus d'initialisation en temps réel, les interactions avec l'API et les événements du SDK pendant le développement et le débogage.

Récupérer les journaux d'extension depuis Xcode

Si vous rencontrez des problèmes lors de l'utilisation des API Home, vous pouvez collecter des journaux pour un débogage plus approfondi.

  1. Dans Xcode, accédez à Debug (Déboguer) dans la barre de menu supérieure, puis cliquez sur Attach to Process by PID or Name (Associer au processus par PID ou nom).

    Débogage de l'application exemple

  2. Sous PID ou nom du processus, sélectionnez MatterExtension, puis cliquez sur Associer.

    Exemple d'extension d'application associée

  3. Si vous cliquez en haut à droite, le message En attente de l'association à MatterAddDeviceExtension sur l'iPhone s'affiche.

    État d'attente de l'application exemple

  4. Cliquez sur l'onglet, puis sélectionnez MatterAddExtension.

    Application exemple ajoutant l'extension Matter

  5. La console enregistre le journal de l'extension.

Sherlog : traçage d'événements multi-piles

Sherlog est un service de traçage en temps réel qui fournit une vue de bout en bout des interactions entre l'infrastructure de Google et les services cloud partenaires.

Prérequis : Le traçage nécessite l'utilisation d'un compte partagé coordonné par Google (par exemple, un compte enregistré dans GReg ou un compte de démonstration).

Objectif principal : déboguer les défauts fonctionnels et les problèmes d'intégration cloud-à-cloud (C2C) (par exemple, les échecs d'association de compte ou les états d'appareil incorrects) sans nécessiter de modifications du code de production.

Fonctionnalités : fournit des graphiques d'appel RPC complets, des charges utiles de requête/réponse et des métadonnées pour les intents SYNC, EXECUTE, QUERY et d'association de compte.

Journaux de l'appareil Fuchsia Hub

Cette méthode vous permet de collecter les journaux des hubs Fuchsia suivants : * Google Nest Hub (2e génération) * Google Nest Hub Max

Pour activer un hub pour la récupération des journaux locaux :

  1. Envoyez un e-mail contenant le numéro de série et le modèle de vos appareils à votre responsable de compte technique (TAM) Google. Ils sont indiqués en petits caractères sous l'appareil.
  2. Une fois que vous figurez sur la liste d'autorisation, vous devez activer la fonctionnalité en procédant comme suit :
    • Depuis le hub :
      1. Balayez l'écran de haut en bas.
      2. Appuyez sur l'icône Paramètres .
      3. Trouvez la version de Fuchsia : sur un Nest Hub (2e génération), accédez à Informations sur l'appareil > Informations techniques > Version de Fuchsia.
      4. Appuyez sept fois sur "Version Fuchsia". Les options pour les développeurs sont alors activées.
      5. Revenir au menu supérieur
      6. Appuyez sur "Options pour les développeurs".
      7. Appuyez sur "Enregistrement des partenaires".
    • La fonctionnalité sera activée pendant 24 heures. Ensuite, réactivez la fonctionnalité de journalisation à partir de l'étape 5.
  3. Obtenez l'adresse IP de votre hub :
    • Depuis le hub, s'il est équipé d'un écran :
      1. Balayez l'écran de haut en bas.
      2. Appuyez sur l'icône Paramètres .
      3. Trouvez l'adresse IP de l'appareil : sur un Nest Hub (2e génération), accédez à Informations sur l'appareil > Informations techniques > Adresse IP.
    • Depuis l'application Google Home sur votre téléphone :
    • Appuyez sur l'appareil pour afficher sa page d'informations.
    • Appuyez sur l'icône Paramètres  pour afficher la page des paramètres.
    • Recherchez l'adresse IP de l'appareil : accédez à Informations sur l'appareil > Informations techniques > Adresse IP.
  4. Pour récupérer les journaux du hub, vous devez envoyer une requête HTTP GET au hub depuis un ordinateur connecté au même réseau Wi-Fi.
    • Notez le port et le chemin d'accès du point de terminaison :
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • La connexion ne peut être maintenue ouverte que pendant une minute, mais les données récupérées à partir du tampon contiennent généralement les événements des 20 à 30 dernières minutes.
      • Idéalement, les journaux sont extraits à l'aide de cette méthode immédiatement après la fin d'une procédure de test pour s'assurer que le tampon contient du contenu pertinent pour le test (semblable aux rapports de bug Android).

Automatisations

Détection des contours

Les automatisations de l'écosystème Google Home incluent la détection de front, qui est une logique permettant de vérifier qu'un déclencheur ne s'active que lorsqu'un changement d'état réel se produit, par opposition à une mise à jour d'état qui ne fait que répéter l'état précédent de l'appareil.

Par exemple, si l'allumage d'une lumière est un déclencheur, la détection de front vérifie que le déclencheur ne s'active que si l'appareil d'éclairage passe de l'état éteint à l'état allumé, et non de l'état allumé à l'état allumé (aucun changement).

L'automatisation ne se comporte pas comme prévu

Si, après avoir pris en compte la détection des bords, une automatisation ne se comporte pas comme prévu :

  1. Vérifiez chaque appareil pour vous assurer qu'il fonctionne correctement indépendamment de votre automatisation.

  2. Examinez le graphique d'automatisation de votre automatisation et comparez-le à votre DSL d'automatisation pour identifier les éventuelles hypothèses incorrectes de votre part.

  3. Observez l'état de l'appareil dans l'application Google Home pendant l'exécution de votre automatisation.

  4. Vérifiez que tous les appareils référencés par l'automatisation sont présents dans la structure où vous les attendez. La suppression d'un appareil dont dépend une automatisation peut avoir des conséquences inattendues. Consultez Impact de la suppression d'un appareil sur les automatisations.

L'automatisation s'exécute alors qu'elle ne devrait pas

Si votre automatisation s'exécute alors qu'elle ne le devrait pas, examinez les critères du déclencheur. Il peut être nécessaire d'ajouter une logique supplémentaire pour s'assurer qu'un changement d'état n'est capturé qu'une seule fois et ne déclenche l'automatisation qu'une seule fois.

L'automatisation ne se compile pas

Assurez-vous que votre application contient toutes les importations nécessaires, y compris chaque classe correspondant aux différents types de nœuds, ainsi que les caractéristiques auxquelles vous faites référence.

Échec de la validation de la création de l'automatisation

Si la création de l'automatisation échoue à la validation, un message d'avertissement ou d'erreur fournit des informations sur le problème. Pour en savoir plus, consultez la documentation de référence sur ValidationIssueType.

OAuth

Si vous disposez d'un client OAuth existant

Si vous disposez déjà d'un client OAuth validé pour une application publiée, vous pouvez l'utiliser pour tester les API Home.

L'enregistrement Google Home Developer Console n'est pas requis pour tester et utiliser les API Home. Toutefois, vous devrez toujours disposer d'une inscription Developer Console approuvée pour publier votre application, même si vous disposez d'un client OAuth validé provenant d'une autre intégration.

Les considérations suivantes s'appliquent :

  • La limite est de 100 utilisateurs lorsque vous utilisez un client OAuth existant. Pour savoir comment ajouter des utilisateurs de test, consultezGénérer l'ID client OAuth. Indépendamment de la validation OAuth, les API Home imposent une limite de 100 utilisateurs pouvant accorder des autorisations à votre application. Cette limite est levée une fois l'inscription Developer Console terminée.

  • L'enregistrementDeveloper Console doit être envoyé pour approbation lorsque vous êtes prêt à limiter les autorisations de types d'appareils via OAuth en vue de mettre à jour votre application avec les API Home.

Pour les applications Google Cloud dont la validation OAuth est toujours en attente, les utilisateurs ne peuvent pas terminer le flux OAuth tant que la validation n'est pas terminée. Les tentatives d'octroi d'autorisations échoueront avec l'erreur suivante :

Access blocked: <Project Name> has not completed the Google verification process.