Akıllı Ev Renk Sıcaklığı Özelliği Şeması

action.devices.traits.ColorTemperature - Bu özellik, renk sıcaklığını ayarlayabilen tüm cihazlara aittir.

Bu durum, Kelvin cinsinden bir renk noktası alan "sıcak" ampuller için geçerlidir. Bu genellikle ColorSpectrum'dan ayrı bir yöntemdir ve Spectrum tarafından erişilemeyen Sıcaklık aracılığıyla kullanılabilen beyaz noktalar olabilir. Mevcut özelliklere bağlı olarak Google, isteğe ve ışık türüne göre kullanılacak uygun modu seçebilir (örneğin, Salon ışıklarını beyaz yap seçeneği bazı ampullere sıcaklık komutları, LED şeritlerine Spectrum komutları gönderebilir).

Cihaz ATTRIBUTES

Özellik Tanım
temperatureMinK İsteğe bağlı. temperatureMaxK ayarlandıysa gereklidir. Işığın desteklediği minimum renk sıcaklığı (Kelvin cinsinden).
temperatureMaxK İsteğe bağlı. temperatureMinK ayarlandıysa gereklidir. Işığın desteklediği maksimum renk sıcaklığı (Kelvin cinsinden).

Ö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.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"
        }
      }
    ]
  }
}
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.
  • temperature Tam sayı. Kelvin cinsinden renk sıcaklığı.

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

Şu anki ışık rengi sıcaklığım nedir?
İstek
{
  "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"
      }
    }
  }
}

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).
  • temperature Tam sayı. Kelvin cinsinden renk sıcaklığı.

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

Işığımı yumuşak beyaza 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": "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
          }
        }
      }
    ]
  }
}