# Ortak veri modeli (UNS)

> Proxus'un ortak veri modelini (UNS) cihazların tesisteki yerine göre nasıl kurduğunu, yayınladığı MQTT konularını ve mesajların içeriğini anlatır.

Kaynak: https://proxus.io/tr/docs/concepts/unified-namespace

**Ortak veri modeli** (UNS, İngilizce adıyla "Unified Namespace"), tesisteki bütün güncel değerlerin tek ve ortak bir yapıda toplandığı veri ağacıdır.
Her değer yerine göre bulunur: hangi kuruluş, hangi tesis, hangi alan, hangi makine, hangi değer. Tesis verisine
ihtiyaç duyan sistemler, her makineye ya da birbirlerine tek tek bağlanmak yerine bu veri ağacına abone olur.

Proxus bu veri ağacını sizin yerinize kurar. Eklediğiniz her cihaz, ona verdiğiniz yerin altında yayınlanır.
Veri noktalarının değerleri de okundukça veri ağacında görünür.

## Cihazın tesisteki yeri

Veri ağacının seviyeleri, üretim kuruluşlarının yapısını tanımlayan uluslararası standart ISA-95'e göre
düzenlenir. Bu seviyeleri her cihaz için cihaz kurulum sihirbazında ya da cihaz sayfasında girersiniz:

| Seviye | Örnek | Genellikle neye karşılık gelir |
| --- | --- | --- |
| **Kuruluş** | `Meridian` | Şirket. |
| **Tesis** | `Lyon Foods Plant` | Bir fabrika ya da yerleşke. |
| **Alan** | `Processing` | Fabrikadaki bir bölüm ya da hol. |
| **Hücre** | `Dough` | Bir hat ya da birlikte çalışan makine grubu. |
| **Ekipman modülü** | `Kneading` | Bir makinenin bölümü. Cihaz, daha büyük bir ünitenin yalnızca bir kısmını temsil ediyorsa kullanılır. |

Bütün seviyeler isteğe bağlıdır. Boş bırakılan seviye atlanır. Örneğin yalnızca tesis bilgisi girilmiş bir cihaz,
doğrudan o tesisin altında yayınlanır. Yer bilgisi aynı zamanda cihazları listelerde, Trend çalışma alanında ve
Anlık durum ekranında gruplar. Bu nedenle çok sayıda cihaz eklemeden önce adlandırma kurallarında anlaşmanız
yararlı olur.

## Konular

Proxus veri ağacını MQTT ile yayınlar. Her değerin kendine ait bir konusu vardır. Konu, yer bilgisinden, cihaz
adından ve veri noktası adından oluşur:

```text
v1/<enterprise>/<site>/<area>/<process cell>/<equipment module>/<device>/telemetry/<tag>
```

