Bienvenue dans le Centre des développeurs Google Home, la nouvelle destination pour apprendre à développer des actions pour la maison connectée. Remarque : Vous continuerez à créer des actions dans la console Actions.
Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Schéma Trait de couleur ColorSpectrum pour la maison connectée

action.devices.traits.ColorSpectrum : cette caractéristique appartient à tout appareil capable de définir un spectre de couleurs. Cela s'applique aux ampoules "complètes" qui acceptent des plages de couleurs RVB. Les lumières peuvent combiner n'importe quelle combinaison de couleurs ColorSpectrum et ColorTempérature. Les voyants d'accentuation et les bandes LED peuvent être équipés de Spectrum, tandis que certaines ampoules de lecture n'acceptent que la température. Les ampoules de base (ou les ampoules intelligentes) ne sont pas équipées.

Appareil : ATTRIBUTES

Attribut Définition
colorModel Facultatif. Peut être défini sur la chaîne hsv pour indiquer la préférence d'appareil pour le modèle de couleur HSV (teinte, saturation, valeur). La valeur par défaut est rgb.

Exemple de requête et de réponse SYNC

Demande
{
    "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"
        }
      }
    ]
  }
}
Validateur

Appareil : STATES

State Définition
color Objet. Paramètre de couleur actuel. Étant donné qu'une lumière donnée est en mode spectre OU température, cet objet inclut les paramètres de couleur actuels dans le mode approprié.
  • Chaîne name. Si le point de couleur (spectre ou température) correspond à un nom prédéfini de la liste de couleurs du partenaire, renvoyez le nom.
  • spectrumRGB Entier. Valeur du spectre en RVB (valeur hexadécimale sous forme d'entier).

Appareil COMMANDS

Commande Paramètres/Définition
action.devices.commands.ColorAbsolute Objet color. Obligatoire. Inclut la température RVB ou la température, et éventuellement un nom.
  • Chaîne name. Nom de la couleur (en anglais) fourni dans la commande de l'utilisateur. Pas toujours disponible (pour les commandes relatives).
  • spectrumRGB Entier. Valeur du spectre en RVB (valeur hexadécimale sous forme d'entier).

Exemple de requête et de réponse EXECUTE

Règle le voyant sur rouge.
Demande
{
  "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
          }
        }
      }
    ]
  }
}
Voici d'autres appels :
  • Règle le voyant sur vert.
  • Règle la lampe de bureau en rouge.