Anleitung für smarte 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 Attribute und Befehle sind erforderlich, sofern sie für dein Gerät gelten. 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 ein“, wird ein Modusbefehl gefolgt von einer Temperatureinstellung generiert.
Beispielgerät: Einfacher Thermostat
Dieser Abschnitt enthält Beispiel-Intent-Nutzlasten für ein gängiges „Thermostat“ basierend auf dem Gerätetyp und den oben genannten Attributen. 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 } } } }
Beispielbefehle für EXECUTE
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 für einen Temperaturbereich oder Modus gesperrt und die angeforderte Änderung kann nicht vorgenommen werden.rangeTooClose– Die Temperaturpunkte in einem Heiz-/Kühlbereich liegen zu nah beieinander.