Akıllı Ev Musluk Kılavuzu

action.devices.types.FAUCET - Musluklar farklı miktarlarda ve hazır ayarda sıvı üretebilir. Muslukların çeşitli modları olabilir ve her modun kendi ayarları vardır. Bunlar, musluğa özeldir ve genel bir biçimde yorumlanır.

Bu tür, cihazın Musluk simgesinin yanı sıra ilgili bazı eş anlamlıları ve takma adları aldığını belirtir.

Cihaz özellikleri

Hizmetinizin desteklemesi gereken özellikler ve durumlar ile EXECUTE ve QUERY yanıtlarının nasıl oluşturulacağı gibi uygulama ayrıntıları için ilgili özellik belgelerine bakın.

Cihazınız için geçerliyse bu özellikler önerilir. Bununla birlikte, mevcut ürün işlevselliğinizle en iyi şekilde eşleşmesi için mevcut tüm özellikleri karıştırabilir ve eşleştirebilirsiniz.

Kalite gereksinimleri

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

Örnek cihaz: Sade musluk

Bu bölümde, yukarıdaki cihaz türüne ve özelliklere göre ortak bir "Musluk"u temsil eden örnek amaç yükleri yer alır. Uygulamanıza özellik ekler veya uygulamanızdaki özellikleri kaldırırsanız yanıtlarınızı bu değişiklikleri yansıtacak şekilde değiştirin.

Örnek SENKRONİZASYON yanıtı

İstek
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.FAUCET",
        "traits": [
          "action.devices.traits.Dispense",
          "action.devices.traits.TemperatureControl",
          "action.devices.traits.OnOff"
        ],
        "name": {
          "name": "Simple faucet"
        },
        "willReportState": true,
        "attributes": {
          "supportedDispenseItems": [
            {
              "item_name": "water_key",
              "item_name_synonyms": [
                {
                  "lang": "en",
                  "synonyms": [
                    "Water"
                  ]
                },
                {
                  "lang": "es",
                  "synonyms": [
                    "Agua"
                  ]
                },
                {
                  "lang": "fr",
                  "synonyms": [
                    "Eau"
                  ]
                }
              ],
              "supported_units": [
                "TEASPOONS",
                "TABLESPOONS",
                "FLUID_OUNCES",
                "CUPS",
                "PINTS",
                "QUARTS",
                "GALLONS",
                "MILLILITERS",
                "LITERS",
                "DECILITERS"
              ],
              "default_portion": {
                "amount": 2,
                "unit": "CUPS"
              }
            }
          ],
          "supportedDispensePresets": [
            {
              "preset_name": "cat_water_bowl_key",
              "preset_name_synonyms": [
                {
                  "lang": "en",
                  "synonyms": [
                    "Cat water bowl",
                    "Cat water dish",
                    "Cat water cup"
                  ]
                },
                {
                  "lang": "es",
                  "synonyms": [
                    "Plato de agua para gato",
                    "Bebedero para gato"
                  ]
                },
                {
                  "lang": "fr",
                  "synonyms": [
                    "Bol d'eau de chat",
                    "Bac \u00e0 eau pour chat",
                    "Tasse d'eau de chat"
                  ]
                }
              ]
            }
          ],
          "temperatureRange": {
            "minThresholdCelsius": 25,
            "maxThresholdCelsius": 100
          },
          "temperatureUnitForUX": "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,
        "on": false,
        "temperatureSetpointCelsius": 30,
        "dispenseItems": [
          {
            "itemName": "water_key",
            "amountLastDispensed": {
              "amount": 2.5,
              "unit": "CUPS"
            },
            "isCurrentlyDispensing": false
          }
        ]
      }
    }
  }
}

Örnek EXECUTE komutları

Dağıtım

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

İstek
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Dispense",
                "params": {
                  "amount": 1,
                  "unit": "CUPS",
                  "item": "water_key"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "dispenseItems": [
            {
              "itemName": "water_key",
              "amountLastDispensed": {
                "amount": 1,
                "unit": "CUPS"
              },
              "isCurrentlyDispensing": true
            }
          ]
        }
      }
    ]
  }
}

SetTemperature

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

İstek
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetTemperature",
                "params": {
                  "temperature": 65
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "temperatureSetpointCelsius": 65
        }
      }
    ]
  }
}

OnOff

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

İstek
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

Cihaz ERRORS

Hataların ve istisnaların tam listesine bakın.