![](https://developers.google.cn/nest/device-access/images/device-thermostat.png?authuser=19&hl=fr)
Tous les Google Nest Thermostat modèles de ML sont compatibles de l'API Smart Device Management (SDM). Ces appareils renvoient le thermostat type d'appareil:
sdm.devices.types.THERMOSTAT
Caractéristiques
Référence
Les traits, commandes ou événements suivants sont liés à ce groupe:
Trait | Description | Commandes |
---|---|---|
Connectivité | Cette caractéristique appartient à tout appareil disposant d'informations de connectivité. | |
Fan | Cette caractéristique appartient à tout appareil capable de contrôler le ventilateur. | SetTimer |
Humidité | Cette caractéristique appartient à tout appareil équipé d'un capteur pour mesurer l'humidité. | |
Infos | Cette caractéristique appartient à n'importe quel appareil pour les informations liées aux appareils. | |
Paramètres | Cette caractéristique appartient à n'importe quel appareil pour les informations sur les paramètres liés à l'appareil. | |
Température | Cette caractéristique appartient à tout appareil équipé d'un capteur pour mesurer la température. | |
ThermostatEco | Cette caractéristique appartient aux types d'appareils du thermostat thermostat qui prennent en charge les modes ÉCO. | SetMode |
ThermostatHvac | Cette caractéristique fait partie des types d'appareils du THEmostAT qui peuvent fournir des informations sur le système CVC. | |
ThermostatMode | Cette caractéristique appartient aux types d'appareils du thermostat thermostat qui sont compatibles avec différents modes de thermostat. | SetMode |
ThermostatTemperatureSetpoint | Cette caractéristique appartient aux types d'appareils du thermostat thermostat qui permettent de définir la température de consigne et la plage de températures. | SetHeat SetCool SetRange |
JSON
L'absence de caractéristique dans une réponse GET indique que la caractéristique ou fonctionnalité n'est actuellement pas disponible pour l'appareil. Voir Types d'appareils des informations.
{ "type" : "sdm.devices.types.THERMOSTAT", "traits" : { "sdm.devices.traits.Connectivity" : { "status" : "ONLINE" }, "sdm.devices.traits.Fan" : { "timerMode" : "ON", "timerTimeout" : "2019-05-10T03:22:54Z" }, "sdm.devices.traits.Humidity" : { "ambientHumidityPercent" : 35.0 }, "sdm.devices.traits.Info" : { "customName" : "My device" }, "sdm.devices.traits.Settings" : { "temperatureScale" : "CELSIUS" }, "sdm.devices.traits.Temperature" : { "ambientTemperatureCelsius" : 23.0 }, "sdm.devices.traits.ThermostatEco" : { "availableModes" : ["MANUAL_ECO", "OFF"], "mode" : "MANUAL_ECO", "heatCelsius" : 20.0, "coolCelsius" : 22.0 }, "sdm.devices.traits.ThermostatHvac" : { "status" : "HEATING" }, "sdm.devices.traits.ThermostatMode" : { "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"], "mode" : "COOL" }, "sdm.devices.traits.ThermostatTemperatureSetpoint" : { "heatCelsius" : 20.0, "coolCelsius" : 22.0 } } }
Température et humidité
Pour lire la température ambiante du thermostat, utilisez le bouton caractéristique detempérature . L'ambiance est mesurée sur l'appareil.
Pour lire l'humidité ambiante du thermostat, utilisez le CaractéristiqueHumidité . L'ambiance l'humidité est mesurée au niveau de l'appareil.
Échelle de température
Le Google Nest Thermostat peut afficher la température en degrés Celsius ou Fahrenheit, mais l'échelle ne peut pas être définie par l'API SDM. Pour déterminer l'échelle de température actuellement définie par l'utilisateur, utilisez caractéristique deparamètres .
Changer de mode
Le mode du thermostat est géré par deux caractéristiques différentes: ThermostatMode and ThermostatEco.
Modes standards
Pour définir le mode du thermostat sur CHAUFFAGE, CLIM ou CHAUFFAGE, utilisez la commande SetMode de la caractéristique ThermostatMode.
Cette commande peut également être utilisée pour désactiver le mode du thermostat. Il ne peut pas être utilisé pour transformer en mode Éco.Par exemple, pour changer le mode standard d'un thermostat:
Requête
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode
",
"params" : {
"mode" : "HEAT"
}
}
Réponse
{}
Mode Éco
Pour activer le mode Éco, utilisez le mode MANUAL_ECO avec la Commande SetMode de la caractéristique ThermostatEco:
Requête
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatEco.SetMode
",
"params" : {
"mode" : "MANUAL_ECO"
}
}
Réponse
{}
Cette commande a une incidence sur d'autres caractéristiques, en fonction de l'état actuel du mode Éco ou de ses changements:
- Si le mode Éco est désactivé, le dernier mode standard activé (CHAUFFAGE, CLIM., CHAUFFAGE ou ÉTEINDRE) est activé par défaut.
- Si le mode Éco est défini sur MANUAL_ECO:
- Les commandes pour la caractéristique ThermostatTemperatureSetpoint sont refusées.
- Les températures mémorisées ne sont pas renvoyées par la caractéristique ThermostatTemperatureSetpoint .
Modifier les températures mémorisées
Les températures mémorisées ne peuvent être modifiées que lorsque le thermostat est en mode CHAUFFAGE, CLIM ou CHAUFFAGE les températures mémorisées autorisées correspondent au mode actuel du thermostat. Température les températures mémorisées ne peuvent pas être modifiées lorsque le mode est désactivé ou lorsque Le mode Éco est réglé sur MANUAL_ECO.
Le thermostat doit être sur le mode correspondant à la commande appelée les températures mémorisées. La commande et les champs permettant de modifier les températures mémorisées varient selon le thermostat. .
Par exemple, pour émettre le SetHeat le thermostat doit d'abord être en mode CHAUFFAGE:
Mode | Commande | Champ(s) |
---|---|---|
AUXILIAIRE | SetHeat | heatCelsius |
CLIMATISATION | SetCool | coolCelsius |
CHAUFFAGE | SetRange | heatCelsius , coolCelsius |
Notez que le paramètre des commandes de température mémorisée n'accepte que les degrés Celsius. Le Google Nest Thermostat peut afficher la température en degrés Celsius ou Fahrenheit.
Par exemple, pour modifier la température mémorisée lorsque le thermostat est CHAUFFAGE, utilisez le Commande SetHeat de la caractéristique "ThermostatTemperatureSetpoint" :
Requête
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat
",
"params" : {
"heatCelsius" : 22.0
}
}
Réponse
{}
Températures mémorisées en mode Éco
Les températures mémorisées heatCelsius
et coolCelsius
renvoyées par le
Les caractéristiques ThermostatEco sont définies par l'utilisateur.
ne peuvent pas être modifiés via l'API SDM.
Allumer ou éteindre le ventilateur
Si le thermostat est compatible avec un ventilateur, utilisez la commande SetTimer de la caractéristique "Ventilateur" pour l'activer ou le désactiver. Lors de l'allumage, vous pouvez spécifier la durée d'activation du ventilateur, en secondes.
Par exemple, pour activer le ventilateur pendant une heure:
Requête
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.Fan.SetTimer
",
"params" : {
"timerMode" : "ON",
"duration" : "3600s"
}
}
Réponse
{}
Si le champ duration
est omis, le ventilateur fonctionnera pendant la durée par défaut de 15 heures.
minutes.
Vérifier la connectivité de l'appareil
Si l'appareil ne répond pas aux commandes ou n'envoie pas d'événements, ou si vous recevez les erreurs de l'API liées à l'appareil, utilisez le Fonctionnalité de connectivité pour vérifier la connectivité de l'appareil pour l'état HORS CONNEXION. Vérifiez l'état à Internet et vérifiez que le Nest Protect le service est opérationnel.
Si vous avez activé les événements, vous devez également avoir reçu un événement de ressource indiquant que l'appareil est hors connexion:
Charge utile
{
"eventId" : "0cb5bc58-0efd-4c2e-a00b-1403ffaf8c27",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : {
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.Connectivity
" : {
"status" : "OFFLINE"
}
}
},
"userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [
"enterprises/project-id/devices/device-id"
]
}
Réagir aux événements sur l'appareil
Toute modification apportée à un champ de caractéristique génère un événement.
Par exemple, vous devez obtenir
l'événement resourceUpdate
suivant si le système CVC du thermostat
état passé à CHAUFFAGE:
Charge utile
{
"eventId" : "94088ed1-1e7b-4b40-84bc-efedf88f7bd0",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : {
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatHvac
" : {
"status" : "HEATING"
}
}
},
"userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [
"enterprises/project-id/devices/device-id"
]
}
Les événements sont déclenchés pour toutes les caractéristiques associées à ce type d'appareil. Activer les événements si vous devez réagir d'une manière ou d'une autre dans le cadre d'une intégration.
Planification des événements
Notez qu'il est possible qu'un événement lié à un changement d'état du système CVC ne soit pas diffusé en même temps que les événements pour changer le mode du thermostat.
Par exemple, il y a parfois a de démarrage du thermostat en mode chauffage ou climatisation pour protéger le système CVC du système d'exploitation. Dans ce cas, le changement de mode du thermostat risque de n'envoyer initialement des événements ThermostatMode and Modification de la caractéristique ThermostatTemperatureSetpoint La modification de la caractéristique ThermostatHvac est envoyée ultérieurement en tant que une fois que le système s'allume. En l'absence de retard d'activation du système CVC, trois événements sont envoyés en même temps.
Erreurs
Le ou les codes d'erreur suivants peuvent s'afficher pour cet appareil:
Message d'erreur | RPC | Dépannage |
---|---|---|
La valeur de climatisation doit être supérieure à la valeur de chauffage. | INVALID_ARGUMENT |
Assurez-vous que le champ heatCelsius est inférieur au champ coolCelsius de votre commande. |
Commande non autorisée en mode thermostat actuel. | FAILED_PRECONDITION |
Certains modèles de thermostat ne permettent pas de changer le mode Éco lorsque le thermostat est désactivé, conformément à la caractéristique Mode Thermostat . Vous devez changer le mode du thermostat sur CHAUFFAGE, CLIM ou CHAUFFAGE avant d'activer le mode Éco. |
Ventilateur du thermostat indisponible. | FAILED_PRECONDITION |
Le thermostat n'est pas équipé d'un ventilateur. Impossible d'utiliser les fonctionnalités et commandes liées aux fans sur cet appareil. |
Commande non autorisée lorsque le thermostat est en mode MANUAL_ECO. | FAILED_PRECONDITION |
Impossible de régler la température mémorisée lorsque le thermostat est en mode Éco manuel. |
Consultez la documentation de référence sur les codes d'erreur de l'API pour la liste complète des codes d'erreur de l'API.