API пристрою

Опис API для доступу до пристроїв

За допомогою API інструменту можна надіслати запит прямо на лічильник і отримати всі поточні дані або керувати зовнішнім навантаженням реле.

Для використання API до вашої програми або веб-сайту необхідно надіслати на пристрій відповідний HTTP-запит. Запити можна надсилати методом GET. У відповідь на запит лічильник повертає повідомлення HTTP, в тілі якого міститься результат обробки. Результати, що повертаються пристроєм, представлені у форматі JSON.
Для пристроїв стандартних версій запити можна надсилати не частіше ніж один раз на хвилину.
Для розширених версій запити можна надсилати кожні 6 секунд.


Для отримання всіх даних із пристрою
GET ?page=getdata&devid=[ID пристрою]&devpass=[ПІН пристрою]

Додатково можна додати команду управління реле зовнішнього навантаження: pout

0 – для вимикання або 1 – для включення.

GET ?page=getdata&devid=[ID пристрою]&devpass=[ПІН пристрою]&pout=0

Приклад GET запиту.
http://192.168.4.1/?page=getdata&devid=1728053249&devpass=012345
Відповідь від лічильника в форматі JSON (від 3х фазного лічильника розширеної версії).
HTTP/1.0 200 OK
Server: smart-MAC
Content-Type:application/json; charset=utf-8
Connection: close
 
 
{"devid":"1728053249","time":"1530607456","pout":"0","data":{"V1":{"name":"Voltage 1","unit":"V","value":"220.89"},"A1":{"name":"Current 1","unit":"A","value":"2.78"},"W1":{"name":"Active Power 1","unit":"W","value":"586"},"rW1":{"name":"Rev. Active Power 1","unit":"W","value":"0"},"Wh1":{"name":"Energy 1","unit":"Wh","value":"33549075"},"rWh1":{"name":"Rev. Energy 1","unit":"Wh","value":"0"},"PF1":{"name":"Power Factor 1","unit":"","value":"0.94"},"br0":{"name":"
"},"V2":{"name":"Voltage 2","unit":"V","value":"213.40"},"A2":{"name":"Current 2","unit":"A","value":"0.34"},"W2":{"name":"Active Power 2","unit":"W","value":"30"},"rW2":{"name":"Rev. Active Power 2","unit":"W","value":"0"},"Wh2":{"name":"Energy 2","unit":"Wh","value":"4831905"},"rWh2":{"name":"Rev. Energy 2","unit":"Wh","value":"0"},"PF2":{"name":"Power Factor 2","unit":"","value":"0.42"},"br1":{"name":"
"},"V3":{"name":"Voltage 3","unit":"V","value":"218.59"},"A3":{"name":"Current 3","unit":"A","value":"0.28"},"W3":{"name":"Active Power 3","unit":"W","value":"37"},"rW3":{"name":"Rev. Active Power 3","unit":"W","value":"0"},"Wh3":{"name":"Energy 3","unit":"Wh","value":"6710742"},"rWh3":{"name":"Rev. Energy 3","unit":"Wh","value":"0"},"PF3":{"name":"Power Factor 3","unit":"","value":"0.60"},"br2":{"name":"
"},"T":{"name":"Temperature","unit":"°C","value":"14"}}}

Парсинг JSON, з коментарями:
{
    "devid": "1728053249",                // ID лічильника
    "time": "1530607516",                 // час в UNIX форматі
    "pout": "0",                          // стан реле 0-вимк 1-увімк
    "data": {
        "V1": {                           // напруга на першій фазі (лінії)
            "name": "Voltage 1",          // текстовий опис
            "unit": "V",                  // одиниця виміру
            "value": "220.64"             // значення на момент запиту
        },
        "A1": {                           // струм на першій фазі (лінії)
            "name": "Current 1",
            "unit": "A",
            "value": "2.76"
        },
        "W1": {                           // активна потужність на першій фазі, споживання
            "name": "Active Power 1",
            "unit": "W",
            "value": "581"
        },
        "rW1": {                           // активна реверсивна потужність, генерація (наприклад, СЕС)
            "name": "Rev. Active Power 1",
            "unit": "W",
            "value": "0"
        },
        "Wh1": {                           // енергія, накопичувальне споживання
            "name": "Energy 1",
            "unit": "Wh",
            "value": "33549084"
        },
        "rWh1": {                          // реверсивна енергія, накопичувальний виробіток
            "name": "Rev. Energy 1",
            "unit": "Wh",
            "value": "0"
        },
        "PF1": {                           // Power Factor ( cos ф )
            "name": "Power Factor 1",
            "unit": "",
            "value": "0.94"
        },
        "br0": {                           // службова інформація (переклад рядка для WEB відображення)
            "name": "
"
        },
        "V2": {                            // аналогічно вищеописаному для другої фази (лінії)
            "name": "Voltage 2",
            "unit": "V",
            "value": "217.53"
        },
        "A2": {
            "name": "Current 2",
            "unit": "A",
            "value": "0.33"
        },
        "W2": {
            "name": "Active Power 2",
            "unit": "W",
            "value": "31"
        },
        "rW2": {
            "name": "Rev. Active Power 2",
            "unit": "W",
            "value": "0"
        },
        "Wh2": {
            "name": "Energy 2",
            "unit": "Wh",
            "value": "4831906"
        },
        "rWh2": {
            "name": "Rev. Energy 2",
            "unit": "Wh",
            "value": "0"
        },
        "PF2": {
            "name": "Power Factor 2",
            "unit": "",
            "value": "0.44"
        },
        "br1": {
            "name": "
"
        },
        "V3": {                            // аналогічно вищеописаному для третьої фази (лінії)
            "name": "Voltage 3",
            "unit": "V",
            "value": "216.34"
        },
        "A3": {
            "name": "Current 3",
            "unit": "A",
            "value": "0.28"
        },
        "W3": {
            "name": "Active Power 3",
            "unit": "W",
            "value": "36"
        },
        "rW3": {
            "name": "Rev. Active Power 3",
            "unit": "W",
            "value": "0"
        },
        "Wh3": {
            "name": "Energy 3",
            "unit": "Wh",
            "value": "6710743"
        },
        "rWh3": {
            "name": "Rev. Energy 3",
            "unit": "Wh",
            "value": "0"
        },
        "PF3": {
            "name": "Power Factor 3",
            "unit": "",
            "value": "0.60"
        },
        "br2": {
            "name": "
"
        },
        "T": {                            // температура всередині пристрою
            "name": "Temperature",
            "unit": "°C",
            "value": "14"
        }
    }
}


Приклад EXCEL файлу для збору даних із пристрою дивіться у статті Бази знань »


Успіхів у розробці!

Ця стаття допомогла 27 людям. Чи допомогла вам ця стаття?