סכימת תכונות של טמפרטורת צבע לבית חכם

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"
    }]
}
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"
        }
      }
    ]
  }
}
מאמת

מכשיר 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"
        }
      }]
    }
  }]
}
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"
      }
    }
  }
}

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
              }
          }
        }]
      }]
    }
  }]
}
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
          }
        }
      }
    ]
  }
}