Akıllı ev işlemlerinin nasıl geliştirileceğini öğrenmek için yeni adres olan Google Home Geliştirici Merkezi'ne hoş geldiniz. Not: Actions Console'da işlem oluşturmaya devam edersiniz.
Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Akıllı Ev Termostat Kılavuzu

action.devices.types.THERMOSTAT - Termostatlar, ayarlanan noktalara ve modlara sahip, sıcaklığı yöneten cihazlardır. Bu özellik, kullanıcıları bir sıcaklık hedefine göre yalnızca modlara ve ayarlara (ör. yüksek/düşük) sahip olabilecek ısıtıcılardan ve klima birimlerinden ayırır.

Bu tür, cihazın Termostat simgesini ve ilgili bazı eş anlamlıları ve takma adları aldığını gösterir.

Bu tür cihazlar sıcaklığı kontrol ederken, bazı ısıtma/soğutma oda birimlerinde farklı kontroller ve yüksek/düşük modlar vardır ancak sıcaklık kontrolleri yoktur.

Cihaz özellikleri

Hizmetinizin desteklemesi gereken özellikler ve durumlar, ayrıca EXECUTE ve QUERY yanıtlarının nasıl oluşturulacağı gibi uygulama ayrıntıları için ilgili özellik dokümanlarına bakın.

Zorunlu özellikler

Cihazınız için geçerliyse bu özellikler ve komutlar gerekir.

Termostat komutları genellikle EXECUTE niyet zincirinde bulunur. *Isıyı 72 dereceye ayarla* yazan bir kullanıcı, daha sonra bir sıcaklık ayarı ve bir mod komutu oluşturur.

Kalite gereksinimleri

  • Gecikme: 700 ms'den küçük veya buna eşit olmalıdır.
  • Güvenilirlik: %97'den fazla veya bu değere eşit olmalıdır.

Örnek cihaz: Basit termostat

Bu bölümde, cihaz türüne ve yukarıdaki özelliklere göre genel bir "Termostat"ı temsil eden amaç yükü örnekleri yer almaktadır. Uygulamanıza özellikler ekler veya mevcut özellikleri kaldırırsanız yanıtlarınızı bu değişiklikleri yansıtacak şekilde değiştirin.

Örnek SYNC yanıtı

İstek
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Yanıt
{
  "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"
        }
      }
    ]
  }
}

Örnek QUERY yanıtı

İstek
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "thermostatMode": "cool",
        "thermostatTemperatureSetpoint": 23,
        "thermostatTemperatureAmbient": 25.1,
        "thermostatHumidityAmbient": 45.3
      }
    }
  }
}

Örnek EXECUTE komutları

Termostat Isısı Ayar Noktası

Komut parametreleri hakkında daha fazla bilgi için action.devices.traits.TemperatureSetting referansına bakın.

İstek
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetpoint",
                "params": {
                  "thermostatTemperatureSetpoint": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "cool",
          "thermostatTemperatureSetpoint": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

Termostat Sıcaklığı Ayar Aralığı

Komut parametreleri hakkında daha fazla bilgi için action.devices.traits.TemperatureSetting referansına bakın.

İstek
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetRange",
                "params": {
                  "thermostatTemperatureSetpointHigh": 26,
                  "thermostatTemperatureSetpointLow": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

Termostat Ayarı Modu

Komut parametreleri hakkında daha fazla bilgi için action.devices.traits.TemperatureSetting referansına bakın.

İstek
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatSetMode",
                "params": {
                  "thermostatMode": "heatcool"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

Cihaz HATALARI

Hataların ve istisnaların tam listesini inceleyin.
  • inHeatOrCool - Cihazın aşırı ısınması veya soğuması nedeniyle Isıtma/Soğutma/Aralık modları başarısız oldu.
  • inHeatCool - Isıtma veya soğutma ayarı nedeniyle cihaz Isıtma ya da Soğutma komutları başarısız oldu.
  • lockedToRange - Cihaz bir sıcaklık aralığına veya moda kilitli ve talep edilen değişiklik yapılamıyor.
  • rangeTooClose - Isıtma soğutma aralığındaki sıcaklık noktaları birbirine çok yakın.