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 Atribut ColorSpectrum Smart Home

action.devices.traits.ColorSpectrum - Sifat ini termasuk dalam setiap perangkat yang dapat menetapkan spektrum warna. Ini berlaku untuk bohlam warna "lengkap" yang menggunakan rentang warna RGB. Lampu mungkin memiliki kombinasi ColorSpectrum dan ColorTemperature; lampu aksen dan strip LED mungkin hanya memiliki Spectrum, sedangkan beberapa bohlam pembacaan 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 bagi model warna HSV (hue, saturasi, nilai). Default-nya adalah rgb.

Contoh Permintaan dan Respons SINKRONISASI

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 akan menyertakan setelan warna saat ini dalam mode yang relevan.
  • String name. Jika titik warna (Spektrum atau Suhu) cocok dengan nama yang telah ditetapkan sebelumnya di daftar warna partner, tampilkan nama tersebut.
  • Bilangan Bulat spectrumRGB. Nilai spektrum dalam RGB (nilai heksadesimal sebagai bilangan bulat).

PERMINTAAN Perangkat

Perintah Parameter/Definisi
action.devices.commands.ColorAbsolute Objek color. Diperlukan. Akan mencakup 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

Atur 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:
  • Atur lampu saya ke hijau.
  • Ubah lampu meja saya menjadi merah.