Varlık ağacı neyin neyin içinde olduğunu gösterir. İlişkiler daha fazlasını söyler: hangi kontrol cihazının hangi pompayı yönettiğini, hangi pompanın hangi tankı beslediğini, hangi kameranın hangi kapıyı izlediğini. Bir ilişki iki ucu bağlar; her uç bir varlık ya da bir cihazdır ve bir tür ile bir yön içerir.
İlişki türleri
| Tür | Okunuşu | Örnek |
|---|---|---|
| Contains | bir varlıktan bir cihaza | Room 1, Sensor 4’ü içerir. Bu, cihazın yerleşimidir. |
| Manages | A, B’yi yönetir | Bir kontrol cihazı bir pompayı yönetir |
| Feeds | A, B’yi besler | Pump 2, Tank 1’i besler; bir UPS bir sahayı besler |
| Monitors | A, B’yi izler | Bir kamera bir kapıyı izler |
| Kendi türünüz | tanımladığınız biçimde | BACKS_UP, SERVES, METERS |
Kendi ilişki türleriniz 1 ile 32 karakter arasında olabilir: önce bir harf, ardından harfler, rakamlar ve _. Büyük harflerle saklanırlar.
Kurallar:
- Bir ilişki tek yönlüdür: bir uçtan diğerine. “Pump 2, Tank 1’i besler” ile “Tank 1, Pump 2’yi besler” aynı şey değildir.
- İki uç birbirinden farklı olmalıdır: “Bir ilişki iki farklı uç gerektirir.”
- Aynı ilişki (aynı uçlar, aynı tür) yalnızca bir kez bulunabilir: “Bu ilişki zaten mevcut.”
- Contains yalnızca bir varlıktan bir cihaza kurulabilir ve bu cihazın yerleşimidir: cihaz başına bir tane. Yerleşimle birlikte ayarlayın, ilişki olarak değil. Bkz. Cihazların yerleştirilmesi.
- Bir varlığın başka bir varlığın içinde olması hiçbir zaman ilişki değildir: bunun yerine varlığı taşıyın (“Bir varlığın başka bir varlığın içinde olması, CONTAINS ilişkisiyle değil, taşınmasıyla belirlenir.”).
- Bir ilişki, örneğin bir boru boyutu gibi ek bilgi için en fazla 20 anahtar (4 KiB) taşıyabilir.
İlişkilere bakın
Siteler ve Varlıklar üzerinde bir varlığı açın. Çekmecenin Relations bölümü, varlığa ve varlıktan olan ilişkileri listeler:
| Sütun | Gösterir |
|---|---|
| Relation | Tür |
| From | İlk uç, Asset ya da Device, adıyla birlikte |
| To | Diğer uç |
Bir ilişki bulmak için Search relations, silmek için Remove relation kullanın (Manage relations and device placement yetkisi gerekir). “No relations.” yazması, hiç ilişki olmadığı anlamına gelir.
İlişki oluşturun
Yerleşimler dışındaki ilişkiler API üzerinden oluşturulur:
POST /tenant/<tenantId>/api/iot/relations
{ "fromType": "DEVICE", "fromId": "<pump id>", "toType": "DEVICE", "toId": "<tank id>", "type": "FEEDS" }
Uçlar ASSET ya da DEVICE olabilir. Bunları GET /api/iot/relations?entityType=DEVICE&entityId=<id> ile listeleyin (her iki yön) ve DELETE /api/iot/relations/<relationId> ile silin. Bkz. Siteler ve varlıklar API’si. Bazı hazır çözümler, kurulduklarında ilişkilerini oluşturur; örneğin uzak bir sahayı besleyen bir UPS.
Bir varlığı silmek, ilişkilerini de sonlandırır. Cihaz farklıdır: yerleştirilmiş ya da herhangi bir ilişkisi olan bir cihaz silinemez (“Cihaz hâlâ 1 varlık yerleşimi veya ilişki (iot_asset) tarafından kullanılıyor.”). Önce yerleşimini ve ilişkilerini kaldırın.
Panolarda ilişkileri kullanın
Bir pano parametresi varlıklarını Related to another parameter or entity ile seçebilir: örneğin “bir kontrol cihazının yönettiği cihazlar” ya da Contains üzerinden “bu sahanın altındaki her cihaz”. İlişki türünü, yönü ve kaç seviye izleneceğini (1 ile 10) seçersiniz. Bkz. Veri kaynakları ve parametreler.
Sites şablonu bunu, Device seçicisinde bir sahanın cihazlarını sunmak için kullanır: sahadan aşağıya, 10 seviyeye kadar Contains ilişkisini izler.
Akışlarda ilişkileri kullanın
Related data bloğu, bir mesaja ilgili varlıkların ve cihazların verilerini ekler:
| Ayar | Anlamı |
|---|---|
| yön | mesajın cihazından from (yönettikleri, alt öğeleri) ya da ona to (üst öğeleri, onu yöneten) |
| ilişki türleri | varsayılan Contains; herhangi bir tür ya da herhangi biri için hiçbiri |
| derinlik | 1 ile 8 seviye |
| varlık türü, türler, profiller | yalnızca varlıkları, yalnızca cihazları, belirli türdeki varlıkları ya da belirli profildeki cihazları tutar |
| veri | öznitelikler, son değerler (cihazlar) ya da alanlar (ad, tür, kod, …) |
Akışlarda, varlık ağacı her üst öğeden alt öğelerine Contains ilişkileri olarak sayılır; yerleşim ise varlıktan cihaza Contains olarak sayılır. Bu nedenle to, Contains, 3 seviye, yalnızca son seviye, tür SITE bir cihazın üç seviye yukarıdaki sahasını bulur. Bkz. IoT veri blokları.
Örnekler
| Hedef | İlişkiler |
|---|---|
| Bir tankın pompalarını tankın sayfasında gösterin | Pump Feeds Tank; “tanka ilişkili, yön to, tür Feeds” bir parametre |
| Sahanın tarifesini her sayaç okumasına ekleyin | Sahanın altına yerleştirilmiş sayaçlar; saha özniteliği tariff; sahaya Related data |
| Hangi kameranın bir kapı sensörünü izlediğini öğrenin | Camera Monitors door sensor |
| Sensörleriyle bir kontrol cihazı | Controller Manages each sensor |

