Akıllı Ev ColorSpectrum Trait Şeması

action.devices.traits.ColorSpectrum - Bu özellik, renk spektrumu ayarlayabilen tüm cihazlara aittir. Bu, RGB renk aralıkları alan "tam" renkli ampuller için geçerlidir. Işıklar, ColorSpectrum ve ColorTemperature ürünlerinin herhangi bir kombinasyonuna sahip olabilir. Vurgu ışıkları ve LED şeritlerinde yalnızca Spectrum bulunurken bazı okuma ampullerinde yalnızca Sıcaklık özelliği vardır. Sade ampullerin veya akıllı prizlerdeki sabit olmayan ampullerin ikisi de yoktur.

Cihaz ATTRIBUTES

Özellik Tanım
colorModel İsteğe bağlı. HSV (ton, doygunluk, değer) renk modeli için cihaz tercihini belirtmek üzere hsv dizesine ayarlanabilir. Varsayılan değer: rgb.

Örnek Senkronizasyon İsteği ve Yanıtı

İstek
{
    "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"
        }
      }
    ]
  }
}
Doğrulayıcı

Cihaz STATES

Eyalet Tanım
color Nesne. Geçerli renk ayarı. Belirli bir ışık spektrum VEYA sıcaklık modunda olduğu için bu nesne, ilgili moddaki mevcut renk ayarlarını içerir.
  • name Dizesi. Renk noktası (Spektrum veya Sıcaklık), iş ortağının renk listesindeki bir hazır ayar adıyla eşleşirse adı döndürün.
  • spectrumRGB Tam sayı. RGB cinsinden spektrum değeri (tam sayı olarak onaltılık değer).

Cihaz COMMANDS

Komut Parametreler/Tanım
action.devices.commands.ColorAbsolute color Nesnesi. Zorunlu. RGB veya Sıcaklık bilgilerini ve isteğe bağlı olarak bir ad içerir.
  • name Dizesi. Kullanıcının komutunda belirtildiği şekilde renk adı (İngilizce). Her zaman kullanılamaz (göreli komutlar için).
  • spectrumRGB Tam sayı. RGB cinsinden spektrum değeri (tam sayı olarak onaltılık değer).

Örnek Yürütme İsteği ve Yanıtı

Işıkımı kırmızıya ayarla.
İstek
{
  "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
          }
        }
      }
    ]
  }
}
Diğer çağrı örnekleri arasında aşağıdakiler yer alır:
  • Işıklarımı yeşile ayarla.
  • Masa lambamı kırmızı yap.