API для устройств
Описание API для доступа к устройствам
С помощью API инструмента можно отправить запрос прямо на счетчик и получить все текущие данные или управлять реле внешней нагрузки.
Для использования API вашему приложению или веб-сайту необходимо отправить на устройство соответствующий HTTP-запрос. Запросы можно отсылать методом GET. В ответ на запрос счетчик возвращает HTTP-сообщение, в теле которого содержится результат обработки. Возвращаемые устройством результаты представлены в формате JSON.
Для устройств стандартных версий запросы можно отправлять не чаще, чем один раз в минуту.
Для устройств расширенных версий запросы можно отправлять каждые 6 секунд.
Для получения всех данных с устройства
GET ?page=getdata&devid=[ИД устройства]&devpass=[ПИН устройства]
Дополнительно, можно добавить команду управления реле внешней нагрузки: pout
0 - для выключения или 1 - для включения.
GET ?page=getdata&devid=[ИД устройства]&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", // ИД счетчика
"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