Akıllı Ev Dağıtım Sistemi Şeması
action.devices.traits.Dispense
- Bu özellik, belirtilen miktarda bir veya daha fazla fiziksel öğenin dağıtılmasını destekleyen cihazlara aittir.
Bu özellik, evcil hayvan mama kabı için "kedi mama kabı" veya musluk için "cam" gibi bir hazır ayarın dağıtılmasını da destekler.
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 için Amaç karşılama bölümüne bakın.
Özellikler | Type | Açıklama |
---|---|---|
supportedDispenseItems |
Dizi |
Cihazın kullanabileceği tüm öğeler hakkında bilgiler içerir. |
[item, ...] |
Nesne |
Ayrılabilir öğe. |
item_name |
Dize |
Zorunludur. Gönderilen öğenin dahili adı. Bu özellik kullanıcı dostu olmayabilir ve tüm dillerde paylaşılır. |
item_name_synonyms |
Dizi |
Zorunludur. Desteklenen her dilde dağıtılan kelimelerin eş anlamlıları adları. |
[item, ...] |
Nesne |
Belirli bir dilde dağıtılan öğenin eş anlamlıları adları. |
synonyms |
Dizi |
Zorunludur. Dağıtılan öğenin eş anlamlıları. Anlamlı kelimeler varsa, hem tekil hem de çoğul biçimleri içermelidir. Bu listedeki ilk dize, söz konusu dildeki öğenin çoğul biçimi olmalıdır. |
[item, ...] |
Dize |
Eş anlamlı ad |
lang |
Dize |
Zorunludur. Dil kodu (ISO 639-1). Desteklenen dillere bakın. |
supported_units |
Dizi |
Zorunludur. Cihazın bu öğe için desteklediği birim grubu. |
[item, ...] |
Dize |
Desteklenen birimler. Desteklenen değerler:
|
default_portion |
Nesne |
Zorunludur. Öğenin verilebilecek tipik miktarı. |
amount |
Integer |
Zorunludur. Çıkarılan tutar. |
unit |
Dize |
Zorunludur. Çıkış birimi. |
supportedDispensePresets |
Dizi |
Cihaz tarafından desteklenen hazır ayarlar. |
[item, ...] |
Nesne |
Hazır Ayar. |
preset_name |
Dize |
Zorunludur. Hazır ayar için dahili ad. Bu ad, kullanıcı dostu olmayabilir ve tüm dillerde paylaşılır. |
preset_name_synonyms |
Dizi |
Zorunludur. Ön ayar için desteklenen her dilde eş anlamlı adları. |
[item, ...] |
Nesne |
Belirli bir dildeki ön ayarın eş anlamlı adları. |
synonyms |
Dizi |
Zorunludur. Hazır ayar için eş anlamlı adları. Eş anlamlılar (varsa) hem tekil hem de çoğul biçimlerini içermelidir. |
[item, ...] |
Dize |
Eş anlamlı ad |
lang |
Dize |
Zorunludur. Dil kodu (ISO 639-1). Desteklenen dillere bakın. |
Örnekler
Önceden ayarlanmış sıvıları destekleyen birimleri destekleyen su sebili.
{ "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" ] } ] } ] }
Hazır ayarsız köpek maması makinesi.
{ "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 STATUS
Bu özelliğe sahip varlıklar, QUERY
işlemi kapsamında aşağıdaki durumları bildirebilir. QUERY
amaçlarını işleme hakkında daha fazla bilgi için Amaç karşılama bölümüne bakın.
Eyaletler | Type | Açıklama |
---|---|---|
dispenseItems |
Dizi |
Cihazın kaldırabileceği öğelerin durumları. |
[item, ...] |
Nesne |
Belirli bir öğenin durumu. |
itemName |
Dize |
|
amountRemaining |
Nesne |
Öğenin kalan miktarı. Cihaz şu anda dağıtımı yapıyorsa kalan miktarı veya cihaz dağıtımı tamamlandığında ne kadar olacağını bildirir. |
amount |
Number |
Kalan tutar |
unit |
Dize |
|
amountLastDispensed |
Nesne |
Öğenin son olarak çıkardığı öğe miktarı. Cihaz şu anda çıkarıyorsa bu durum, mevcut gönderim miktarından önce ayrıldığı tutarı bildirmelidir. |
amount |
Number |
Kalan tutar |
unit |
Dize |
|
isCurrentlyDispensing |
Boole |
Cihazın şu anda bu öğeyi verip vermediğini belirtir. |
Örnekler
Dağıtımda kaç tane 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ı hediye ettim?
{ "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 bir ölçü birimi kullanılarak raporlanmalıdır.
dispenseItems
dizisinde birden çok öğe sağlanabilir.
Her öğe adı benzersiz olmalı ve supportedDispenseItems
özelliğindeki bir öğeye karşılık gelmelidir.
Cihaz Komisyonları
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 için Amaç karşılama bölümüne bakın.
action.devices.commands.Dispense
Öğeleri gönderin.
Parametreler
Yük, aşağıdakilerden birini içerir:
Tutar kadar dağıt.
Parametreler | Type | Açıklama |
---|---|---|
item |
Dize |
|
amount |
Number |
Zorunludur. Çıkarılacak tutar. |
unit |
Dize |
Zorunludur.
|
Hazır ayara göre dağıtımı durdur.
Parametreler | Type | Açıklama |
---|---|---|
presetName |
Dize |
Zorunludur.
|
Parametre kullanmadan ödeme yapın.
Parametreler | Type | Açıklama |
---|---|---|
Özellik yok |
Örnekler
1 bardak su istiyorum.
{ "command": "action.devices.commands.Dispense", "params": { "amount": 1, "unit": "CUPS", "item": "Water" } }
Kedi su kabını doldurun.
{ "command": "action.devices.commands.Dispense", "params": { "presetName": "cat_bowl" } }
Suyu çıkarın.
{ "command": "action.devices.commands.Dispense", "params": {} }
Cihaz HATALARI
Hataların ve istisnaların tam listesini inceleyin.dispenseAmountRemainingExceeded
: Kullanıcı, yeterli miktarı olmayan bir cihazdan öğe veya tutar çıkarmaya çalıştı.dispenseAmountAboveLimit
: Kullanıcı, tek bir sorguda istenebileceklerinden daha fazla ödeme yapmaya çalıştı. Bunun amacı, yanlışlıkla aşırı miktarda (ör. 500.000 bardak su) alınmasını önlemektir.dispenseAmountBelowLimit
: Kullanıcı, cihazdaki bir öğeyi veya tutarı, verebileceği minimum tutarın altında tutmaya çalıştı.dispenseFractionalAmountNotSupported
: Kullanıcı, cihazın ayıramadığı bir öğenin küçük bir kısmını çıkarmaya çalıştı (örneğin, köpek ödül maması gibi değerli öğeler cihaz tarafından bölünmeyebilir).genericDispenseNotSupported
: Kullanıcı bir öğe veya ön ayar belirtmeden bir cihazdan çıkış yapmaya çalışır, ancak cihaz bu işlevi desteklemez (örneğin, varsayılan bir silme işlemi).dispenseUnitNotSupported
: Kullanıcı, bu cihaz için desteklenmeyen bir birimin bulunduğu cihazdan çıkış yapmaya çalışır (örneğin, öğe sağlanmadığı içinsupported_unit validation
atlanır).dispenseFractionalUnitNotSupported
: Kullanıcı, bir birimin kesirli boyutunu çıkarmaya çalıştı ancak belirtilen birim için ayrılamadı (örneğin, musluk 2,7 bardak üretebilir ancak 2,7 mL veremez).deviceCurrentlyDispensing
: Kullanıcılar bir öğeyi çıkarmaya çalışır ancak cihaz zaten cihazı çıkarıyor.deviceClogged
: Kullanıcılar bir öğeyi çıkarmaya çalışır ancak cihaz tıkanmıştır.deviceBusy
: Kullanıcılar bir öğeyi çıkarmaya çalışır ancak cihaz meşguldür (genel).
Cihaz İSTİSNALARI
Bu istisnalar, yanıtınızın states
nesnesinde exceptionCode
olarak raporlanabilir:
amountRemainingLow
- Kullanıcı, cihazdaki bir öğeyi veya tutarı çıkararak kalan miktarı düşük seviyeye çıkarır. "Düşük" seviyenin ne olduğunu tanımlamak sizin sorumluluğunuzdadır.userNeedsToWait
- Kullanıcı, istenen öğenin veya tutarın başarıyla tahsis edilebilmesi için beklemesi gerektiğinde (ör. musluk musluklarını bitirir ancak kullanıcının suyun ısınmaya başlaması için beklemesi gerekir).