به Google Home Developer Center، مقصد جدیدی برای یادگیری نحوه توسعه اقدامات خانه هوشمند خوش آمدید. توجه: به ساخت کنشها در کنسول Actions ادامه خواهید داد.
طرحواره ویژگی رنگ دمای خانه هوشمند این ویژگی منسوخ شده است. به جای آن ColorSetting استفاده کنید. action.devices.traits.ColorTemperature
- این ویژگی متعلق به هر دستگاهی است که قادر به تنظیم دمای رنگ است.
این امر در مورد لامپ های "گرم" که نقطه رنگ کلوین دارند، صدق می کند. این به طور کلی یک روش مجزا از
ColorSpectrum است و ممکن است نقاط سفیدی از طریق دما وجود داشته باشد که توسط Spectrum قابل دسترسی نباشد. بر اساس ویژگیهای موجود، Google ممکن است بر اساس درخواست و نوع نور حالت مناسب را برای استفاده انتخاب کند (به عنوان مثال،
چراغهای اتاق نشیمن را سفید کنید ممکن است دستورات دما را به برخی لامپها و دستورات طیف را به نوارهای LED ارسال کند).
ویژگی های دستگاه صفت تعریف temperatureMinK
اختیاری. اگر temperatureMaxK
تنظیم شده باشد، لازم است. حداقل دمای رنگ پشتیبانی شده توسط نور، بر حسب کلوین. temperatureMaxK
اختیاری. اگر temperatureMinK
تنظیم شده باشد، لازم است. حداکثر دمای رنگ پشتیبانی شده توسط نور، بر حسب کلوین.
نمونه درخواست و پاسخ SYNC
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [{
"intent": "action.devices.SYNC"
}]
}
'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);
{
"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"
}
}
]
}
}
وضعیت دستگاه حالت تعریف color
هدف - شی. تنظیم رنگ فعلی از آنجایی که یک نور معین در حالت طیف یا دما است، این شیء شامل تنظیمات رنگ فعلی در حالت مربوطه می شود. name
رشته اگر نقطه رنگ (طیف یا دما) با نام از پیش تعیین شده در لیست رنگ شریک مطابقت دارد، نام را برگردانید. temperature
عدد صحیح دمای رنگ بر حسب کلوین
نمونه درخواست و پاسخ QUERY دمای رنگ نور فعلی من چقدر است؟
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [{
"intent": 'action.devices.QUERY',
"payload": {
"devices": [{
"id": "123",
"customData": {
"fooValue": 74,
"barValue": true,
"bazValue": "foo"
}
}]
}
}]
}
'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);
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"devices": {
"123": {
"online": true,
"color": {
"name": "warm white",
"temperature": 25000
},
"status": "SUCCESS"
}
}
}
}
دستورات دستگاه فرمان پارامترها/تعریف action.devices.commands.ColorAbsolute
آبجکت color
ضروری. شامل RGB یا دما و به صورت اختیاری، یک نام است. name
رشته نام رنگ (به انگلیسی) همانطور که در دستور کاربر ارائه شده است. همیشه در دسترس نیست (برای دستورات نسبی). temperature
عدد صحیح دمای رنگ بر حسب کلوین
نمونه EXECUTE درخواست و پاسخ نور من را روی سفید ملایم تنظیم کنید.
{
"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
}
}
}]
}]
}
}]
}
'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);
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"commands": [
{
"ids": [
"123"
],
"status": "SUCCESS",
"states": {
"color": {
"name": "soft white",
"temperature": 2700
}
}
}
]
}
}