ThermostatTemperatureSetpoint-Schema

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

Diese Eigenschaft gehört zu Gerätetypen vom Typ THERMOSTAT, die die Einstellung der Zieltemperatur und des Temperaturbereichs unterstützen.

Felder

Feld Beschreibung Datentyp
heatCelsius Zieltemperatur in Celsius für die Modi „HEAT“ (Heizen) und „HEATCOOL“ (Heizen/Kühlen) des Thermostats. number
Beispiel: 20.0
coolCelsius Zieltemperatur in Celsius für die Modi „Kühlen“ und „Heizen/Kühlen“ des Thermostats. number
Beispiel: 22.0

Beispiel für eine GET-Anfrage und -Antwort – HEAT

Anfrage

GET /enterprises/project-id/devices/device-id

Antwort

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
    }
  }
}

Beispiel für eine GET-Anfrage und -Antwort: COOL

Anfrage

GET /enterprises/project-id/devices/device-id

Antwort

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "coolCelsius" : 22.0
    }
  }
}

Beispiel für eine GET-Anfrage und ‑Antwort – HEATCOOL

Anfrage

GET /enterprises/project-id/devices/device-id

Antwort

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  }
}

Befehle

Der Thermostat muss sich im Modus befinden, der dem aufgerufenen Befehl entspricht, bevor die Temperatursollwerte geändert werden. Der Befehl und die Felder zum Ändern der Sollwerte variieren je nach Thermostatmodus.

Um beispielsweise den Befehl „SetHeat“ auszugeben, muss sich der Thermostat zuerst im Heizmodus befinden:

Modus Befehl Feld(er)
HEIZUNG SetHeat heatCelsius
KÜHLEN SetCool coolCelsius
HEATCOOL SetRange heatCelsius, coolCelsius

Beachte, dass die Sollwertbefehle als Parameter nur Grad in Celsius annehmen. Der Google Nest Thermostat kann die Temperatur aber entweder in Grad Celsius oder Fahrenheit anzeigen.

SetHeat

Legt die Zieltemperatur fest, wenn sich der Thermostat im Modus „Heizen“ befindet.

SetHeat-Anfrage und -Antwort

Anfrage

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
  "params" : {
    "heatCelsius" : 22.0
  }
}

Antwort

{}

Anfragefelder für SetHeat

Feld Beschreibung Datentyp
heatCelsius Die Zieltemperatur, die eingestellt werden soll, wenn sich der Thermostat im Heizmodus befindet. number
Beispiel: 22.0

SetCool

Legt die Zieltemperatur fest, wenn sich der Thermostat im Modus „Kühlen“ befindet.

SetCool-Anfrage und -Antwort

Anfrage

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetCool",
  "params" : {
    "coolCelsius" : 20.0
  }
}

Antwort

{}

SetCool-Anfragefelder

Feld Beschreibung Datentyp
coolCelsius Die Zieltemperatur, die eingestellt werden soll, wenn sich der Thermostat im Kühlmodus befindet. number
Beispiel: 20.0

SetRange

Legt die Mindest- und Höchsttemperaturen fest, wenn sich der Thermostat im Modus „HEIZEN/KÜHLEN“ befindet.

SetRange-Anfrage und -Antwort

Anfrage

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange",
  "params" : {
    "heatCelsius" : 20.0,
    "coolCelsius" : 22.0
  }
}

Antwort

{}

Anfragefelder für SetRange

Feld Beschreibung Datentyp
heatCelsius Die minimale Zieltemperatur, die eingestellt werden soll, wenn sich der Thermostat im Modus „HEATCOOL“ befindet. number
Beispiel: 20.0
coolCelsius Die maximale Zieltemperatur, die eingestellt werden kann, wenn sich der Thermostat im Modus „HEATCOOL“ befindet. number
Beispiel: 22.0

Fehler

Die folgenden Fehlercodes können in Bezug auf dieses Merkmal zurückgegeben werden:

Fehlermeldung RPC Fehlerbehebung
Befehl ist im aktuellen Thermostatmodus nicht zulässig. FAILED_PRECONDITION Einige Thermostatmodelle unterstützen laut dem Attribut ThermostatMode nicht, den Eco-Modus zu ändern, wenn der Thermostatmodus deaktiviert ist. Der Modus des Thermostats muss vor dem Ändern des Eco-Modus in HEIZEN, KÜHLEN oder HEIZEN geändert werden.
Der Wert für „Kühlen“ muss größer als der Wert für „Heizen“ sein. INVALID_ARGUMENT Das Feld heatCelsius muss im Befehl kleiner als das Feld coolCelsius sein.
Befehl nicht zulässig, wenn sich der Thermostat im Modus „MANUAL_ECO“ befindet. FAILED_PRECONDITION Der Temperatursollwert kann nicht festgelegt werden, wenn sich der Thermostat im manuellen Eco-Modus befindet.

Eine vollständige Liste der API-Fehlercodes findest du in der API-Fehlercode-Referenz.