Akıllı Ev Dağıtım Kutusu Şeması
action.devices.traits.Dispense
- Bu özellik, belirli miktarda bir veya daha fazla fiziksel öğenin dağıtılmasını destekleyen cihazlara aittir.
Bu özellik, önceden hazır ayar yapılmasını da destekler. Örneğin, evcil hayvan yemliği için "kedi mama kabı" veya musluk için "bardak" gibi.
Cihaz ATTRIBUTES
Bu özelliğe sahip cihazlar, SYNC
işleminin bir parçası olarak aşağıdaki özellikleri bildirebilir. SYNC
amaçlarını işleme hakkında daha fazla bilgi edinmek için Amaç karşılama bölümüne bakın.
Özellikler | Tür | Açıklama |
---|---|---|
supportedDispenseItems |
Dizi |
Cihazın çıkarabileceği tüm öğeler hakkında bilgi içerir. |
[item, ...] |
Nesne |
Tekerlekli sandalye. |
item_name |
String |
Zorunludur. Dağıtılan öğenin dahili adı. Bu, kullanıcı dostu olmayabilir ve tüm dillerde paylaşılır. |
item_name_synonyms |
Dizi |
Zorunludur. Desteklenen her dilde hazırlanan eş anlamlı adları. |
[item, ...] |
Nesne |
Belirli bir dilde dağıtılan öğe için eş anlamlı adlar. |
synonyms |
Dizi |
Zorunludur. Dağıtılan öğe için eş anlamlı adlar. Eş anlamlılar, geçerliyse hem tekil hem de çoğul biçimlerini içermelidir. Bu listedeki ilk dize, öğenin söz konusu dildeki çoğul biçimi olmalıdır. |
[item, ...] |
String |
Eş anlamlı adı |
lang |
String |
Zorunludur. Dil kodu (ISO 639-1). Desteklenen dillere bakın. |
supported_units |
Dizi |
Zorunludur. Cihazın söz konusu öğe için desteklediği birim grubu. |
[item, ...] |
String |
Desteklenen birimler. Desteklenen değerler:
|
default_portion |
Nesne |
Zorunludur. Normalden dökülebilir öğe miktarı. |
amount |
Integer |
Zorunludur. Ödenen tutar. |
unit |
String |
Zorunludur. Dağıtım birimi. |
supportedDispensePresets |
Dizi |
Cihaz tarafından desteklenen hazır ayarlar. |
[item, ...] |
Nesne |
Hazır ayar. |
preset_name |
String |
Zorunludur. Hazır ayarın dahili adı. Bu ad, kullanıcı dostu olmayabilir ve tüm dillerde paylaşılır. |
preset_name_synonyms |
Dizi |
Zorunludur. Desteklenen her dilde hazır ayarın eş anlamlı adları. |
[item, ...] |
Nesne |
Hazır ayarın belirli bir dildeki eş anlamlı adları. |
synonyms |
Dizi |
Zorunludur. Hazır ayar için eş anlamlı adlar. Eş anlamlı kelimeler hem tekil hem de çoğul formlar (varsa) içermelidir. |
[item, ...] |
String |
Eş anlamlı adı |
lang |
String |
Zorunludur. Dil kodu (ISO 639-1). Desteklenen dillere bakın. |
Örnekler
Hazır ayarlara sahip sıvı birimlerini destekleyen su sebilleri.
{ "supportedDispenseItems": [ { "item_name": "Water", "item_name_synonyms": [ { "lang": "en", "synonyms": [ "Water" ] } ], "supported_units": [ "TEASPOONS", "TABLESPOONS", "FLUID_OUNCES", "CUPS", "PINTS", "QUARTS", "GALLONS", "MILLILITERS", "LITERS", "DECILITERS" ], "default_portion": { "amount": 2, "unit": "CUPS" } } ], "supportedDispensePresets": [ { "preset_name": "cat_bowl", "preset_name_synonyms": [ { "lang": "en", "synonyms": [ "Cat water bowl", "Cat water dish", "Cat water cup" ] } ] }, { "preset_name": "glass_1", "preset_name_synonyms": [ { "lang": "en", "synonyms": [ "Glass of water", "Glass" ] } ] } ] }
Önceden ayarlanmış olmayan evcil hayvan maması sepeti.
{ "supportedDispenseItems": [ { "item_name": "Treat", "item_name_synonyms": [ { "lang": "en", "synonyms": [ "Treats", "Dog treats", "Treat", "Dog treat" ] } ], "supported_units": [ "NO_UNITS" ], "default_portion": { "amount": 1, "unit": "NO_UNITS" } } ] }
Cihaz STATES
Bu özelliğe sahip varlıklar, QUERY
işleminin bir parçası olarak aşağıdaki durumları bildirebilir. QUERY
amaçlarını işleme hakkında daha fazla bilgi edinmek için Amaç karşılama bölümüne bakın.
Eyaletler | Tür | Açıklama |
---|---|---|
dispenseItems |
Dizi |
Cihazın çıkarabileceği öğelerin durumları. |
[item, ...] |
Nesne |
Belirli bir öğenin durumu. |
itemName |
String |
|
amountRemaining |
Nesne |
Söz konusu öğenin cihazda kalan miktarı. Cihaz dağıtım yapıyorsa, bu işlem kalan miktarı veya cihaz su basmayı bitirdikten sonra ne kadar olacağını bildirir. |
amount |
Number |
Kalan tutar |
unit |
String |
|
amountLastDispensed |
Nesne |
Cihazın en son çıkardığı öğe miktarı. Cihaz çıkış yapıyorsa, mevcut dağıtım miktarından önce çıkan miktarı bildirmelidir. |
amount |
Number |
Kalan tutar |
unit |
String |
|
isCurrentlyDispensing |
Boole |
Cihazın şu anda bu öğeyi çıkarıp çıkarmadığını gösterir. |
Örnekler
Dengelimde kaç köpek ödül maması kaldı?
{ "dispenseItems": [ { "itemName": "Dog treats", "amountRemaining": { "amount": 83, "unit": "NO_UNITS" }, "amountLastDispensed": { "amount": 2, "unit": "NO_UNITS" }, "isCurrentlyDispensing": false } ] }
Su soğutucumda ne kadar su kaldı?
{ "dispenseItems": [ { "itemName": "Water", "amountRemaining": { "amount": 6.2, "unit": "GALLONS" }, "amountLastDispensed": { "amount": 1, "unit": "CUPS" }, "isCurrentlyDispensing": false } ] }
Daha önce ne kadar kedi maması verdim?
{ "dispenseItems": [ { "itemName": "cat_food", "amountRemaining": { "amount": 16.5, "unit": "CUPS" }, "amountLastDispensed": { "amount": 2.5, "unit": "CUPS" }, "isCurrentlyDispensing": false } ] }
Musluk hâlâ su çıkarıyor mu?
{ "dispenseItems": [ { "itemName": "Water", "isCurrentlyDispensing": true } ] }
amountRemaining
ve amountLastDispensed
yalnızca tek bir ölçü birimi kullanılarak raporlanmalıdır.
dispenseItems
dizisinde birden fazla öğe sağlanabilir.
Her öğe adı benzersiz olmalı ve supportedDispenseItems
özelliğindeki bir öğeye karşılık gelmelidir.
Cihaz COMMANDS
Bu özelliğe sahip cihazlar, EXECUTE
işleminin bir parçası olarak aşağıdaki komutlara yanıt verebilir. EXECUTE
amaçlarını işleme hakkında daha fazla bilgi edinmek için Amaç karşılama bölümüne bakın.
action.devices.commands.Dispense
Eşyaları çıkarın.
Parametreler
Yük aşağıdakilerden birini içerir:
Tutara göre ödeme yapın.
Parametreler | Tür | Açıklama |
---|---|---|
item |
String |
|
amount |
Number |
Zorunludur. Hazırlanacak miktar. |
unit |
String |
Zorunludur.
|
Hazır ayara göre dağıtım yapar.
Parametreler | Tür | Açıklama |
---|---|---|
presetName |
String |
Zorunludur.
|
Parametre olmadan dağıtım yapın.
Parametreler | Tür | Açıklama |
---|---|---|
Özellik yok |
Örnekler
Bana 1 bardak su ver.
{ "command": "action.devices.commands.Dispense", "params": { "amount": 1, "unit": "CUPS", "item": "Water" } }
Kedilerin su kabını doldurun.
{ "command": "action.devices.commands.Dispense", "params": { "presetName": "cat_bowl" } }
Suyu çıkarın.
{ "command": "action.devices.commands.Dispense", "params": {} }
Cihaz ERRORS
Hataların ve istisnaların tam listesine bakın.dispenseAmountRemainingExceeded
: Kullanıcı, yeterli miktarı kalmayan bir cihazdan bir ürün veya miktarda çıkarmaya çalıştı.dispenseAmountAboveLimit
: Kullanıcı, tek bir sorguda isteyebileceği sınırların dışında bir miktar çıkarmaya çalıştı. Bunun amacı, yanlışlıkla çok fazla miktarda (örneğin 500.000 bardak su) su çıkarılmasını önlemektir.dispenseAmountBelowLimit
: Kullanıcı, cihazdan çıkarabileceği minimum miktarın altında bir öğe veya miktar çıkarmaya çalıştı.dispenseFractionalAmountNotSupported
: Kullanıcı, cihazın bölünemediği bir öğenin küçük bir kısmını çıkarmaya çalıştı (örneğin, köpek ödül maması gibi sayılabilir öğeler cihaza bölünemeyebilir).genericDispenseNotSupported
: Kullanıcı, bir öğe ya da hazır ayar belirtmeden cihazdan çıkış yapmaya çalışıyor, ancak cihaz bu tür işlevleri (örneğin, varsayılan bir dağıtım işlemi) desteklemiyor.dispenseUnitNotSupported
: Kullanıcı, bu durum için desteklenmeyen bir birimi olan bir cihazdan çıkış yapmaya çalışıyor (örneğin, öğe sağlanmadığı içinsupported_unit validation
atlandı).dispenseFractionalUnitNotSupported
: Kullanıcı, belirtilen belirli bir birim için bölünmeyen ancak bölünebilen bir öğeden kısmen çıkmaya çalıştı (örneğin, bir musluk 2,7 bardak çıkarabilse de 2,7 mL'lik çıkmaz).deviceCurrentlyDispensing
: Kullanıcılar bir öğeyi çıkarmaya çalışıyor, ancak cihaz zaten çıkarıyor.deviceClogged
: Kullanıcılar bir öğeyi çıkarmaya çalışıyor ancak cihaz tıkanmış.deviceBusy
: Kullanıcılar bir öğeyi çıkarmaya çalışıyor ancak cihaz meşgul (genel).
Cihaz İSTİSNALARI
Bu istisnalar, yanıtınızın states
nesnesinde exceptionCode
olarak bildirilebilir:
amountRemainingLow
: Kullanıcı, cihazdan bir öğe veya tutar çıkarır. Bu da kalan miktarın düşük seviyeye düşmesine neden olur. "Düşük" seviyeleri tanımlamak sizin sorumluluğunuzdadır.userNeedsToWait
- Kullanıcının, istenen öğe veya miktarın başarıyla dağıtılabilmesi için beklemesi gerektiği durumlar (örneğin, bir musluk sıcak su çıkarsa ancak kullanıcının suyun çıkmaya başlamadan önce ısınmasını beklemesi gerekir).