Configuration
Haberleşme ünitesinin ayarlarını değiştirmek için kullanılacak fonksiyondur.
Çalışma zamanı
Haberleşme merkezi yazılımı tarafından talep gönderildiğinde çalışır.
Çalışma şekli
Push
Bu fonksiyon için push olarak çalışma desteklenmemektedir.
Pull
Haberleşme merkezi yazılımı tarafından
configurationfonksiyon mesajı gönderilir.Haberleşme ünitesi, bu mesajı aldığına dair haberleşme merkezi yazılımına
ACKgönderir.Haberleşme ünitesi fonksiyon ile gönderilen ayarları yapar.
Ayarların güncelleme işlemi sonrası;
a. İşlem başarılı ise haberleşme merkezi yazılımına
notificationfonksiyonu ile bilgi gönderilir. Bu bilgi paketinde değişen her bir ayar için eski ve yeni ayar değerleri bulunur.b. İşlem kısmen başarılı olur ise başarılı olan parametreler için a maddesinde belirtilen şekilde
notificationgönderilir, hata alan parametreler için ise c maddesinde belirtilen şekildealarmgönderilir.c. İşlem başarısız olur ise haberleşme merkezi yazılımına
alarmfonksiyonu ile bu durumu bildirir.
Paket içerisinde tek bir register güncellemesi yapılabilir. İstek gönderilirken tüm etiketlerin değerleri olmayabilir. Bu durumda etiketleri olan değerler güncellenirken, etiketi olmayanlarda ise bir güncelleme işlemi yapılmaz.
Mesaj Formatları
configuration talebi
{
"device": {
"flag": "XYZ",
"serialNumber": "0123456789ABCDE"
},
"function": "configuration",
"referenceId": "3d0b242e-1866-4a41-a8ca-1372f1b34ab7",
"request": {
"registered": true,
"deviceDate": "2021-06-02 17:19:58",
"daylightSaving": true,
"timezone": "+03:00",
"restartPeriod": 8,
"servers": [
{
"ipAddress": "123.45.68.10",
"tcpPort": 1234,
"udpPort": 4567
}
],
"ntp": {
"server": "",
"port": 0
},
"ipAddressWhiteList": [
{
"operation": "add|remove",
"ipAddress": ""
}
],
"retryInterval": 10,
"retryCount": 3,
"maxPackageSize": 1024,
"mqtt": {
"prefix": "",
"address": "",
"userName": "",
"pwd": ""
},
"communicationInterfaces": [
{
"id": 1,
"apn": {
"name": "",
"user": "osos",
"pwd": ""
}
}
],
"serialPorts": [
{ "id": 1, "name": "rs485-1", "port": 7000 },
{ "id": 2, "name": "rs485-2", "port": 7001 },
{ "id": 3, "name": "rs232", "port": 7002 }
],
"ioInterfaces": [
{ "id": 1, "name": "relay-1" },
{ "id": 2, "name": "relay-2" },
{ "id": 3, "name": "dry-1" },
{ "id": 4, "name": "panoKapagi" },
{ "id": 5, "name": "digitalInput-2" }
],
"meters": [
{
"operation": "add",
"meter": {
"protocol:": "IEC62056",
"type": "electricity|water|gas|...",
"brand": "MKL",
"serialNumber": "12345678",
"serialPort": "rs485-1",
"initBaud": 300,
"fixBaud": false,
"frame": "7E1"
}
},
{
"operation": "remove",
"meter": {
"brand": "MKL",
"serialNumber": "12345678"
}
}
]
}
}
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| registered | bool | Zorunlu | Haberleşme ünitesinden gelen identification fonksiyonuna true olarak cevap dönülmesi durumunda, haberleşme ünitesinden bir daha bu paketi push olarak alamayacaktır |
| deviceDate | datetime | Opsiyonel | Haberleşme ünitesinin zaman bilgisini manuel olarak güncellemek için kullanılır |
| daylightSaving | bool | Opsiyonel | Haberleşme ünitesinin güncel zaman bilgisi için gün ışığından yararlanma aktif edilecek ise true; pasif ise false |
| timezone | string | Opsiyonel | Haberleşme ünitesinin güncel zaman bilgisi için bulunduğu zaman dilimi ayarı |
| restartPeriod | int | Opsiyonel | 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 | Opsiyonel | Haberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu bilgileri. |
| ipAddressWhiteList | array[ipAddressWhiteList] | Opsiyonel | Haberleşme ünitesine bağlanması için izin verilen ip adreslerinin bilgileri. |
| communicationInterfaces | array[communicationInterface] | Opsiyonel | Haberleşme ünitesi üzerinde bulunan haberleşme arayüzlerinin bilgilerinin güncellenmesi için kullanılacak nesne |
| serialPorts | array[serialPort] | Opsiyonel | Haberleşme ünitesi üzerinde bulunan seri portların bilgilerinin güncellenmesi için kullanılacak nesne |
| ioInterfaces | array[ioInterface] | Opsiyonel | Haberleşme ünitesi üzerinde bulunan giriş/çıkış arayüzlerinden bilgisi güncellenecek olan giriş/çıkış arayüzünün isim bilgisi güncellenecek olan arayüzlerin bilgisi. |
| meters | array [meterSetting] | Zorunlu | Haberleşme ünitesine bağlı olan ölçüm cihazını güncellemek için kullanılı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. |
ipAddressWhiteList nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| operation | string | Opsiyonel | Haberleşme ünitesine bağlanması için izin verilen ip adreslerini ekleme veya kaldırmak için yapılacak işlem tipidir.add yeni bir ip adresini listeye ekler. remove mevcut bir ip adresini listeden kaldırır. |
| ipAddress | string | Opsiyonel | Haberleşme ünitesine bağlanmasına izin verilen veya izni iptal edilen ip adresi bilgisidir. |
server 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 | Opsiyonel | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun ip adresi. |
| tcpPort | int | Opsiyonel | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun tcp port bilgisi. |
| udpPort | int | Opsiyonel | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun udp port bilgisi. |
| primary | bool | Opsiyonel | Haberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı birincil sunucuyu ifade eder. Tek bir sunucu birincil olabilir. |
communicationInterface nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | int | Zorunlu | Haberleşme ünitesi üzerinde bulunan haberleşme arayüzlerinden isim bilgisi güncellenecek olan arayüzün id bilgisi. |
| apn | apn | Zorunlu | Haberleşme ünitesi üzerinde bulunan haberleşme arayüzlerinden bilgisi güncellenecek olan arayüzün apn bilgisi güncellenecek olan arayüzün bilgisi. |
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 kullanıcı bilgisi |
| pwd | string | Opsiyonel | Arayüzün erişim şifresi |
serialPort nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | int | Zorunlu | Haberleşme ünitesi üzerinde bulunan seri portlardan bilgisi güncellenecek olan seri portun id bilgisi. |
| name | string | Zorunlu | Seri porta verilmek istenen isim |
| port | string | Zorunlu | Seri porta direk (şeffaf) bağlantı için kullanılacak port bilgisi |
ioInterface nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | int | Zorunlu | Haberleşme ünitesi üzerinde bulunan giriş/çıkış arayüzlerinden bilgisi güncellenecek olan giriş/çıkış arayüzünün isim bilgisi güncellenecek olan arayüzün id bilgisi. |
| name | string | Zorunlu | Haberleşme ünitesi üzerinde bulunan giriş/çıkış arayüzlerinden bilgisi güncellenecek olan giriş/çıkış arayüzünün isim bilgisi güncellenecek olan arayüzün bilgisi. |
meterSetting nesnesi
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| operation | string | Zorunlu | Haberleşme ünitesine, ölçüm cihazı ekleme veya kaldırmak için yapılacak işlem tipidir.add yeni bir ölçüm cihazı listeye ekler. remove mevcut bir ölçüm cihazını listeden kaldırır. |
| meter | meter | Zorunlu | Eklenecek ya da çıkarılacak ölçüm cihazı bilgileri |
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 |
Başarılı işlem bildirimi
notification fonksiyonu ile haberleşme merkezi yazılımına bildirilir. referenceId olarak
{
//mesajın öncesi
"response": [
{
"type": "alarm|info|danger",
"level": "critical",
"incidentCode": 278,
"description": "cover opened",
"date": "2021-06-28 13:55:00",
"meter": {
"brand": "EMH",
"serialNumber": "12345678"
}
},
{
"type": "alarm|info|danger",
"level": "info",
"incidentCode": 439,
"description": "relay removed",
"date": "2021-06-28 13:55:00"
}
]
//mesajın sonrası
}