ברוכים הבאים למרכז המפתחים של Google Home. זהו היעד החדש ללימוד פיתוח פעולות לבית חכם. הערה :תצטרכו להמשיך ליצור פעולות במסוף הפעולות.
סכימת תכונות של טמפרטורת צבע לבית חכם
התכונה הזו הוצאה משימוש. במקומה צריך להשתמש במדיניות ColorSetting .
action.devices.traits.ColorTemperature
- התכונה הזו שייכת לכל מכשיר שיכול להגדיר את טמפרטורת הצבע.
האיסור חל על נורות "חממות" שמקפיצות נקודת צבע בקלווין. בדרך כלל מדובר בשיטה נפרדת מ-
ColorSpectrum , ויכול להיות שיש נקודות לבנות שזמינות דרך Temperature שלא ניתן להגיע אליה על ידי Spectrum. בהתאם לתכונות הזמינות, Google עשויה לבחור את המצב המתאים לשימוש לפי בקשה וסוג אור (לדוגמה, האפשרות
Make the living room lights לבן עשויה לשלוח פקודות טמפרטורה לנורות מסוימות, ואת פקודות Spectrum לרצועות LED).
מאפייני המכשיר
מאפיין
הגדרה
temperatureMinK
אופציונלי. חובה אם temperatureMaxK
מוגדר. טמפרטורת הצבע המינימלית שנתמכת
על ידי האור בקלווין.
temperatureMaxK
אופציונלי. חובה אם temperatureMinK
מוגדר. טמפרטורת הצבע המקסימלית שנתמכת על ידי האור בקלווין.
דוגמה של בקשת סנכרון ותגובה
{
"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"
}
}
]
}
}
מכשיר STATES
ארץ
הגדרה
color
אובייקט. הגדרת הצבע הנוכחית. מכיוון שאור נתון נמצא במצב ספקטרום או
טמפרטורה, האובייקט הזה כולל את הגדרות הצבעים הנוכחיות
במצב הרלוונטי.
מחרוזת name
. אם נקודת הצבע (Spectrum או Temperature)
תואמת לשם שהוגדר מראש ברשימת הצבעים של השותף, צריך להחזיר את השם.
מספר שלם אחד (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"
}
}
}
}
COMMANDS של מכשיר
Command
פרמטרים/הגדרה
action.devices.commands.ColorAbsolute
אובייקט color
. חובה. יכלול את ה-RGB או את 'טמפרטורה',
ואפשר גם גם את השם.
מחרוזת name
. שם הצבע (באנגלית) כפי שצוין בפקודה של המשתמש. לא תמיד זמין (לפקודות יחסיות).
מספר שלם אחד (temperature
). טמפרטורת הצבע בקלווין.
דוגמה של בקשה ותגובה
התאמת התאורה ללבן רך.
{
"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
}
}
}
]
}
}