Termostat

Tüm Google Nest Thermostat modellerin desteklendiği Smart Device Management (SDM) API. Bu cihazlar TERgiriş işlevini döndürür. cihaz türü:

sdm.devices.types.THERMOSTAT

Özellikler

Referans

Aşağıdaki özellikler, komutlar veya etkinlikler bu grupla ilgilidir:

ÖzellikAçıklamaKomutlar
BağlantıBu özellik, bağlantı bilgilerine sahip tüm cihazlara aittir.
TakipçiBu özellik, fanı kontrol edebilen sisteme sahip tüm cihazlara aittir.SetTimer
NemBu özellik, nemi ölçen sensöre sahip tüm cihazlara aittir.
BilgiBu özellik, cihazla ilgili bilgiler için herhangi bir cihaza aittir.
AyarlarBu özellik, cihazla ilgili ayar bilgileri için herhangi bir cihaza aittir.
SıcaklıkBu özellik, sıcaklığı ölçen sensöre sahip tüm cihazlara aittir.
ThermostatEcoBu özellik, ECO modlarını destekleyen TERÖZET cihaz türlerine aittir.SetMode
ThermostatHvacBu özellik, ısıtma, havalandırma ve soğutma ayrıntılarını raporlayabilen TERgiriş sistemlerine aittir.
ThermostatModeBu özellik, farklı termostat modlarını destekleyen TERÖZET cihaz türlerine aittir.SetMode
ThermostatTemperatureSetpointBu özellik, hedef sıcaklık ve sıcaklık aralığının ayarlanmasını destekleyen TERARAlet cihaz türlerine aittir.SetHeat
SetCool
SetRange

JSON

GET yanıtında bir özelliğin olmaması, o özelliğin veya özelliği şu anda bu cihazda kullanılamıyor. Görüntüleyin Daha fazla bilgi için cihaz türleri ekleyebilirsiniz.

{
  "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
    }
  }
}

Sıcaklık ve nem

Termostatın ortam sıcaklığını okumak için şunu kullanın: Sıcaklık özelliği. Ambiyans sıcaklık, cihazda ölçülür.

Termostatın ortam nemini okumak için şurayı kullanın: Nem özelliği. Ambiyans nem oranı cihazda ölçülür.

Sıcaklık ölçeği

Google Nest Thermostat, sıcaklığı Celsius derece veya Fahrenhayt, ancak ölçek SDM API tarafından ayarlanamaz. Belirleyebilmek için kullanıcının ayarlamış olduğu sıcaklık ölçeğini Ayarlar özelliği.

Modu değiştirme

Termostatın modu iki farklı özellikle yönetilir: ThermostatMode and ThermostatEco.

Standart modlar

Termostat modunu HEAT, COOL veya HEATCOOL olarak değiştirmek için ThermostatMode özelliğinin SetMode komutunu kullanın.

Bu komut, termostatın modunu KAPALI konumuna getirin. Projektörünüzle eko modunda.

Örneğin, standart termostat modlarından birini değiştirmek için:

İstek

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}

Yanıt

{}

Eko modu

Eko modunu açmak için mod olarak MANUAL_ECO'yu ThermostatEco özelliğinin SetMode komutu:

İstek

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatEco.SetMode",
  "params" : {
    "mode" : "MANUAL_ECO"
  }
}

Yanıt

{}

Bu komut, Eko modunun mevcut durumuna veya değişmesine bağlı olarak diğer özellikleri etkiler:

  • Eko modu KAPALI ise termostat modu varsayılan olarak etkin olan son standart moda (ISIT, COOL, HEATCOOL veya KAPALI) ayarlanır.
  • Eko modu MANUAL_ECO ise:

İstenen sıcaklık ayarlarını değiştirme

İstenen sıcaklık ayarları yalnızca termostat açıkken değiştirilebilir HEAT, COOL veya HEATCOOL modları ve izin verilen ayar noktaları, termostatın mevcut moduna karşılık gelir. Sıcaklık mod KAPALI olduğunda veya Eko modu MANUAL_ECO olarak ayarlandı.

Termostat, değiştirilmeden önce çağrılan komuta karşılık gelen modda olmalıdır istenen sıcaklık ayarlarını yapacaksınız. Ayar noktalarını değiştirmek için gereken komut ve alanlar termostata göre değişir yatırım yapmanız önemlidir.

Örneğin, SetHeat komutuyla birlikte termostatın öncelikle ısıtma modunda olması gerekir:

Mod Komut Alanlar
ISITMA SetHeat heatCelsius
SÜPER SetCool coolCelsius
ISITMA Soğutma SetRange heatCelsius, coolCelsius

