طرحواره ویژگی رنگ دمای خانه هوشمند

action.devices.traits.ColorTemperature - این ویژگی متعلق به هر دستگاهی است که قادر به تنظیم دمای رنگ است.

این امر در مورد لامپ های "گرم" که نقطه رنگ کلوین دارند، صدق می کند. این به طور کلی یک روش مجزا از ColorSpectrum است و ممکن است نقاط سفیدی از طریق دما وجود داشته باشد که توسط Spectrum قابل دسترسی نباشد. بر اساس ویژگی‌های موجود، Google ممکن است بر اساس درخواست و نوع نور حالت مناسب را برای استفاده انتخاب کند (به عنوان مثال، چراغ‌های اتاق نشیمن را سفید کنید ممکن است دستورات دما را به برخی لامپ‌ها و دستورات طیف را به نوارهای LED ارسال کند).

ویژگی های دستگاه

صفت تعریف
temperatureMinK اختیاری. اگر temperatureMaxK تنظیم شده باشد، لازم است. حداقل دمای رنگ پشتیبانی شده توسط نور، بر حسب کلوین.
temperatureMaxK اختیاری. اگر temperatureMinK تنظیم شده باشد، لازم است. حداکثر دمای رنگ پشتیبانی شده توسط نور، بر حسب کلوین.

نمونه درخواست و پاسخ SYNC

درخواست
{
    "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"
        }
      }
    ]
  }
}
اعتبار سنجی

وضعیت دستگاه

حالت تعریف
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"
        }
      }]
    }
  }]
}
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"
      }
    }
  }
}

دستورات دستگاه

فرمان پارامترها/تعریف
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
              }
          }
        }]
      }]
    }
  }]
}
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
          }
        }
      }
    ]
  }
}