Daha fazla özellik ve işleyici ekleyin

Cihazınızın modeline istediğiniz kadar özellik ekleyebilirsiniz. Bu özellikler tek bir cihaz türüne bağlı değildir. İstediğiniz gibi kullanabilirsiniz.

Bu, herhangi bir özellik ekleme ve gelen komutu işleme sürecidir:

  1. Eklemek istediğiniz özelliği belirleyin.

  2. pushtotalk.py dosyasını açın.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Aşağıdaki kod bloğunu, action.devices.commands.OnOff komutunu işleyen mevcut bir blokun altına ekleyin (mevcut kod bloğunu silmeyin).

    @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. Yukarıdaki kod bloğunda her bir değişken için ihtiyacınız olan bilgileri bulun.

    command-name1. Adım'da belirli bir özellik sayfasına (örneğin, ColorTemperature) gidin. Cihaz COMMANDS tablosundan bir komut kullanın.
    my-functionİşleyici işlevinizi istediğiniz gibi adlandırın.
    parameter-nameÖzellik sayfasındaki Cihaz KOMUTLARI tablosuna tekrar bakın. Her komutun, kendisiyle ilişkilendirilmiş bir veya daha fazla parametresi vardır. Bunlar, EXECUTE request JSON dosyasında "params" altında listelenir. Parametre adını tam olarak aynı şekilde kullanın. Bu parametrelerden bazılarının, başka parametreler içeren nesneler olduğunu unutmayın. Bunun için üst düzey nesneyi kullanmanız yeterlidir.
    conditionalİşleyici kodunuzda koşullu koşul kullanmanız kesinlikle gerekmez ancak bu koşul, cihazda komutu nasıl yürüttüğünüzü ayırt etmenize yardımcı olabilir.

    Aşağıda Parlaklık ve ColorTemperature özellikleriyle ilgili bazı örnekler verilmiştir:

    @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. 1. Adım'da eklediğiniz özellikle cihaz modelini güncelleyin.

  6. Değiştirilen kaynak kodunu çalıştırın.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Enter tuşuna basın ve bir sorgu girmeyi deneyin.

    Örneğin:

    Parlaklığı %65'e ayarlayın.

    Mavi olsun.

Sonraki adım

Özel Cihaz İşlemlerini Kaydetme