Ayar noktası komutlarının parametre olarak yalnızca Santigrat cinsinden derece aldığını unutmayın. Ancak Google Nest Thermostat, sıcaklığı Santigrat veya Fahrenhayt olarak gösterebilir.

Örneğin, termostat açıkken istenen sıcaklık ayarını değiştirmek için ISITMA modunda, ThermostatTemperatureSetpoint özelliğinin SetHeat komutu:

İstek

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
  "params" : {
    "heatCelsius" : 22.0
  }
}

Yanıt

{}

Eko modu istenen noktalar

heatCelsiuscoolCelsius ThermostatEco özelliği kullanıcı tarafından ayarlanır ve SDM API üzerinden değiştirilemez.

Fanı aç veya kapat

Termostat bir fanı destekliyorsa Fan özelliğinin SetTimer komutunu kullanarak bu özelliği açıp kapatabilirsiniz. Açarken, fanın çalışmasını istediğiniz süreyi saniye.

Örneğin, fanı bir saat çalıştırmak için:

İstek

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.Fan.SetTimer",
  "params" : {
    "timerMode" : "ON",
    "duration" : "3600s"
  }
}

Yanıt

{}

duration alanı atlanırsa fan varsayılan süre olan 15 saniye boyunca çalışır. dakika.

Cihaz bağlantısını kontrol edin

Cihaz komutlara yanıt vermiyorsa veya etkinlik göndermiyorsa ya da cihaz hatasını almak için Bağlantı özelliğini ÇEVRİMDIŞI durumu için cihazınızın bağlantısına bakın. Cihazın: bağlantınızı kontrol edin ve Nest Hizmet güncel.

Etkinlikler etkinleştirilmişse bir kaynak etkinliği de almış olmanız gerekir gösteren bir değer görüyorsanız:

Yük

{
  "eventId" : "0425a61d-a026-4608-8d8d-d76351d444a4",
  "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"
  ]
}

Cihaz etkinliklerine tepki ver

Özellik alanında yapılan herhangi bir değişiklik etkinlik oluşturur. Örneğin, termostatın ısıtma, havalandırma ve soğutma sistemi ise aşağıdaki resourceUpdate etkinliği durum HEATING olarak değiştirildi:

Yük

{
  "eventId" : "24b17b95-a286-4471-901f-5bdd4a05be28",
  "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"
  ]
}

Bu cihaz türüyle ilişkilendirilmiş tüm özellikler için etkinlikler tetiklenir. Etkinleştir olaylar bir şekilde onlarla paylaşabilirsiniz.

Etkinliklerin zamanlaması

Isıtma, havalandırma ve soğutma durumunda meydana gelen değişikliklerin, etkinliklerle aynı anda yayınlanmayabileceğini unutmayın deneyin.

Örneğin bazen, HVAC'yi korumak için bir termostatın ısıtma veya soğutma modunu başlatmada gecikme bahsedeceğim. Bu senaryoda, termostat modunun değiştirilmesi başlangıçta yalnızca ThermostatMode and ThermostatTemperatureSetpoint özellik değiştiğinde, ThermostatHvac özellik değişikliği daha sonra ayrı bir etkinliği olacaktır. HVAC sisteminin açılmasıyla ilgili herhangi bir gecikme olmadıysa aynı anda üç etkinlik gönderilir.

Hatalar

Bu cihazla ilgili olarak aşağıdaki hata kodları döndürülebilir:

Hata Mesajı TBG Sorun giderme
Soğutma değeri, ısıtma değerinden büyük olmalıdır. INVALID_ARGUMENT heatCelsius alanının, komutunuzdaki coolCelsius alanından küçük olduğundan emin olun.
Mevcut termostat modunda komuta izin verilmiyor. FAILED_PRECONDITION Bazı termostat modelleri, Termostat Modu özelliğine göre termostat modu KAPALI olduğunda Eko modunun değiştirilmesini desteklemez. Eko modu değiştirilmeden önce termostat modu HEAT, COOL veya HEATCOOL olarak değiştirilmelidir.
Termostat fanı kullanılamıyor. FAILED_PRECONDITION Termostatta fan özelliği yok. Taraftarla ilgili özellikler ve komutlar bu cihazda kullanılamaz.
Termostat MANUAL_ECO modundayken bu komuta izin verilmez. FAILED_PRECONDITION Termostat manuel Eko modundayken istenen sıcaklık ayarı değiştirilemez.

Aşağıdakiler için API Hata Kodu Referansı'na bakın: API hata kodlarının tam listesini inceleyin.