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 den Kühl- und Heiz-/Kühlmodus des Thermostats. number
Beispiel: 22.0

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

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

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

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

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

GET /enterprises/project-id/devices/device-id
{
  "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.

Wenn Sie beispielsweise den Befehl „SetHeat“ ausführen möchten, muss sich der Thermostat zuerst im Heizmodus befinden:

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

Für die Befehle zum Festlegen des Sollwerts kann nur Celsius als Parameter verwendet werden. Der Google Nest Thermostat kann die Temperatur jedoch in Celsius oder Fahrenheit anzeigen.

SetHeat

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

SetHeat-Anfrage und -Antwort

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

Anfragefelder für SetHeat

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

SetCool

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

SetCool-Anfrage und -Antwort

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

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

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

SetRange-Anfragefelder

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

In Bezug auf dieses Merkmal können die folgenden Fehlercodes zurückgegeben werden:

Fehlermeldung RPC Fehlerbehebung
Befehl ist im aktuellen Thermostatmodus nicht zulässig. FAILED_PRECONDITION Einige Thermostatmodelle unterstützen gemäß der Eigenschaft ThermostatMode nicht das Ändern des Eco-Modus, wenn der Thermostatmodus deaktiviert ist. Der Thermostatmodus muss auf „HEIZEN“, „KÜHLEN“ oder „HEIZEN/KÜHLEN“ gestellt sein, bevor der Eco-Modus geändert werden kann.
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.