Weitere Eigenschaften und Handler hinzufügen

Du kannst deinem Gerätemodell beliebig viele Traits hinzufügen. Diese Eigenschaften sind nicht nur an einen Gerätetyp gebunden, können Sie sie nach Belieben verwenden.

So fügen Sie ein beliebiges Merkmal hinzu und verarbeiten den eingehenden Befehl:

  1. Lege fest, welches Trait du nutzen möchtest. hinzuzufügen.

  2. Öffnen Sie die Datei pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Fügen Sie den folgenden Codeblock unter dem vorhandenen Codeblock ein, den Befehl action.devices.commands.OnOff verarbeitet (die vorhandene Codeblock).

    @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. Suchen Sie die Informationen, die Sie für jede Variable im obigen Codeblock benötigen.

    command-nameGehe zur Seite mit den spezifischen Merkmalen von Schritt 1 (z. B. ColorTemperature): Verwenden Sie einen Befehl aus der Tabelle Device COMMANDS.
    my-functionGeben Sie der Handler-Funktion einen beliebigen Namen.
    parameter-nameSieh dir noch einmal die Gerätebefehle an. auf der Trait-Seite. Jeder Befehl hat einen oder mehrere Parameter die damit verknüpft sind. Sie sind im AUSFÜHREN unter "params" aufgeführt. JSON-Anfrage stellen. Verwenden Sie den genauen Parameternamen. Beachten Sie, dass einige davon -Parameter sind Objekte, die andere Parameter enthalten. Verwenden Sie einfach die Methode -Objekt der obersten Ebene enthält.
    conditionalEine bedingte in Ihrem Handler-Code, aber es kann hilfreich sein, zu unterscheiden, wie Sie den auf dem Gerät ausführen.

    Hier sind einige Beispiele für die Traits Helligkeit. und 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. Gerätemodell aktualisieren mit dem Merkmal, das Sie in Schritt 1 hinzugefügt haben.

  6. Führen Sie den geänderten Quellcode aus.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Drücken Sie die Eingabetaste und geben Sie eine Suchanfrage ein.

    Beispiel:

    Stell die Helligkeit auf 65%.

    Blau.

Nächster Schritt

Benutzerdefinierte Geräteaktionen registrieren