[İlk makinenizi bağlayın](https://proxus.io/tr/docs/get-started/first-machine) sayfasındaki mikserin konusu şöyledir:

```text
v1/Meridian/Lyon_Foods_Plant/Processing/Dough/DOCS_TUTORIAL_MIXER_01/telemetry/Temperature
```

- `v1`, konu yapısının sürüm numarasıdır.
- Boş seviyeler konuya eklenmez. Konuda boş bölüm bulunmaz.
- Her seviyede harf, rakam, `_` ve `-` dışındaki karakterler `_` ile değiştirilir. Örneğin `Lyon Foods Plant`
  adındaki boşluklar `_` olur ve ad `Lyon_Foods_Plant` biçiminde yayınlanır. Büyük ve küçük harfler değişmez.

Her cihazın, her veri noktası için açılan konunun yanında üç konusu daha vardır:

| Konu | İçerik | Ne zaman gönderilir |
| --- | --- | --- |
| `.../<device>/telemetry/<tag>` | Bir veri noktasının tek bir değeri. | Veri noktası her okunduğunda. |
| `.../<device>/telemetry/_summary` | Cihazın bütün veri noktalarının son değerleri ve cihazın yer bilgisi, tek mesajda. | Varsayılan olarak en fazla 5 saniyede bir. |
| `.../<device>/state/_lastSeen` | Cihazın en son ne zaman değer gönderdiği. | Varsayılan olarak en fazla 5 saniyede bir. MQTT sunucusu bu mesajı yeni aboneler için saklar. |
| `.../<device>/state/_status` | Cihazın çevrim içi olup olmadığı. | Durum değiştiğinde. MQTT sunucusu bu mesajı yeni aboneler için saklar. |

Bu sayede yeni bağlanan bir abone, bütün cihazların durumunu ve en son görülme zamanını hemen görür. Değerler ise
geldikçe görünür.

## Mesajlar

Mesajlar varsayılan olarak JSON biçimindedir. Bir değer mesajı şöyle görünür:

```json
{
  "ts": "2026-10-15T19:12:35.120Z",
  "value": 62.5,
  "dataType": "Float",
  "unit": "°C",
  "quality": "Good",
  "source": "Proxus"
}
```

| Alan | Açıklama |
| --- | --- |
| `ts` | Değerin okunduğu zaman, UTC olarak. |
| `value` | Değerin kendisi. JSON sayısı, true ya da false ya da metin olabilir. |
| `dataType` | Değerin veri türü (`Bool`, `Int`, `Float`, `Double`, `String`...). Tür, değerin kendisine bakılarak belirlenir. Bu yüzden veri noktasının veri türünden farklı olabilir. Örneğin `62` okunan bir `Float` veri noktası `Int` olarak yayınlanır. |
| `unit` | Veri noktasının birimi. Veri noktasının birimi yoksa bu alan mesajda yer almaz. |
| `quality` | Bu sürümde her zaman `Good` gönderilir. Her değerin gerçek veri kalitesi cihaz sayfasında ve geçmiş veri deposunda bulunur. |
| `source` | Her zaman `Proxus`. |

Sparkplug B standardını kullanan sistemler için Proxus, veri ağacını JSON yerine **Sparkplug B** biçiminde de
yayınlayabilir. Mesaj biçimi, özet gönderme aralığı ve diğer yayın ayarları yapılandırma dosyasının `[UNS]`
bölümündedir. Ayrıntılar [Yapılandırma anahtarları](https://proxus.io/tr/docs/reference/configuration) sayfasındadır.

## Veri ağacı nerede yayınlanır

Her Edge Gateway, okuduğu değerleri kendi yerleşik MQTT sunucusunda yayınlar. Docker Compose kurulumunda **SYSTEM**
Edge Gateway'inin MQTT sunucusu, merkez sunucu makinesinin `1883` portunu dinler. Uzak Edge Gateway'lerin her birinin kendi
MQTT sunucusu vardır. Bu sunucunun portu, Edge Gateway kurulurken seçilir.

Abonelerin kimlik bilgisiyle bağlanması gerekir. MQTT sunucusu varsayılan olarak anonim istemcileri kabul etmez.
Bağlanma ve abone olma adımları [MQTT ve UNS konuları](https://proxus.io/tr/docs/develop/mqtt) sayfasında anlatılır.

Merkez sunucudaki **Varlık yapısı > Veri ağacı (UNS)** ekranı, veri ağacının tamamını canlı bir ağaç olarak
gösterir. Bütün Edge Gateway'lerin değerleri bu ağaçta bir arada görünür.

## Sonraki adımlar

- [Veri ağacı (UNS)](https://proxus.io/tr/docs/organize/uns-explorer): veri ağacını merkez sunucuda inceleyin.
- [UNS izinleri](https://proxus.io/tr/docs/administer/uns-permissions): veri ağacının hangi bölümünü kimin görebileceğini belirleyin.
- [Cihazlar, profiller ve veri noktaları](https://proxus.io/tr/docs/concepts/devices-profiles-tags): her konunun arkasındaki
  nesneler.
