Ajouter d'autres caractéristiques et gestionnaires

Vous pouvez ajouter autant de caractéristiques que vous le souhaitez au modèle de votre appareil. Ces caractéristiques ne sont pas liées à un seul type d'appareil. Vous pouvez les utiliser à votre guise.

Voici le processus permettant d'ajouter un trait et de gérer la commande entrante:

  1. Déterminez le caractéristique que vous souhaitez ajouter.

  2. Ouvrez le fichier pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Ajoutez le bloc de code suivant sous celui qui gère la commande action.devices.commands.OnOff (ne supprimez pas le bloc de code existant).

    @device_handler.command('action.devices.commands.command-name')
    def my-function(parameter-name):
        if conditional:
            logging.info('Something happened.')
        else:
            logging.info('Something else happened.')
    
  4. Vous trouverez les informations dont vous avez besoin pour chaque variable dans le bloc de code ci-dessus.

    command-nameAccédez à la page de caractéristiques spécifique de l'étape 1 (par exemple, ColorTemperature). Utilisez une commande du tableau COMMANDES d'appareil.
    my-functionNommez votre fonction de gestionnaire comme vous le souhaitez.
    parameter-nameConsultez à nouveau le tableau COMMANDES d'appareil sur la page de caractéristique. Chaque commande est associée à un ou plusieurs paramètres. Ils sont répertoriés sous "params" dans le fichier JSON de la requête EXECUTE. Utilisez le nom exact du paramètre. Notez que certains de ces paramètres sont des objets qui contiennent d'autres paramètres. Utilisez simplement l'objet de premier niveau.
    conditionalL'utilisation d'une expression conditionnelle dans le code de votre gestionnaire n'est pas strictement nécessaire, mais elle peut aider à différencier la façon dont vous exécutez la commande sur l'appareil.

    Voici quelques exemples de caractéristiques Luminosité et ColorTemperature:

    @device_handler.command('action.devices.commands.BrightnessAbsolute')
    def brightnessCheck(brightness):
        if brightness > 50:
            logging.info('brightness > 50')
        else:
            logging.info('brightness <= 50')
    
    @device_handler.command('action.devices.commands.ColorAbsolute')
    def color(color):
        if color.get('name') == "blue":
            logging.info('color is blue')
        else:
            logging.info('color is not blue')
    
  5. Mettez à jour le modèle d'appareil avec la caractéristique que vous avez ajoutée à l'étape 1.

  6. Exécutez le code source modifié.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Appuyez sur la touche Entrée et essayez une requête.

    Exemple :

    Règle la luminosité sur 65%.

    Activez la couleur bleue.

Étape suivante

Enregistrer des actions personnalisées sur l'appareil