Akıllı Ev Termostat Kılavuzu

action.devices.types.THERMOSTAT: Termostatlar, belirli noktalar ve modlarla sıcaklığı yöneten cihazlardır. Bu şekilde, sıcaklık hedefi yerine yalnızca modları ve ayarları (ör. yüksek/düşük) olan ısıtıcılar ve klima birimlerinden ayrılır.

Bu tür, cihazın termostat simgesini ve alakalı bazı bilgileri aldığını gösterir. eşanlamları ve takma adlar vardır.

Bu tür cihazlar sıcaklığı kontrol ederken bazı ısıtma/soğutma odası üniteleri farklı özelliklere sahiptir yüksek/düşük modlarda kullanılabilir, sıcaklık kontrollerini içermez.

Cihaz özellikleri

Şu özellikler için ilgili özellik dokümanlarına bakın: hizmetinizin desteklemesi gereken özellikler ve eyaletler gibi uygulama ayrıntılarını EXECUTE ve QUERY yanıtları oluşturun.

Gerekli özellikler

Bu özellikler ve komutlar, mobil uygulama veya olanak tanır. Cihazınız bu özellikleri desteklemiyorsa Bir QUERY veya EXECUTE yanıtında functionNotSupported. Görüntüleyin Hatalar ve istisnalar başlıklı makaleden daha fazla bilgi edinebilirsiniz.

ziyaret edin.

Termostat komutları sıklıkla EXECUTE intent'de zincirlenir. Bir kullanıcı olarak *Sıcaklığı 22 dereceye ayarla" dediğinizde bir mod komutu ve ardından bir sıcaklık ayarı oluşturulur.

Kalite gereksinimleri

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

Örnek cihaz: Basit termostat

Bu bölüm, yaygın bir "Termostat"ı temsil eden örnek amaç yüklerini içerir. yukarıdaki cihaz türüne ve özelliklere göre değişir. Uygulamanızda özellikler ekler veya mevcut özellikleri kaldırırsanız ve yanıtlarınızı bu değişikliklere göre değiştirmeniz gerekir.

Ö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ı

ThermostatTemperatureSetpoint

Komut parametreleriyle ilgili ek ayrıntılar için bkz. action.devices.traits.TemperatureSetting bir referans noktası olarak kabul edilir.

İ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
        }
      }
    ]
  }
}

ThermostatTemperatureSetRange

Komut parametreleriyle ilgili ek ayrıntılar için bkz. action.devices.traits.TemperatureSetting bir referans noktası olarak kabul edilir.

İ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
        }
      }
    ]
  }
}

ThermostatSetMode

Komut parametreleriyle ilgili ek ayrıntılar için bkz. action.devices.traits.TemperatureSetting bir referans noktası olarak kabul edilir.

İ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 ERRORS

Tam listeye göz atın: hataları ve istisnaları ortadan kaldırın.
  • inHeatOrCool - Cihaz şubede olduğundan Isıtma/Soğutma/Ocak komutları başarısız oldu veya soğutma sistemidir.
  • inHeatCool - Cihaz ısındığından veya Soğutma komutları başarısız oldu harika.
  • lockedToRange - Cihaz bir sıcaklık aralığına veya moduna kilitlendi ve istenen değişiklik yapılamıyor.
  • rangeTooClose - Isıtma soğutma aralığındaki sıcaklık noktaları şu değere çok yakın: bir iletişim kurmaktır.