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 sont non liés à un seul type d'appareil, vous pouvez les utiliser comme vous le souhaitez.

Voici le processus permettant d'ajouter une caractéristique et de gérer la commande entrante:

  1. Déterminer la caractéristique souhaitée à 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 le bloc existant gère la commande action.devices.commands.OnOff (ne supprimez pas la clé existante bloc de code).

    @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. Retrouvez les informations dont vous avez besoin pour chaque variable dans le bloc de code ci-dessus.

    command-nameAccédez à la page de la caractéristique spécifique Étape 1 (par exemple, ColorTemperature) Utilisez une commande du tableau Commandes relatives à l'appareil.
    my-functionNommez votre fonction de gestionnaire comme vous le souhaitez.
    parameter-nameConsultez de nouveau les commandes Device COMMANDS sur la page des caractéristiques. Chaque commande comporte un ou plusieurs paramètres qui lui est associée. Ils sont répertoriés sous "params" dans EXECUTE requête JSON. Utilisez le nom exact du paramètre. Notez que certains de ces sont des objets qui contiennent d'autres paramètres. Il vous suffit d'utiliser objet de premier niveau.
    conditionalIl n'est pas nécessaire d'utiliser strictement dans le code de votre gestionnaire, mais cela peut vous aider à différencier la façon dont vous exécutez 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. Modifier le modèle de l'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églez la luminosité sur 65%.

    La rendre bleue.

Étape suivante

Enregistrer des actions personnalisées sur l'appareil