API методы модуля driver_electro5
Модуль driver_electro5 реализует поддержку приборов учета электроэнергии Вавиот Фобос.
Данные методы доступны на API – сервере http://api.waviot.ru , а также при подключении непосредственно к сетевому интерфейсу УСПД.
Для доступа к методам модуля необходимо использовать URL-преффикс /driver_electro5/
Содержание:
- Получение показания приборов учета
- Получение событий приборов учета
- Отправка команд управления
- Получение статуса команд управления
- Получение текущих настроек
- Приложение А. Тарифное расписание
- Приложение Б Управление нагрузкой
Получение показаний приборов учета
|
Значение |
Описание |
Запрос |
||
Протокол |
http(s) |
|
Тип запроса |
GET или POST |
|
Путь |
/api/report/history |
|
Параметры |
modem |
Десятичный уникальный идентификатор модема прибора учета. Допускается массив значений через «,» |
|
profile |
Профиль из которого получены данные. Допускается массив значений через «,». Перечень вариантов см. ниже. Если параметр не задан – принимает все допустимые значения |
|
timefrom |
unix timestamp начального времени выборки, при отсутствии выдается единственное значение с наибольшим временем |
|
timeto |
unix timestamp конечного времени выборки, при отсутствии принимается равным текущему времени + сутки. |
Значения параметра profile |
1.0.94.7.0.255 |
профиль мгновенных значений |
|
1.0.99.1.0.255 |
профиль мощности(часовой) |
|
1.0.98.2.0.255 |
профиль суточных |
|
1.0.98.1.0.255 |
профиль месячных |
|
1.0.94.7.8.255 |
профиль годовых |
|
1.0.94.7.5.255 |
настраиваемый профиль |
Ответ |
||
Формат |
json |
[…] - Массив объектов json |
Ключи объекта |
modem |
Десятичный уникальный идентификатор модема прибора учета |
|
timefrom |
unix timestamp начального времени выборки. Может отсутствовать |
|
timeto |
unix timestamp конечного времени выборки |
|
meterings |
Массив объектов записей профиля |
Ключи записи профиля |
profile |
Указывает из какого профиля получена запись, см. «Значения параметра profile» |
|
ts_get |
unix timestamp время получения сообщения УСПД / сервером |
|
OBIS код в формате: |
Описание параметров OBIS и единиц измерения приводится ниже |
Полное описание OBIS приводится в (МЭК) IEC 62056-6-1-2013 Object Identification System (OBIS).
1.0.0 – дата-время записи [timestamp]
1.8.0 – Активная энергия к потребителю по сумме фаз и тарифов с момента сброса [Вт ч]
1.8.1 – Активная энергия к потребителю по сумме фаз тариф 1 с момента сброса [Вт ч]
1.8.2 – Активная энергия к потребителю по сумме фаз тариф 2 с момента сброса [Вт ч]
1.8.3 – Активная энергия к потребителю по сумме фаз тариф 3 с момента сброса [Вт ч]
1.8.4 – Активная энергия к потребителю по сумме фаз тариф 4 с момента сброса [Вт ч]
2.8.0 – Активная энергия от потребителя по сумме фаз и тарифов с момента сброса [Вт ч]
2.8.1 – Активная энергия от потребителя по сумме фаз тариф 1 с момента сброса [Вт ч]
2.8.2 – Активная энергия от потребителя по сумме фаз тариф 2 с момента сброса [Вт ч]
2.8.3 – Активная энергия от потребителя по сумме фаз тариф 3 с момента сброса [Вт ч]
2.8.4 – Активная энергия от потребителя по сумме фаз тариф 4 с момента сброса [Вт ч]
3.8.0 – Реактивная энергия к потребителю по сумме фаз и тарифов с момента сброса[Варч]
3.8.1 – Реактивная энергия к потребителю по сумме фаз тариф 1 с момента сброса [Вар ч]
3.8.2 – Реактивная энергия к потребителю по сумме фаз тариф 2 с момента сброса [Вар ч]
3.8.3 – Реактивная энергия к потребителю по сумме фаз тариф 3 с момента сброса [Вар ч]
3.8.4 – Реактивная энергия к потребителю по сумме фаз тариф 4 с момента сброса [Вар ч]
4.8.0 – Реактивная энергия от потребителя по сумме фаз и тариф. с момента сброса[Варч]
4.8.1 – Реактивная энергия от потребителя по сумме фаз тариф 1 с момента сброса [Вар ч]
4.8.2 – Реактивная энергия от потребителя по сумме фаз тариф 2 с момента сброса [Вар ч]
4.8.3 – Реактивная энергия от потребителя по сумме фаз тариф 3 с момента сброса [Вар ч]
4.8.4 – Реактивная энергия от потребителя по сумме фаз тариф 4 с момента сброса [Вар ч]
9.8.0 – Полная энергия к потребителю по сумме фаз и тарифов с момента сброса [ВА ч]
9.8.1 – Полная энергия к потребителю по сумме фаз тариф 1 с момента сброса [ВА ч]
9.8.2 – Полная энергия к потребителю по сумме фаз тариф 2 с момента сброса [ВА ч]
9.8.3 – Полная энергия к потребителю по сумме фаз тариф 3 с момента сброса [ВА ч]
9.8.4 – Полная энергия к потребителю по сумме фаз тариф 4 с момента сброса [ВА ч]
1.6.0 – Максимум мощности по сумме фаз за период учета [Вт]
1.7.0 – Активная мощность по сумме фаз [Вт]
21.7.0 – Активная мощность по фазе А [Вт]
41.7.0 – Активная мощность по фазе В [Вт]
61.7.0 – Активная мощность по фазе С [Вт]
3.7.0 – Реактивная мощность по сумме фаз [Вар]
23.7.0 – Реактивная мощность по фазе А [Вар]
43.7.0 – Реактивная мощность по фазе В [Вар]
63.7.0 – Реактивная мощность по фазе С [Вар]
9.7.0 – Полная мощность по сумме фаз [ВА]
29.7.0 – Полная мощность по фазе А [ВА]
49.7.0 – Полная мощность по фазе В [ВА]
69.7.0 – Полная мощность по фазе С [ВА]
11.7.0 – Ток по сумме фаз [А]
31.7.0 – Ток по фазе А [А]
51.7.0 – Ток по фазе В [А]
71.7.0 – Ток по фазе С [А]
91.7.0 – Ток нейтрали [А]
32.7.0 – Напряжение фазы А [В]
52.7.0 – Напряжение фазы В [В]
72.7.0 – Напряжение фазы С [В]
14.7.0 – Частота [Гц]
13.7.0 – cosFi суммы фаз
33.7.0 – cosFi фазы А
53.7.0 – cosFi фазы В
73.7.0 – cosFi фазы С
81.7.10 – угол между фазами А-В [градусы]
81.7.21 – угол между фазами В-С [градусы]
81.7.2 – угол между фазами А-С [градусы]
Пример получения данных двух приборов учета из двух профилей
запрос:
http://.../api/report/history?modem=7390186,7390187&profile=1.0.98.2.0.255,1.0.94.7.5.255&timefrom=1517439600&timeto=1517446800
ответ:
BODY |
[ { // первый прибор учета "meterings": [ { "1.0.0": 1517446800, // запись сформирована прибором учета в Thu, 01 Feb 2018 01:00:00 "1.8": 4411644, // А+ сумма тарифов "1.8.1": 4411644, // A+ тариф 1 "1.8.2": 0, // A+ тариф 2 "1.8.3": 0, // A+ тариф 3 "profile": "1.0.94.7.5.255", // настраиваемый профиль "ts_get": 1517448021 // получено сервером Thu, 01 Feb 2018 01:20:21 GMT }, { "1.0.0": 1517443200, // запись сформирована прибором учета в Thu, 01 Feb 2018 00:00:00 "1.8": 4409854, … "profile": "1.0.94.7.5.255",… }, { "1.0.0": 1517443200, // запись сформирована прибором учета в Thu, 01 Feb 2018 00:00:00 "1.8.1": 4409854, "1.8.2": 0, "1.8.3": 0, "1.8.4": 0, "2.8.1": 3, "2.8.2": 0, "2.8.3": 0, "2.8.4": 0, "3.8.1": 131008.99999999999, "3.8.2": 0, "3.8.3": 0, "3.8.4": 0, "4.8.1": 73817, "4.8.2": 0, "4.8.3": 0, "4.8.4": 0, "profile": "1.0.98.2.0.255", "ts_get": 1517443905 // получено сервером Thu, 01 Feb 2018 00:11:45 }, { "1.0.0": 1517439600, "1.8": 4408045,… "profile": "1.0.94.7.5.255",… } ], "modem": 7390186, // номер модема счетчика "timefrom": 1517439600, // начало запроса данных "timeto": 1517446800 // конец запроса данных }, { // второй прибор учета "meterings": [ { "1.0.0": 1517446800, "1.8": 192490, "1.8.1": 192484, "1.8.2": 6, "1.8.3": 0, "profile": "1.0.94.7.5.255", "ts_get": 1517447958 }, { "1.0.0": 1517443200,… }, { "1.0.0": 1517443200, "1.8.1": 192484, "1.8.2": 6, "1.8.3": 0, "1.8.4": 0,… "profile": "1.0.98.2.0.255", "ts_get": 1517434720 }, { "1.0.0": 1517439600,… } ], "modem": 7390187, "timefrom": 1517439600, "timeto": 1517446800 } ] |
дополнение в ответе при запросе профиля нагрузки и суточного профиля:
при возможности однозначного определения периода записей профиля появляется поле "period", значение поля соответствует периоду записей в профиле в секундах
[ |
возможные причины отсутствия поля "period":
1. в базе слишком малое количество записей профилей - может происходить при недавнем включении ПУ / привязке к УСПД - следует дождаться большего количества записей профиля
2. выборка записей совпадает с изменением периода профиля - следует изменить одну из границ (timefrom / timeto), увеличив или уменьшив диапазон выборки не менее чем в 2 раза
3. большое количество пропусков записей профилей - следует восстановить связь с ПУ и повторить запрос после восстановления записей профиля
Получение событий приборов учета
|
Значение |
Описание |
Запрос |
||
Протокол |
http(s) |
|
Тип запроса |
GET или POST |
|
Путь |
/api/report/events |
|
Параметры |
modem |
Десятичный уникальный идентификатор модема прибора учета. Допускается массив значений через «,». |
|
profile |
Профиль из которого получены события. Допускается массив значений через «,». Перечень вариантов см. ниже. Если параметр не задан – принимает все допустимые значения |
|
timefrom |
unix timestamp начального времени выборки, при отсутствии выдается единственное значение с наибольшим временем |
|
timeto |
unix timestamp конечного времени выборки, при отсутствии принимается равным текущему времени + сутки. |
Значения параметра profile |
0.0.99.98.0.255 |
профиль событий, связанных с напряжением |
|
0.0.99.98.1.255 |
профиль событий, связанных с токами |
|
0.0.99.98.2.255 |
профиль событий, связанных с вкл./выкл. счетчика, коммутации реле нагрузки |
|
0.0.99.98.3.255 |
профиль событий программирования параметров счетчика |
|
0.0.99.98.4.255 |
профиль событий внешних воздействий |
|
0.0.99.98.5.255 |
профиль коммуникационных событий |
|
0.0.99.98.6.255 |
профиль событий контроля доступа |
|
0.0.99.98.7.255 |
профиль событий – журнала самодиагностики |
|
0.0.99.98.8.255 |
профиль превышения реактивной мощности (тангенса сети) |
|
0.0.99.98.9.255 |
профиль параметров качества сети |
|
0.0.99.98.10.255 |
профиль состояний дискретных входов и выходов |
Ответ |
||
Формат |
json |
[…] - Массив объектов json |
Ключи объекта |
modem |
Десятичный уникальный идентификатор модема прибора учета |
|
timefrom |
unix timestamp начального времени выборки. Может отсутствовать |
|
timeto |
unix timestamp конечного времени выборки |
|
events |
Массив объектов записей профиля |
Ключи записи профиля |
profile |
Указывает из какого профиля получена запись, см. «Значения параметра profile» |
|
ts_get |
unix timestamp время получения сообщения УСПД / сервером |
|
1.0.0 |
Описание параметров OBIS и единиц измерения приводится ниже |
|
96.11.E |
Код события, причем E – совпадает с аналогичным профиля. Значение кода приводится в СТО 34.01-5.1-006-2017 Приложение Д. Ссылочная таблица событий (http://www.rosseti.ru/investment/standart/corp_atandart/doc/CTO_%2034.01.5.1-006-2017.pdf) (прилагается к данному описанию) |
Пример получения последних событий двух приборов учета
запрос:
http://.../api/report/events/?modem=100,101
ответ:
BODY |
[ { "events": [ { "1.0.0": 1516700997, // время, когда произошло событие "96.11.1": 29, // события связанные с током : Фаза С - превышение макс. тока начало "profile": "0.0.99.98.1.255", // профиль событий тока "ts_get": 1516701997 // время получения сервером } ], "modem": 101, "timeto": 1517591691 }, { "events": [ { "1.0.0": 1516634493, "96.11.1": 29, "profile": "0.0.99.98.1.255", "ts_get": 1516634522 } ], "modem": 100, "timeto": 1517591691 } ] |
Отправка команд управления
|
Значение |
Описание |
Запрос |
||
Протокол |
http(s) |
|
Тип запроса |
GET или POST |
|
Путь |
/api/cmd/send |
|
Параметры |
modem |
Десятичный уникальный идентификатор модема прибора учета. Допускается массив значений через «,» |
|
code |
Строковый идентификатор команды, список доступных команд приведен ниже, при отсутствии значения – чтение из прибора учета |
|
value |
Значение команды, может отсутствовать |
Значения параметра code |
0.0.1.0.0.255_3 |
Часовой пояс [мин] |
|
0.0.1.0.0.255_7 |
Сдвиг летнего времени [мин] |
|
0.0.1.0.0.255_8 |
Разрешение перевода на летнее время |
|
1.0.0.4.2.255_2 |
Коэффициент трансформации по току |
|
1.0.0.4.3.255_2 |
Коэффициент трансформации по напряжению |
|
1.0.0.8.4.255_2 |
Период записи в профиль 1 [мин] |
|
1.0.0.8.5.255_2 |
Период записи в профиль 2 [мин] |
|
1.0.0.10.2.255_2 |
Активное сопротивление линии |
|
1.0.12.39.0.255_2 |
Пороговое напряжение для фиксации перерыва питания |
|
1.0.12.35.0.255_2 |
Пороговое напряжение для фиксации перерыва питания |
|
1.0.12.35.0.255_2 |
Порог для фиксации перенапряжения |
|
1.0.12.31.0.255_2 |
Порог для фиксации провала напряжения |
|
1.0.12.43.0.255_2 |
Время перехода напряжения через нижний порог |
|
1.0.12.44.0.255_2 |
Время перехода напряжения через нижний порог |
|
1.0.12.45.0.255_2 |
Время пропадания напряжения |
|
1.0.131.35.0.255_2 |
Порог для фиксации превышения тангенса нагрузки |
|
1.0.133.35.0.255_2 |
Порог для фиксации коэффициента несимметрии напряжений |
|
1.0.0.6.4.255_2 |
Согласованное напряжение электропитания / Опорное напряжение для измерения качества электроэнергии |
|
0.0.17.0.0.255_3 |
мощность для отключения // Активный порог |
|
0.0.17.0.0.255_6 |
мощность для отключения // Мин. длительность превышения порога |
|
0.0.17.0.0.255_7 |
мощность для отключения // Мин. длительность снижения ниже порога |
|
0.0.17.0.1.255_3 |
ток для отключения // Активный порог |
|
0.0.17.0.1.255_6 |
ток для отключения // Мин. длительность превышения порога |
|
0.0.17.0.1.255_7 |
ток для отключения // Мин. длительность снижения ниже порога |
|
0.0.17.0.2.255_3 |
напряжения для отключения // Активный порог |
|
0.0.17.0.2.255_6 |
напряжения для отключения // Мин. длительность превышения порога |
|
0.0.17.0.2.255_7 |
напряжения для отключения // Мин. длительность снижения ниже порога |
|
0.0.17.0.3.255_3 |
воздействия магн. поля для откл. // Активный порог |
|
0.0.17.0.3.255_6 |
воздействия магн. поля для откл. // Мин. длительность превышения порога |
|
0.0.17.0.3.255_7 |
воздействия магн. поля для откл. // Мин. длительность снижения ниже порога |
|
0.0.17.0.4.255_3 |
разбаланс токов для отключения // Активный порог |
|
0.0.17.0.4.255_6 |
разбаланс токов для отключения // Мин. длительность превышения порога |
|
0.0.17.0.4.255_7 |
разбаланс токов для отключения // Мин. длительность снижения ниже порога |
|
0.0.17.0.5.255_3 |
превышение температуры для откл. // Активный порог |
|
0.0.17.0.5.255_6 |
превышение температуры для откл. // Мин. длительность превышения порога |
|
0.0.17.0.5.255_7 |
превышение температуры для откл. // Мин. длительность снижения ниже порога |
|
0.0.96.3.10.255_4 |
Режим управления реле отключения абонента // режим работы |
|
0.0.96.3.10.255_3 |
Режим управления реле отключения абонента // состояние управления = 1 on / 2 off |
|
0.0.96.3.10.255_2 |
Режим управления реле отключения абонента // статус управления = 1 on / 0 off |
|
1.0.0 |
Синхронизация времени, без значения, производится сетью автоматически при каждом сеансе связи, отправка команды не требуется |
|
94.7.0 |
Опросить мгновенные показания, без значения. После выполнения команды появляется запись в профиле 1.0.94.7.0.255 |
|
13.0.0 |
Устанавливает тарифное расписание(при указании времени активации в будущем – устанавливается пассивное расписание, иначе – активное), при отсутствии значения – чтение из прибора учета. Значение должно проходить валидацию для успешной отправки. Описание тарифного расписания см. в приложении |
Ответ |
||
Формат |
json |
{cmd_id:{…}} – Список идентификатор запросов |
|
Ключи объекта |
Десятичный уникальный идентификатор модема прибора учета |
|
Значение ключа |
Числовой идентификатор запроса |
Пример установки максимума мощности для двух приборов учета
запрос:
http://.../api/cmd/send/?modem=7123456,7123457&=17.0.0&e=100
ответ:
BODY |
{ "cmd_id": { "7123456": 100011, "7123457": 100012 } } |
Получение статуса команд управления
|
Значение |
Описание |
Запрос |
||
Протокол |
http(s) |
|
Тип запроса |
GET или POST |
|
Путь |
/api/cmd/status |
|
Параметры |
cmd_id |
Числовой идентификатор запроса. Допускается массив значений через «,». |
Ответ |
||
Формат |
json |
{…} – Список идентификатор запросов |
|
Ключи объекта |
Числовой идентификатор запроса |
|
Значение ключа |
PENDING – в процессе отправки; WAIT_DATA – команда доставлена, ожидается передача данных от устройства на сервер; DONE – успешно выполнено; FAILED – не удалось подтвердить доставку; |
Пример получения статуса выполнения двух команд
запрос:
http://.../api/cmd/status/?cmd_id=100011,100012
ответ:
BODY |
{ "100011": "DONE", "100012": "FAILED" } |
Получение текущих настроек
|
Значение |
Описание |
Запрос |
||
Протокол |
http(s) |
|
Тип запроса |
GET или POST |
|
Путь |
/api/setting |
|
Параметры |
modem |
Десятичный уникальный идентификатор модема прибора учета. Допускается массив значений через «,» |
|
code |
Строковый идентификатор команды. Для получения полного списка параметра настроек должен отсутствовать |
Ответ |
||
Формат |
json |
{…} – Список идентификатор запросов |
|
Ключи объекта |
Десятичный уникальный идентификатор модема прибора учета |
|
Значение ключа |
Двусвязный список: настройка - значение |
Пример получения текущих настроек двух приборов учета
запрос:
http://.../api/setting/?modem=7123456,7123457
ответ:
BODY |
{ "7123456": { "17.0.0": "100" }, "7123457": {} } |
Приложение А. Тарифное расписание
Структура тарифного расписания
{ active : timestamp , seasons : { day_start : week_name , ... }, weeks : { week_name : [day_id_1 ... day_id_7], ... }, days : { day_id: { start_time : tariff , ... }, ... }, special_days : { day_start : day_id, ... } } |
где:
Пример минимального тарифного расписания:
{ { "seasons":{ "101":0// - 1янв начало сезона, действует неделя 0 }, "weeks":{ "0":[0,0,0,0,0,0,0] // для недели 0 все дни 0 }, "days":{ "0":{ "0":0 // день 0 содержит 1 таймзону с началом в 00:00 и тарифом 0 } } } |
Пример 2:
{ "activate":1515542400, // активировать расписание 10 Jan 2018 00:00:00 GMT "seasons":{ "1003":5, // 3 окт начало недели 5 "1031":2, // 31 окт начало недели 2 "1230":5 // 30 декабря начало недели 5 }, "weeks":{ "2":[10,10,10,22,22,10,10], // в неделю 2 в пн,вт,ср,сб,вс день 10, а в чт,пт день 22 "5":[22,22,22,22,10,10,10] }, "days":{ "10":{ "60":1, // с 01:00 действует тариф 1 "360":2, // с 06:00 – т2 "720":0 // с 12:00 – т0 }, "22":{ "1080":3, "880":2, "920":1 } }, "special_days":{ "101":22, "102":22, "208":22 // 8 февраля действует день 22 } } |
Состояние выключателя:
0 – отключено;
1 – включено.
Статус управления:
0 - отключено;
1 - включено;
2 - разрешено включение.
Режим управления:
Режим |
отключение |
включение |
||||||
|
удаленное |
ручное |
локальное |
удаленное |
ручное |
локальное |
||
статус |
1->0 |
1->2 |
1->2 |
1->2 |
0->1 |
0->2 |
2->1 |
2->1 |
0 |
нет |
нет |
нет |
нет |
нет |
нет |
нет |
нет |
1 |
да |
да |
да |
да |
нет |
да |
да |
нет |
2 |
да |
да |
да |
да |
да |
нет |
да |
нет |
3 |
да |
да |
нет |
да |
нет |
да |
да |
нет |
4 |
да |
да |
нет |
да |
да |
нет |
да |
нет |
5 |
да |
да |
да |
да |
нет |
да |
да |
да |
6 |
да |
да |
нет |
да |
нет |
да |
да |
да |
7 |
да |
да |
да |
да |
да |
да |
нет |
да |