Guide pour refroidisseurs d'air pour maison connectée

action.devices.types.AIRCOOLER : les refroidisseurs d'air sont des appareils permettant de contrôler la température et l'humidité. Ces appareils sont généralement plus légers et portables que les climatiseurs, et sont équipés d'un réservoir d'eau. Il est possible que les refroidisseurs d'air ne permettent pas de chauffer ou de régler des températures exactes. Si vous interagissez avec les refroidisseurs d'air, vous pouvez modifier les paramètres de vitesse et d'humidité du ventilateur.

Ce type indique que l'appareil reçoit l'icône Air Cooler, ainsi que des synonymes et alias associés.

Fonctionnalités de l'appareil

Reportez-vous à la documentation sur les caractéristiques correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit prendre en charge, et pour découvrir comment créer des réponses EXECUTE et QUERY.

Traits obligatoires

Ces caractéristiques et commandes sont requises, si applicables à votre appareil. Si votre appareil n'est pas compatible avec ces traits, saisissez le code d'erreur de functionNotSupported dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez la section Erreurs et exceptions.

Exigences de qualité

  • Latence:doit être inférieure ou égale à 1 000 ms.
  • Fiabilité:la valeur doit être supérieure ou égale à 97%.

Exemple d'appareil: climatisation simple

Cette section contient des exemples de charges utiles d'intent représentant un "refroidisseur d'air" courant en fonction du type d'appareil et des caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence pour refléter ces modifications.

Exemple de réponse SYNC

Demander
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.AIRCOOLER",
        "traits": [
          "action.devices.traits.FanSpeed",
          "action.devices.traits.HumiditySetting",
          "action.devices.traits.OnOff",
          "action.devices.traits.TemperatureSetting"
        ],
        "name": {
          "name": "Simple air cooler"
        },
        "willReportState": true,
        "attributes": {
          "humiditySetpointRange": {
            "minPercent": 0,
            "maxPercent": 50
          },
          "availableFanSpeeds": {
            "speeds": [
              {
                "speed_name": "off_key",
                "speed_values": [
                  {
                    "speed_synonym": [
                      "Off",
                      "0"
                    ],
                    "lang": "en"
                  }
                ]
              },
              {
                "speed_name": "low_key",
                "speed_values": [
                  {
                    "speed_synonym": [
                      "Low",
                      "1"
                    ],
                    "lang": "en"
                  }
                ]
              },
              {
                "speed_name": "medium_key",
                "speed_values": [
                  {
                    "speed_synonym": [
                      "Medium",
                      "2"
                    ],
                    "lang": "en"
                  }
                ]
              },
              {
                "speed_name": "high_key",
                "speed_values": [
                  {
                    "speed_synonym": [
                      "High",
                      "3"
                    ],
                    "lang": "en"
                  }
                ]
              }
            ],
            "ordered": true
          },
          "availableThermostatModes": [
            "off",
            "cool",
            "on",
            "fan-only",
            "eco"
          ],
          "thermostatTemperatureUnit": "C"
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Exemple de réponse QUERY

Demander
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "currentFanSpeedSetting": "low_key",
        "thermostatMode": "cool",
        "thermostatTemperatureAmbient": 25,
        "thermostatTemperatureSetpoint": 20,
        "humiditySetpointPercent": 15,
        "humidityAmbientPercent": 10
      }
    }
  }
}

Exemples de commandes EXECUTE

SetFanSpeed

Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur action.devices.traits.FanSpeed.

Demander
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetFanSpeed",
                "params": {
                  "fanSpeed": "high_key"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentFanSpeedSetting": "high_key"
        }
      }
    ]
  }
}

SetHumidity

Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur action.devices.traits.HumiditySetting.

Demander
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetHumidity",
                "params": {
                  "humidity": 20
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "humiditySetpointPercent": 20,
          "humidityAmbientPercent": 10
        }
      }
    ]
  }
}

OnOff

Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur action.devices.traits.OnOff.

Demander
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

ThermostatTemperatureSetpoint

Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur action.devices.traits.TemperatureSetting.

Demander
{
  "requestId": "6894439706274654522",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetpoint",
                "params": {
                  "thermostatTemperatureSetpoint": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "cool",
          "thermostatTemperatureSetpoint": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

ThermostatSetMode

Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur action.devices.traits.TemperatureSetting.

Demander
{
  "requestId": "6894439706274654524",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatSetMode",
                "params": {
                  "thermostatMode": "cool"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Réponse
{
  "requestId": "6894439706274654524",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "cool",
          "thermostatTemperatureSetpoint": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.