Smart-Home-Thermostat-Leitfaden
action.devices.types.THERMOSTAT
– Thermostate sind temperaturregulierende Geräte mit festgelegten Punkten und Modi. Dadurch werden sie von Heizkörpern und Klimaanlagen getrennt. Sie können nur Modi und Einstellungen (z. B. hoch/niedrig) gegenüber einem Temperaturziel haben.
Dieser Typ gibt an, dass das Gerät das Thermostatsymbol und einige zugehörige Synonyme und Aliasse hat.
Geräte dieses Typs steuern die Temperatur, während einige Heiz- und Kühleinheiten unterschiedliche Einstellungen und einen hohen/niedrigen Modus haben, jedoch keine Temperatureinstellungen.Gerätefunktionen
In der entsprechenden Trat-Dokumentation finden Sie Details zur Implementierung, z. B. Attribute und Status, die Ihr Dienst unterstützen sollte, und das Erstellen von EXECUTE- und QUERY-Antworten.
Erforderliche Merkmale
Diese Eigenschaften und Befehle sind gegebenenfalls für Ihr Gerät erforderlich.
Thermostat-Befehle sind in EXECUTE
-Intents häufig verkettet. Ein Nutzer mit dem Text *Set the heat to 72* (Heizen auf 72 einstellen) erzeugt einen Modusbefehl gefolgt von einer festgelegten Temperatur.
Qualitätsanforderungen
- Latenz muss kleiner oder gleich 700 ms sein.
- Zuverlässigkeit muss mindestens 97% betragen.
Beispielgerät: Einfacher Thermostat
Dieser Abschnitt enthält Intent-Nutzlasten, die je nach Gerätetyp und Merkmalen oben einen gemeinsamen "Thermostat" darstellen. Wenn du in deiner Implementierung Merkmale hinzufügst oder entfernst, ändere deine Antworten entsprechend.
SYNC-Beispielantwort
{ "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" } } ] } }
QUERY-Beispielantwort
{ "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 } } } }
Beispiele für EXECUTE-Befehle
ThermostatTemperaturEinstellen
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 } } ] } }
ThermostatTemperaturSetRange
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 (Modus festlegen)
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ät ERRORS
Vollständige Liste der Fehler und AusnahmeninHeatOrCool
: Die Befehle „Heizen“, „Kühlen“ und „Bereichen“ sind fehlgeschlagen, weil sich das Gerät im Modus „Heizen oder Kühlen“ befindet.inHeatCool
: Die Befehle „Heizen“ und „Kühlen“ sind fehlgeschlagen, weil das Gerät heiß oder kühl ist.lockedToRange
: Das Gerät ist auf einen Temperaturbereich oder Modus gesperrt und die angeforderte Änderung kann nicht vorgenommen werden.rangeTooClose
: Die Temperaturpunkte in einem Heizbereich liegen zu nahe aneinander.