Skip to main content

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

  1. Haberleşme merkezi yazılımı tarafından configuration fonksiyon mesajı gönderilir.

  2. Haberleşme ünitesi, bu mesajı aldığına dair haberleşme merkezi yazılımına ACK gönderir.

  3. Haberleşme ünitesi fonksiyon ile gönderilen ayarları yapar.

  4. Ayarların güncelleme işlemi sonrası;

    a. İşlem başarılı ise haberleşme merkezi yazılımına notification fonksiyonu 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 notification gönderilir, hata alan parametreler için ise c maddesinde belirtilen şekilde alarm gönderilir.

    c. İşlem başarısız olur ise haberleşme merkezi yazılımına alarm fonksiyonu ile bu durumu bildirir.

ÖNEMLİ

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"
}
}
]
}
}
ParametreVeri TipiZorunlulukAçıklama
registeredboolZorunluHaberleşme ünitesinden gelen identification fonksiyonuna true olarak cevap dönülmesi durumunda, haberleşme ünitesinden bir daha bu paketi push olarak alamayacaktır
deviceDatedatetimeOpsiyonelHaberleşme ünitesinin zaman bilgisini manuel olarak güncellemek için kullanılır
daylightSavingboolOpsiyonelHaberleşme ünitesinin güncel zaman bilgisi için gün ışığından yararlanma aktif edilecek ise true; pasif ise false
timezonestringOpsiyonelHaberleşme ünitesinin güncel zaman bilgisi için bulunduğu zaman dilimi ayarı
restartPeriodintOpsiyonelHaberleşme ünitesinin kendisini otomatik olarak restart etmesi için gerekli periyot. Süre saat cinsindendir. Eğer 0 ise bu özellik kapalıdır.
ntpntpOpsiyonelHaberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu bilgileri.
ipAddressWhiteListarray[ipAddressWhiteList]OpsiyonelHaberleşme ünitesine bağlanması için izin verilen ip adreslerinin bilgileri.
communicationInterfacesarray[communicationInterface]OpsiyonelHaberleşme ünitesi üzerinde bulunan haberleşme arayüzlerinin bilgilerinin güncellenmesi için kullanılacak nesne
serialPortsarray[serialPort]OpsiyonelHaberleşme ünitesi üzerinde bulunan seri portların bilgilerinin güncellenmesi için kullanılacak nesne
ioInterfacesarray[ioInterface]OpsiyonelHaberleş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.
metersarray [meterSetting]ZorunluHaberleşme ünitesine bağlı olan ölçüm cihazını güncellemek için kullanılır.

ntp nesnesi

ParametreVeri TipiZorunlulukAçıklama
serverstringZorunluHaberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu adresi.
portstringZorunluHaberleşme ünitesinin zaman saatini güncellemek için kullanacağı sunucu port bilgisi.

ipAddressWhiteList nesnesi

ParametreVeri TipiZorunlulukAçıklama
operationstringOpsiyonelHaberleş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.
ipAddressstringOpsiyonelHaberleş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.

ParametreVeri TipiZorunlulukAçıklama
ipAddressstringOpsiyonelHaberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun ip adresi.
tcpPortintOpsiyonelHaberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun tcp port bilgisi.
udpPortintOpsiyonelHaberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı headend sunucusunun udp port bilgisi.
primaryboolOpsiyonelHaberleşme ünitesinin push işlemleri gerçekleştirmek için bağlanacağı birincil sunucuyu ifade eder. Tek bir sunucu birincil olabilir.

communicationInterface nesnesi

ParametreVeri TipiZorunlulukAçıklama
idintZorunluHaberleşme ünitesi üzerinde bulunan haberleşme arayüzlerinden isim bilgisi güncellenecek olan arayüzün id bilgisi.
apnapnZorunluHaberleş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

ParametreVeri TipiZorunlulukAçıklama
namestringZorunluArayüzün erişim adı bilgisi
userstringOpsiyonelArayüzün erişim kullanıcı bilgisi
pwdstringOpsiyonelArayüzün erişim şifresi

serialPort nesnesi

ParametreVeri TipiZorunlulukAçıklama
idintZorunluHaberleşme ünitesi üzerinde bulunan seri portlardan bilgisi güncellenecek olan seri portun id bilgisi.
namestringZorunluSeri porta verilmek istenen isim
portstringZorunluSeri porta direk (şeffaf) bağlantı için kullanılacak port bilgisi

ioInterface nesnesi

ParametreVeri TipiZorunlulukAçıklama
idintZorunluHaberleş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.
namestringZorunluHaberleş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

ParametreVeri TipiZorunlulukAçıklama
operationstringZorunluHaberleş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.
metermeterZorunluEklenecek ya da çıkarılacak ölçüm cihazı bilgileri

meter nesnesi

ParametreVeri TipiZorunlulukAçıklama
protocolstringZorunluÖlçüm cihazının okunması için kullanılacak birincil protokol. IEC 62056, DLMS, MODBUS, MBUS, WMBUS
typestringZorunluÖlçüm cihazının ölçüm tipi. electricity, water, gas, other
brandstringZorunluÖlçüm cihazının marka kodu (Meter Flag Code)
serialNumberstringZorunluÖlçüm cihazının seri numarası
serialPortstringZorunluÖlçüm cihazının, haberleşme ünitesi üzerinde bağlı olduğu seri portun ismi
initBaudintZorunluÖlçüm cihazını okumak için, haberleşme ünitesinin başlangıçta ayarlaması gereken baud-rate değeri
fixBaudboolZorunluÖlçüm cihazı eğer sabit bir baud-rate değerine sahip ise true, değil ise false
framestringZorunluÖ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ı
}