Leitfaden für Smart Home-Thermostate
action.devices.types.THERMOSTAT – Thermostate sind Geräte zur Temperaturregelung mit Sollwerten und Modi. Dadurch unterscheiden sie sich von Heizungen und Klimaanlagen, die möglicherweise nur Modi und Einstellungen (z. B. hoch/niedrig) anstelle eines Temperaturziels haben.
Dieser Typ gibt an, dass das Gerät das Thermostatsymbol und einige zugehörige Synonyme und Aliase erhält.
Geräte dieses Typs steuern die Temperatur. Einige Heiz-/Kühlgeräte für Räume haben dagegen andere Steuerelemente und High/Low-Modi, aber keine Temperaturregelung.Gerätefunktionen
In der entsprechenden Trait-Dokumentation finden Sie Implementierungsdetails wie Attribute und Status, die Ihr Dienst unterstützen sollte, und Informationen zum Erstellen von EXECUTE- und QUERY-Antworten.
Erforderliche Merkmale
Diese Merkmale und Befehle sind erforderlich, sofern sie für Ihr Gerät zutreffen. Wenn dein Gerät diese Merkmale nicht unterstützt, gib den Fehlercode functionNotSupported in einer QUERY- oder EXECUTE-Antwort ein. Weitere Informationen finden Sie unter Fehler und Ausnahmen.
Thermostatbefehle werden häufig in EXECUTE-Intents verkettet. Wenn ein Nutzer sagt: *Stelle die Heizung auf 22 Grad*, wird ein Modusbefehl gefolgt von einer Temperatureinstellung generiert.
Beispielgerät: Einfacher Thermostat
Dieser Abschnitt enthält Beispielnutzlasten für Intents, die ein gängiges „Thermostat“ basierend auf dem Gerätetyp und den oben genannten Attributen darstellen. Wenn Sie Ihrer Implementierung Attribute hinzufügen oder daraus entfernen, müssen Sie Ihre Antworten entsprechend anpassen.
Beispiel für eine SYNC-Antwort
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.THERMOSTAT", "traits": [ "action.devices.traits.TemperatureSetting" ], "name": { "name": "Simple thermostat" }, "willReportState": true, "attributes": { "availableThermostatModes": [ "off", "heat", "cool", "heatcool", "on" ], "thermostatTemperatureRange": { "minThresholdCelsius": 15, "maxThresholdCelsius": 30 }, "thermostatTemperatureUnit": "F" }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Beispiel für eine QUERY-Antwort
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 23, "thermostatTemperatureAmbient": 25.1, "thermostatHumidityAmbient": 45.3 } } } }
Beispiel für EXECUTE-Befehle
ThermostatTemperatureSetpoint
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.TemperatureSetting.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetpoint", "params": { "thermostatTemperatureSetpoint": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatTemperatureSetRange
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.TemperatureSetting.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetRange", "params": { "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heatcool", "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatSetMode
Weitere Informationen zu den Befehlsparametern finden Sie in der
Referenz zu action.devices.traits.TemperatureSetting.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatSetMode", "params": { "thermostatMode": "heatcool" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heatcool", "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
GERÄTEFEHLER
Vollständige Liste der Fehler und AusnahmeninHeatOrCool– Die Befehle „Heizen“, „Kühlen“ oder „Bereich“ sind fehlgeschlagen, weil sich das Gerät im expliziten Heiz- oder Kühlmodus befindet.inHeatCool– Befehle zum Heizen oder Kühlen sind fehlgeschlagen, weil sich das Gerät im Heiz- oder Kühlmodus befindet.lockedToRange– Das Gerät ist auf einen Temperaturbereich oder Modus eingestellt und die angeforderte Änderung kann nicht vorgenommen werden.rangeTooClose– Die Temperaturpunkte in einem Heiz-/Kühlbereich liegen zu nah beieinander.