Giản đồ ColorSpectrum Trait cho nhà thông minh

action.devices.traits.ColorSpectrum – Đặc điểm này thuộc về bất kỳ thiết bị nào có thể thiết lập phổ màu. Điều này áp dụng cho các bóng đèn màu "đầy đủ" có dải màu RGB. Đèn có thể có bất kỳ cách kết hợp nào giữa ColorSpectrum và ColorTemperature. Đèn nhấn và dải LED có thể chỉ có Spectrum, trong khi một số bóng đèn đọc sách chỉ có Nhiệt độ. Bóng đèn cơ bản hoặc đèn câm trên phích cắm thông minh không có cả hai yếu tố này.

THUỘC TÍNH của thiết bị

Thuộc tính Định nghĩa
colorModel Không bắt buộc. Bạn có thể đặt thành chuỗi hsv để cho biết lựa chọn ưu tiên của thiết bị đối với mô hình màu HSV (màu sắc, độ bão hoà, giá trị). Giá trị mặc định là rgb.

Phản hồi và yêu cầu SYNC mẫu

Yêu cầu
{
    "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"
        }
      }
    ]
  }
}
Mã xác thực

TRẠNG THÁI của thiết bị

Tiểu bang Định nghĩa
color Phản đối. Chế độ cài đặt màu hiện tại. Vì một ánh sáng cụ thể ở chế độ quang phổ HOẶC chế độ nhiệt độ, nên đối tượng này sẽ bao gồm các chế độ cài đặt màu hiện tại ở chế độ liên quan.
  • Chuỗi name. Nếu điểm màu (Spectrum hoặc Nhiệt độ) khớp với tên đặt trước trong danh sách màu của đối tác, hãy trả về tên.
  • Số nguyên spectrumRGB. Giá trị phổ theo RGB (giá trị thập lục phân dưới dạng số nguyên).

Lệnh trên thiết bị

Lệnh Thông số/Định nghĩa
action.devices.commands.ColorAbsolute Đối tượng color. Bắt buộc. Sẽ bao gồm RGB hoặc Nhiệt độ và tên (không bắt buộc).
  • Chuỗi name. Tên màu (bằng tiếng Anh) như được cung cấp trong lệnh của người dùng. Không phải lúc nào cũng dùng được (đối với lệnh tương đối).
  • Số nguyên spectrumRGB. Giá trị phổ theo RGB (giá trị thập lục phân dưới dạng số nguyên).

Mẫu yêu cầu thực thi và phản hồi

Chuyển đèn của tôi sang màu đỏ.
Yêu cầu
{
  "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
          }
        }
      }
    ]
  }
}
Các lệnh gọi mẫu khác bao gồm:
  • Chuyển đèn của tôi sang màu xanh lục.
  • Chuyển đèn bàn sang màu đỏ.