Menambahkan Sifat dan Pengendali Lainnya

Anda dapat menambahkan sebanyak mungkin karakteristik ke model perangkat. Sifat ini tidak terikat hanya dengan satu jenis perangkat, Anda dapat menggunakannya sesuai pilihan.

Ini adalah proses untuk menambahkan karakteristik apa pun dan menangani perintah yang masuk:

  1. Tentukan trait yang ingin Anda tambahkan.

  2. Buka file pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Tambahkan blok kode berikut di bawah blok kode yang ada yang menangani perintah action.devices.commands.OnOff (jangan hapus blok kode yang sudah ada).

    @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. Temukan informasi yang Anda butuhkan untuk setiap variabel dalam blok kode di atas.

    command-nameBuka halaman karakteristik spesifik dari Langkah 1 (misalnya, ColorTemperature). Gunakan perintah dari tabel Device COMMANDS.
    my-functionBeri nama fungsi pengendali sesuai keinginan Anda.
    parameter-nameLihat lagi tabel Device COMMANDS di halaman trait. Setiap perintah memiliki satu atau beberapa parameter yang terkait dengannya. Permintaan tersebut tercantum di bagian "params" dalam JSON permintaan EXECUTE. Gunakan nama parameter yang sama persis. Perlu diperhatikan bahwa beberapa parameter ini adalah objek yang berisi parameter lain - cukup gunakan objek tingkat teratas.
    conditionalAnda tidak harus benar-benar menggunakan kondisional dalam kode pengendali, tetapi cara tersebut dapat membantu membedakan cara Anda menjalankan perintah di perangkat.

    Berikut adalah beberapa contoh fitur Kecerahan dan 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. Update model perangkat dengan fitur yang Anda tambahkan di Langkah 1.

  6. Jalankan kode sumber yang telah dimodifikasi.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Tekan tombol Enter dan coba kueri.

    Contoh:

    Setel kecerahan ke 65%.

    Beri warna biru.

Langkah berikutnya

Mendaftarkan Tindakan Perangkat Kustom