Anleitung für Smart-Home-Thermostate
action.devices.types.THERMOSTAT
– Thermostate steuern die Temperatur mit Sollwerten und Modi. Dadurch werden sie von Heizungen und Klimaanlagen getrennt, die möglicherweise nur Modi und Einstellungen (z. B. hoch/niedrig) oder ein Temperaturziel haben.
Dieser Typ gibt an, dass das Gerät das Thermostat-Symbol und einige zugehörige Synonyme und Aliasse.
Geräte dieses Typs regeln die Temperatur, während einige Heiz-/Kühlraumeinheiten unterschiedliche und die hohen/niedrigen Modi, nicht aber die Temperatursteuerung.Gerätefunktionen
Weitere Informationen finden Sie in der entsprechenden Dokumentation Implementierungsdetails wie Attribute und Angaben, die Ihr Dienst unterstützen soll, und wie Sie EXECUTE- und QUERY-Antworten erstellen.
Erforderliche Merkmale
Diese Traits und Befehle sind erforderlich, sofern auf Ihre
. Wenn dein Gerät diese Traits nicht unterstützt, gib den Fehlercode ein:
functionNotSupported
in einer QUERY- oder EXECUTE-Antwort. Weitere Informationen finden Sie unter
Fehler und Ausnahmen.
Thermostatbefehle werden häufig in EXECUTE
-Intents verkettet. Nutzende, die
sagt *Stell die Heizung auf 21 Grad*, wird ein Modus-Befehl gefolgt von einer Temperatureinstellung generiert.
Qualitätsanforderungen
- Latenz:muss kleiner oder gleich 700 ms sein.
- Zuverlässigkeit:Muss größer oder gleich 97% sein.
Beispielgerät: Einfacher Thermostat
Dieser Abschnitt enthält Beispiele für Intent-Nutzlasten, die einen gemeinsamen „Thermostat“ darstellen basierend auf dem Gerätetyp und den oben genannten Merkmalen. Wenn Sie in Ihrer Implementierung Tragen hinzufügen oder entfernen, und passen Sie Ihre Antworten entsprechend an.
Beispiel für SYNC-Antwort
<ph type="x-smartling-placeholder">{ "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
<ph type="x-smartling-placeholder">{ "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
ThermostatTemperatureSetpoint
Weitere Informationen zu den Befehlsparametern
Siehe
action.devices.traits.TemperatureSetting
.
Referenz.
{ "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
Siehe
action.devices.traits.TemperatureSetting
.
Referenz.
{ "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
Siehe
action.devices.traits.TemperatureSetting
.
Referenz.
{ "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 Ausnahmen.inHeatOrCool
– Befehle zum Heizen/Kühlen/Bereichen sind fehlgeschlagen, weil das Gerät in explizite Wärme oder Kühlung.inHeatCool
– Die Befehle „Heizen“ oder „Kühlen“ sind fehlgeschlagen, weil das Gerät geheizt ist oder cool.lockedToRange
– Das Gerät ist auf einen Temperaturbereich oder -modus festgelegt und die Die angeforderte Änderung kann nicht vorgenommen werden.rangeTooClose
: Die Temperaturpunkte eines Heiz-/Kühlbereichs liegen zu nahe an sich gegenseitig helfen.