Giản đồ đặc điểm nhiệt độ màu của nhà thông minh

action.devices.traits.ColorTemperature – Trait này thuộc về bất kỳ thiết bị nào có thể đặt nhiệt độ màu.

Cách này áp dụng cho những bóng đèn "ấm" có điểm màu tính theo độ K. Đây thường là một phương thức riêng biệt với ColorSpectrum và có thể có các điểm trắng có sẵn thông qua Nhiệt độ mà Spectrum không thể tiếp cận được. Dựa trên các đặc điểm có sẵn, Google có thể chọn chế độ phù hợp để sử dụng tuỳ theo yêu cầu và loại ánh sáng (ví dụ: Làm cho đèn phòng khách màu trắng có thể gửi lệnh Nhiệt độ đến một số bóng đèn và lệnh Spectrum đến dải đèn LED).

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

Thuộc tính Định nghĩa
temperatureMinK Không bắt buộc. Đây là trường bắt buộc nếu bạn đặt temperatureMaxK. Nhiệt độ màu tối thiểu được ánh sáng hỗ trợ, tính bằng độ K.
temperatureMaxK Không bắt buộc. Đây là trường bắt buộc nếu bạn đặt temperatureMinK. Nhiệt độ màu tối đa mà ánh sáng hỗ trợ, tính bằng độ K.

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.ColorTemperature'
        ],
        name: {
          defaultNames: ['AAA bulb A19 color hyperglow'],
          name: 'lamp1',
          nicknames: ['reading lamp']
        },
        willReportState: true,
        attributes: {
          temperatureMinK: 2000,
          temperatureMaxK: 6500
        },
        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.ColorTemperature"
        ],
        "name": {
          "defaultNames": [
            "AAA bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": true,
        "attributes": {
          "temperatureMinK": 2000,
          "temperatureMaxK": 6500
        },
        "deviceInfo": {
          "manufacturer": "AAA",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "dancing alpaca"
        }
      }
    ]
  }
}
Trình 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 temperature. Nhiệt độ màu tính theo độ K.

Mẫu yêu cầu QUERY và phản hồi

Nhiệt độ màu của đèn hiện tại của tôi là bao nhiêu?
Yêu cầu
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": 'action.devices.QUERY',
    "payload": {
      "devices": [{
        "id": "123",
        "customData": {
          "fooValue": 74,
          "barValue": true,
          "bazValue": "foo"
        }
      }]
    }
  }]
}
Node.js
'use strict';

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

const app = smarthome();

app.onQuery((body, headers) => {
  return {
    requestId: body.requestId,
    payload: {
      devices: {
        123: {
          online: true,
          color: {
            name: 'warm white',
            temperature: 25000
          },
          status: 'SUCCESS'
        }
      }
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "123": {
        "online": true,
        "color": {
          "name": "warm white",
          "temperature": 25000
        },
        "status": "SUCCESS"
      }
    }
  }
}

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 temperature. Nhiệt độ màu tính theo độ K.

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

Điều chỉnh đèn của tôi sang màu trắng dị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": "soft white",
                "temperature": 2700
              }
          }
        }]
      }]
    }
  }]
}
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: 'soft white',
            temperature: 2700
          }
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "color": {
            "name": "soft white",
            "temperature": 2700
          }
        }
      }
    ]
  }
}