Selamat datang di Pusat Developer Google Home, tujuan baru untuk mempelajari cara mengembangkan tindakan smart home. Catatan: Anda akan terus membuat tindakan di konsol Actions.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Skema Fitur ColorSpectrum Smart Home

action.devices.traits.ColorSpectrum - Sifat ini dimiliki perangkat apa pun yang dapat menetapkan spektrum warna. Ini berlaku untuk bohlam warna "full" yang menggunakan rentang warna RGB. Lampu dapat memiliki kombinasi ColorSpectrum dan ColorTemperature. Lampu aksen dan strip LED mungkin hanya memiliki Spektrum, sedangkan beberapa bohlam baca hanya memiliki Suhu. Bohlam dasar, atau lampu bodoh pada steker smart, tidak memiliki keduanya.

ATRIBUT Perangkat

Atribut Definisi
colorModel Opsional. Dapat disetel ke string hsv untuk menunjukkan preferensi perangkat untuk model warna HSV (hue, saturasi, nilai). Default-nya adalah rgb.

Contoh Permintaan dan Respons SYNC

Permintaan
{
    "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
    "inputs": [{
      "intent": "action.devices.SYNC"
    }]
}
Node.js
'use strict';

const {smarthome} = require('actions-on-google');
const functions = require('firebase-functions');

const app = smarthome();

app.onSync((body, headers) => {
  return {
    requestId: body.requestId,
    payload: {
      agentUserId: '1836.15267389',
      devices: [{
        id: '123',
        type: 'action.devices.types.LIGHT',
        traits: [
          'action.devices.traits.ColorSpectrum'
        ],
        name: {
          defaultNames: ['AAA bulb A19 color hyperglow'],
          name: 'lamp1',
          nicknames: ['reading lamp']
        },
        willReportState: true,
        attributes: {
          colorModel: 'rgb'
        },
        deviceInfo: {
          manufacturer: 'AAA',
          model: 'hg11',
          hwVersion: '1.2',
          swVersion: '5.4'
        },
        customData: {
          fooValue: 12,
          barValue: false,
          bazValue: 'dancing alpaca'
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.ColorSpectrum"
        ],
        "name": {
          "defaultNames": [
            "AAA bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": true,
        "attributes": {
          "colorModel": "rgb"
        },
        "deviceInfo": {
          "manufacturer": "AAA",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "dancing alpaca"
        }
      }
    ]
  }
}
Validator

STATUS Perangkat

Negara bagian Definisi
color Objek. Setelan warna saat ini. Karena cahaya tertentu berada dalam spektrum ATAU mode suhu, objek ini menyertakan setelan warna saat ini dalam mode yang relevan.
  • String name. Jika titik warna (Spektrum atau Suhu) cocok dengan nama yang telah ditetapkan di daftar warna partner, tampilkan nama tersebut.
  • Bilangan bulat spectrumRGB. Nilai spektrum dalam RGB (nilai heksadesimal sebagai bilangan bulat).

COMMAND Perangkat

Perintah Parameter/Definisi
action.devices.commands.ColorAbsolute Objek color. Wajib diisi. Akan menyertakan RGB atau Suhu dan secara opsional, nama.
  • String name. Nama warna (dalam bahasa Inggris) seperti yang diberikan dalam perintah pengguna. Tidak selalu tersedia (untuk perintah relatif).
  • Bilangan bulat spectrumRGB. Nilai spektrum dalam RGB (nilai heksadesimal sebagai bilangan bulat).

Contoh Permintaan dan Respons EXECUTE

Setel lampu saya ke merah.
Permintaan
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123",
          "customData": {
            "fooValue": 74,
            "barValue": true,
            "bazValue": "sheepdip"
          }
        }],
        "execution": [{
          "command": "action.devices.commands.ColorAbsolute",
          "params": {
            "color": {
            "name": "red",
            "spectrumRGB": 16711680
            }
          }
        }]
      }]
    }
  }]
}
Node.js
'use strict';

const {smarthome} = require('actions-on-google');
const functions = require('firebase-functions');

const app = smarthome();

app.onExecute((body, headers) => {
  return {
    requestId: body.requestId,
    payload: {
      commands: [{
        ids: ['123'],
        status: 'SUCCESS',
        states: {
          color: {
            name: 'red',
            spectrumRGB: 12655639
          }
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "color": {
            "name": "red",
            "spectrumRGB": 12655639
          }
        }
      }
    ]
  }
}
Contoh panggilan lainnya mencakup hal berikut:
  • Setel lampu saya ke warna hijau.
  • Ubah lampu meja saya menjadi merah.