Identification
Haberleşme ünitesinin ve üniteye ait tüm özelliklerin, herhangi bir kullanıcı girişi olmadan haberleşme merkezi yazılımı tarafından otomatik tanınmasını sağlayacak fonksiyondur.
Çalışma zamanı
Identification paketi haberleşme ünitesine ilk kez enerji verildiğinde haberleşme merkezi yazılımına otomatik olarak gönderilir.
Bu paket, haberleşme merkezi yazılımı tarafından talep edildiğinde de gönderilir.
Çalışma şekli
Push
- Haberleşme ünitesi kendisini tanımlayıcı bütün bilgileri merkezi yazılıma gönderir.
- Merkezi yazılım verileri aldıktan sonra
ACKgönderir. - Daha sonra, haberleşme ünitesi üzerinde bulunan
"registered"alanınıtruedeğeri olacak şekilde ayarlama fonksiyonu ile değiştirerek bu paketin, enerji kesintileri sonrasında tekrar gönderilmesini engeller. - Haberleşme ünitesi,
"registered": trueişareti değişikliğini uyguladıktan sonra sunucuyaACKgönderir.
Pull
- Haberleşme merkezi yazılımı, haberleşme ünitesinden
Identificationtalep eder. - Haberleşme ünitesi merkezi yazılıma, o an ünitenin güncel durumunu içeren bilgileri gönderir.
- Haberleşme merkezi yazılımı
ACKgönderir.
ÖNEMLİ
Pull olarak Identification talep edildikten sonra "registered" işaretinde bir değişiklik olmaz.
Mesaj Formatları
Protokol genel formatı dahilinde haberleşme sağlanır.
Identification talebi
{
"device": {
"flag": "XYZ",
"serialNumber": "0123456789ABCDE"
},
"function": "identification",
"referenceId": "3d0b242e-1866-4a41-a8ca-1372f1b34ab7"
}
Identification cevabı
{
"device": {
"flag": "XYZ",
"serialNumber": "0123456789ABCDE"
},
"function": "identification",
"referenceId": "3d0b242e-1866-4a41-a8ca-1372f1b34ab7",
"response": {
"registered": true,
"brand": "Marka1",
"model": "Model1",
"protocolVersion": "1.0.0",
"manufactureDate": "2023-05-23",
"firmware": "1.01",
"signal": 13,
"deviceDate": "2021-06-02 17:19:58",
"daylightSaving": true,
"timezone": "+03:00",
"restartPeriod": 8,
"networkId": "",
"servers": [
{
"ip": "123.45.68.10",
"tcpPort": 1234,
"udpPort": 4567,
"primary": true
},
{
"ip": "123.45.68.10",
"tcpPort": 1234,
"udpPort": 4567
}
],
"ntp": {
"server": "",
"port": 0
},
"ipWhiteList": ["123.45.68.10"],
"retryInterval": 10,
"retryCount": 3,
"maxPackageSize": 1024,
"mqtt": {
"prefix": ""
},
"communicationInterfaces": [
{
"id": 1,
"type": "gsm",
"imei": "123456789012345",
"phoneNumber": "5012345678",
"ip": "123.45.68.9",
"port": 3030,
"apn": {
"name": "",
"user": "osos"
},
"simId": "",
"imsi": ""
},
{
"id": 2,
"type": "wifi",
"phoneNumber": "2121234567",
"ip": "123.45.68.10",
"port": 3030,
"mac": "",
"subnet": ""
}
],
"serialPorts": [
{ "id": 1, "type": "rs485", "name": "rs485-1", "port": 7000 },
{ "id": 2, "type": "rs485", "name": "rs485-2", "port": 7001 },
{ "id": 3, "type": "rs232", "name": "rs232", "port": 7002 }
],
"ioInterfaces": [
{ "id": 1, "type": "relay", "name": "relay-1" },
{ "id": 2, "type": "relay", "name": "relay-2" },
{ "id": 3, "type": "dryContact", "name": "dry-1" },
{ "id": 4, "type": "digitalInput", "name": "panoKapagi" },
{ "id": 5, "type": "digitalInput", "name": "digitalInput-2" }
],
"modules": [
{
"serialNumber": "",
"ip": "",
"ipV6": "",
"frequency": "",
"band": "",
"bitrate": "7E1",
"meters": []
}
],
"meters": [
{
"protocol:": "IEC62056",
"type": "electricity|water|gas|...",
"brand": "MKL",
"serialNumber": "12345678",
"serialPort": "rs485-1",
"initBaud": 300,
"fixBaud": false,
"frame": "7E1"
},
{
"protocol:": "DLMS",
"type": "electricity|water|gas|...",
"brand": "EMH",
"serialNumber": "12345678",
"serialPort": "rs485-2",
"initBaud": 2400,
"fixBaud": true,
"frame": "8N1"
}
]
}
}
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| registered | bool | Zorunlu | Haberleşme cihazı daha önce kendisini headend sistemine tanıtmış ise true; tanıtamamış ise false |
| model | string | Zorunlu | Haberleşme cihazının model bilgisi |
| protocolVersion | string | Zorunlu | Haberleşme ünitesi üzerinde çalışan MASS protokolü versiyon bilgisi |
| manufactureDate | date | Zorunlu | Haberleşme ünitesinin üretim tarihi |
| firmware | string | Zorunlu | Haberleşme ünitesinin güncel yazılım versiyonu |
| signal | int | Zorunlu | Haberleşme ünitesinin güncel GSM sinyal seviyesi |
| deviceDate | datetime | Zorunlu | Haberleşme ünitesinin güncel zaman bilgisi |
| daylightSaving | bool | Zorunlu | Haberleşme ünitesinin güncel zaman bilgisi için gün ışığından yararlanma aktif ise true; pasif ise false |
| timezone | string | Zorunlu | Haberleşme ünitesinin güncel zaman bilgisi için bulunduğu zaman dilimi |
| restartPeriod | int | Zorunlu | Haberleşme ünitesinin kendisini otomatik olarak restart etmesi için gerekli periyot. Süre saat cinsindendir. Eğer 0 ise bu özellik kapalıdır. |
| ntp | ntp | Zorunlu | Haberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu bilgileri. |
| ipAddressWhiteList | array [string] | Zorunlu | Haberleşme ünitesine bağlanması için izin verilen ip adresleri. Eğer ip adresi dizisi boş ise tüm adreslerden erişim mümkündür. |
| retryInterval | int | Zorunlu | Haberleşme ünitesinin mesajı sunucuya göndermek için tekrar yapacağı deneme aralığı. Birimi dakikadır. |
| retryCount | int | Zorunlu | Haberleşme ünitesinin mesajı sunucuya göndermek için tekrar yapacağı deneme sayısı. |
| maxPackageSize | int | Opsiyonel | Haberleşme ünitesinin desteklediği maksimum paket boyutu |
| servers | array [server] | Zorunlu | Haberleşme ünitesinin push olarak bağlanacağı sunucu bilgileridir. Birden fazla sunucuya veri gönderebilir. |
| communicationInterfaces | array [communicationInterface] | Zorunlu | Haberleşme ünitesi üzerinde bulunan haberleşme arayüzleri listesidir. Nesne tanımı aşağıda açıklanmıştır. |
| serialPorts | array [serialPort] | Zorunlu | Haberleşme ünitesi üzerinde bulunan seri portları listesidir. Nesne tanımı aşağıda açıklanmıştır. |
| ioInterfaces | array [ioInterface] | Zorunlu | Haberleşme ünitesi üzerinde bulunan giriş/çıkış arayüzleri listesidir. Nesne tanımı aşağıda açıklanmıştır. |
| meters | array [meter] | Zorunlu | Haberleşme ünitesine bağlı olan ölçüm cihazı listesidir. Nesne tanımı aşağıda açıklanmıştır. |
| schedules | array [schedule] | Zorunlu | Haberleşme ünitesi üzerinde tanımlı olan takvimlerin listesidir. Nesne tanımı Takvimsel Okuma Listesi bölümünde açıklanmıştır. |
ntp nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| server | string | Zorunlu | Haberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu adresi. |
| port | string | Zorunlu | Haberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu port bilgisi. |
servers nesnesi
Nesne MQTT ve REST/IP'de kullanılmayacaktır. Ancak TCP/IP'de kullanıldığında zorunluluklar aşağıda belirtilmiştir.
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| ipAddress | string | Zorunlu | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun ip adresi. |
| tcpPort | int | Zorunlu | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun tcp port bilgisi. |
| udpPort | int | Zorunlu | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun udp port bilgisi. |
| primary | bool | Zorunlu | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı birincil sunucuyu ifade eder. Tek bir sunucu birincil olabilir. |
mqtt nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| prefix | string | Opsiyonel | MQTT topic isimlendirmelerinde, topic adresleri için kullanılacak ön etiket. Detay |
communicationInterface nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | int | Zorunlu | Arayüzün id bilgisi. Benzersiz olacak şekilde verilmeli |
| type | string (enum) | Zorunlu | Arayüzün tipi: GSM, DSL |
| imei | string | Opsiyonel | (Mevcut ise) Arayüzün IMEI adresi |
| phoneNumber | string | Opsiyonel | (Mevcut ise) Arayüzün telefon numarası |
| ipAddress | string | Opsiyonel | (Mevcut ise) Arayüze erişim için IP adresi |
| apn | apn | Opsiyonel | (Mevcut ise) Arayüzün APN bilgisi |
| simId | string | Opsiyonel | (Mevcut ise) Arayüzün kullandığı SIM kartın benzersiz seri numarası bilgisi |
| imsi | string | Opsiyonel | (Mevcut ise) Arayüzün kullandığı SIM kartın abone kimliği bilgisi (IMSI) |
apn nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| name | string | Zorunlu | Arayüzün erişim adı bilgisi |
| user | string | Opsiyonel | Arayüzün erişim adı kullanıcı bilgisi |
serialPort nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | int | Zorunlu | Seri portun id bilgisi. Benzersiz olacak şekilde verilmeli |
| type | string | Zorunlu | Seri portun tipi: RS-485, RS-232 |
| name | string | Zorunlu | Seri portun ismi. Bu isim haberleşme merkezi yazılım tarafından değiştirilebilir |
| port | string | Zorunlu | Seri porta, TCP (ve eğer destekleniyorsa UDP) üzerinden ulaşmak için kullanılacak haberleşme portu |
ioInterface nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | int | Zorunlu | Giriş/çıkış arayüzünün id bilgisi. Benzersiz olacak şekilde verilmeli |
| type | string | Zorunlu | Giriş/çıkış arayüzünün tipi: relay, dryContact, digitalInput |
| name | string | Zorunlu | Giriş/çıkış arayüzünün ismi. Bu isim haberleşme merkezi yazılım tarafından değiştirilebilir |
meter nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| protocol | string | Zorunlu | Ölçüm cihazının okunması için kullanılacak birincil protokol. IEC 62056, DLMS, MODBUS, MBUS, WMBUS |
| type | string | Zorunlu | Ölçüm cihazının ölçüm tipi. electricity, water, gas, other |
| brand | string | Zorunlu | Ölçüm cihazının marka kodu (Meter Flag Code) |
| serialNumber | string | Zorunlu | Ölçüm cihazının seri numarası |
| serialPort | string | Zorunlu | Ölçüm cihazının, haberleşme ünitesi üzerinde bağlı olduğu seri portun ismi |
| initBaud | int | Zorunlu | Ölçüm cihazını okumak için, haberleşme ünitesinin başlangıçta ayarlaması gereken baud-rate değeri |
| fixBaud | bool | Zorunlu | Ölçüm cihazı eğer sabit bir baud-rate değerine sahip ise true, değil ise false |
| frame | string | Zorunlu | Ölçüm cihazını okumak için, haberleşme ünitesinin ayarlaması gereken frame bilgisi. 7N1, 8E1 gibi |
Özel Durumlar
- MQTT ile haberleşilmesi durumunda
serversnesnesi kullanılmayacaktır. - REST/API ile haberleşilmesi durumunda
serversnesnesi kullanılmayacaktır.