طرحواره صفت ColorSpectrum خانه هوشمند

action.devices.traits.ColorSpectrum - این ویژگی متعلق به هر دستگاهی است که قادر به تنظیم یک طیف رنگی باشد. این امر در مورد لامپ های رنگی "کامل" که محدوده رنگی RGB دارند، صدق می کند. نورها ممکن است هر ترکیبی از ColorSpectrum و ColorTemperature داشته باشند. چراغ های تاکیدی و نوارهای LED ممکن است فقط دارای طیف باشند، در حالی که برخی از لامپ های مطالعه فقط دارای دما هستند. لامپ های معمولی یا چراغ های گنگ روی دوشاخه های هوشمند هیچ کدام را ندارند.

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

صفت تعریف
colorModel اختیاری. برای نشان دادن ترجیح دستگاه برای مدل رنگی HSV (رنگ، ​​اشباع، مقدار) می توان آن را روی رشته hsv تنظیم کرد. پیش فرض rgb است.

نمونه درخواست و پاسخ 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.ColorSpectrum'
        ],
        name: {
          defaultNames: ['AAA bulb A19 color hyperglow'],
          name: 'lamp1',
          nicknames: ['reading lamp']
        },
        willReportState: true,
        attributes: {
          colorModel: 'rgb'
        },
        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.ColorSpectrum"
        ],
        "name": {
          "defaultNames": [
            "AAA bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": true,
        "attributes": {
          "colorModel": "rgb"
        },
        "deviceInfo": {
          "manufacturer": "AAA",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "dancing alpaca"
        }
      }
    ]
  }
}
اعتبار سنجی

وضعیت دستگاه

حالت تعریف
color هدف - شی. تنظیم رنگ فعلی از آنجایی که یک نور معین در حالت طیف یا دما است، این شیء شامل تنظیمات رنگ فعلی در حالت مربوطه می شود.
  • name رشته اگر نقطه رنگ (طیف یا دما) با نام از پیش تعیین شده در لیست رنگ شریک مطابقت دارد، نام را برگردانید.
  • spectrumRGB عدد صحیح مقدار طیف در RGB (مقدار هگز به عنوان یک عدد صحیح).

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

فرمان پارامترها/تعریف
action.devices.commands.ColorAbsolute آبجکت color ضروری. شامل RGB یا دما و به صورت اختیاری، یک نام است.
  • name رشته نام رنگ (به انگلیسی) همانطور که در دستور کاربر ارائه شده است. همیشه در دسترس نیست (برای دستورات نسبی).
  • spectrumRGB عدد صحیح مقدار طیف در RGB (مقدار هگز به عنوان یک عدد صحیح).

نمونه 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": "red",
            "spectrumRGB": 16711680
            }
          }
        }]
      }]
    }
  }]
}
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: 'red',
            spectrumRGB: 12655639
          }
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "color": {
            "name": "red",
            "spectrumRGB": 12655639
          }
        }
      }
    ]
  }
}
نمونه های دیگر فراخوانی شامل موارد زیر است:
  • چراغ های من را سبز کنید.
  • چراغ میز من را به قرمز تغییر دهید.