Akıllı ev işlemlerinin nasıl geliştirileceğini öğrenebileceğiniz yeni adres olan Google Home Geliştirici Merkezi'ne hoş geldiniz. Not: Actions Console'da işlem derlemeye devam edersiniz.

Smart Home ColorSpectrum Trait Şeması

action.devices.traits.ColorSpectrum: Bu özellik, renk spektrumu ayarlayabilen tüm cihazlara aittir. Bu, RGB renk aralıklarını alan "tam" renk ampulleri için geçerlidir. Işıklarda ColorSpectrum ve ColorTemperature herhangi bir kombinasyonu bulunabilir. Aksan lambalar ve LED'li bantlarda yalnızca Spectrum olabilir. Bazı okuma ampüllerinde ise yalnızca sıcaklık vardır. Temel ampuller veya akıllı prizlerdeki hareketsiz ışıklar da 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 SYNC İ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 STATUS

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

Cihaz Komisyonları

Komut Parametreler/Tanımlar
action.devices.commands.ColorAbsolute color Nesne. Zorunlu. RGB veya sıcaklık ve isteğe bağlı olarak bir ad içerir.
  • name Dizesi. Kullanıcının komutunda sağlanan 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ı yap.
İ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 örnek çağrılar aşağıdakileri içerir:
  • Işıklarımı yeşile ayarla.
  • Masa lambamı kırmızı olarak değiştir.