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 файлу для збору даних із пристрою дивіться у статті Бази знань »
Успіхів у розробці!
Служба підтримки клієнтів працює на UserEcho