مخطط سمة ColorSpectrum للمنزل المزوّد بأجهزة ذكية

action.devices.traits.ColorSpectrum - تنتمي هذه السمة إلى أي جهاز قادر على ضبط طيف ألوان. ينطبق هذا على المصابيح ذات الألوان "الكاملة" التي تأخذ نطاقات ألوان RGB. قد تتضمّن الإضاءة أي مجموعة من ColorSpectrum وColorTemperature. قد تكون المصابيح المزينة وأشرطة LED مزوّدة بـ Spectrum فقط، في حين أن بعض مصابيح القراءة تشتمل على درجة الحرارة فقط. والمصابيح الأساسية أو الأضواء الخافتة في المقابس الذكية لا تحتوي على أي منهما.

سمات الجهاز

السمة التعريف
colorModel اختياريّ. يمكن ضبطها على السلسلة hsv للإشارة إلى الجهاز المفضّل استخدامه لنموذج الألوان HSV (تدرج اللون والتشبّع والقيمة). الإعداد التلقائي هو rgb.

نموذج طلب المزامنة والاستجابة

طلب
{
    "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). قيمة الطيف بنموذج أحمر أخضر أزرق (قيمة سداسية كعدد صحيح).

مفاتيح الجهاز

Command المَعلمات/التعريف
action.devices.commands.ColorAbsolute كائن color. مطلوبة. ستتضمّن نموذج أحمر أخضر أزرق أو درجة الحرارة، ويمكنك اختيار اسم.
  • سلسلة name اسم اللون (باللغة الإنجليزية) كما هو مقدَّم في طلب المستخدم. غير متوفر دائمًا (للأوامر النسبية).
  • عدد صحيح واحد (spectrumRGB). قيمة الطيف بنموذج أحمر أخضر أزرق (قيمة سداسية كعدد صحيح).

نموذج لطلب وردّ التنفيذ

ضبط المصباح على اللون الأحمر
طلب
{
  "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
          }
        }
      }
    ]
  }
}
تشمل أمثلة الاستدعاءات الأخرى ما يلي:
  • ضبط مصابيحي على اللون الأخضر
  • أريد تغيير لون المصباح المكتبي إلى الأحمر.