Содержание:
- Запрос версии ПО
- Запрос серого списка ПУ
- Запрос списка заданий ПУ
- Установка серого списка ПУ
- Удаление ПУ из серого списка
- Установка заданий опроса ПУ
- Удаление заданий опроса ПУ
- Запрос статусов команды управления переключения реле
- Запрос статусов выполнения команды смены пароля ПУ
- Запрос статусов выполнения команды на смену тарифного расписания в ПУ
- Запрос всех статусов выполнения команд
Запрос версии ПО:
Тип запроса: GET. Пример: <адрес_УСПД>/spodes_to_electro5/version
{
"msg_type": "version"
}
Запрос серого списка ПУ:
Тип запроса: GET. Пример: <адрес_УСПД>/spodes_to_electro5/gray_list_meters
{
"msg_type": "get_gray_list"
}
Запрос списка заданий ПУ:
Тип запроса: GET. Пример: <адрес_УСПД>/spodes_to_electro5/tasks
{
"msg_type": "get_tasks"
}
Установка серого списка ПУ
Состав информации для ввода пользователем для серого списка ПУ:
Номер счетчика,
пароль высокого уровня для подключения к счетчику,
адрес счетчика (если 0 – то высчитываю сам),
Тип запроса: POST. Пример: <адрес_УСПД>/spodes_to_electro5/gray_list_meters
Пример json для установки серого списка счетчиков:
{ "msg_type": "set_gray_list", "data": { "gray_list_meters": [ { "modem_id":123456, "password":"qwerty123456", "meter_address":1625, "ip":"127.0.0.1", "port":100 }, { "modem_id":7890, "password":"qwerty7890", "meter_address":2222, "ip":"127.0.0.1", "port":500 } ] } }
Удаление ПУ из серого списка
Тип запроса: DELETE. Пример: <адрес_УСПД>/spodes_to_electro5/gray_list_meters
{ "msg_type": "delete_from_gray_list", "data": { "gray_list_meters": [ 123456, 7890 ] } }
Установка заданий опроса ПУ
Задания для опроса хранятся в файле meters_tasks.xml на УСПД рядом с исполняемым файлом софта.
Тип запроса: POST. Пример: <адрес_УСПД>/spodes_to_electro5/tasks
«comment for json» – чисто для комментариев в примере. Присылать его не нужно.
Пример json для установки заданий счетчиков:
{ "msg_type": "set_tasks", "data": { "meters_tasks": [ { "task_id": 1, "priority": 0, "execution_type": 2, "meter_ids":[ 123456 ], "meter_scripts": [ { "comment for json": "service_id может быть: get, set, action. index - или индекс атрибута, или индекс метода, если service_id = action", "service_id": "get", "class_id": 7, "obis": "1.0.98.1.0.255", "index": 3, "value":{ "comment for json": "(опциональный) новое значение атрибута/параметра метода. var_type - тип переменной, согласно DLMS, val - значение атрибута/параметра.", "var_type": 16, "val": 100 }, "range_descriptor":{ "comment for json": "описание селективной выборки по диапазону, если собираемый объект принадлежит классу General Profile [ИК:7, вер.:1];(опциональный).", "from_value":{ "var_type": 16, "val": 100 }, "to_value":{ "var_type": 16, "val": 150 }, "selected_values":[ { "comment for json": "Capture_Object_Definition", "class_id": 7, "obis": "1.0.98.1.0.255", "index": 3, "data_index": 0 } ] }, "entry_descriptor":{ "comment for json": "описание селективной выборки по записям, если собираемый объект принадлежит классу General Profile. [ИК:7, вер.:1];(опциональный).", "from_entry": 0, "to_entry": 100, "from_selected_value": 1, "to_selected_value": 1000 } } ], "execution_time_dates":[ { "date": "30.11.2023", "time": "15:30" }, { "comment for json": "Дата может отсутствовать, время должно быть всегда", "time": "16:00" } ] } ] } }
Удаление заданий опроса ПУ
Тип запроса: DELETE. Пример: <адрес_УСПД>/spodes_to_electro5/tasks
{ "msg_type": "delete_tasks", "data": { "task_ids": [ 1, 2, 3 ] } }
Запрос статусов выполнения команды переключения реле
Тип запроса: GET. Пример: <адрес_УСПД>/spodes_to_electro5/relay_execute_status
{
"msg_type": "get_relay_execute_status"
}
В ответ приходит json с массивом статусов выполнения команды переключения реле вида:
{ "relay_execute_status": [ { "attempts_connection_to_meter": 1, "begin_execute_task": "20.02.2024 14:22:34", "end_execute_task": "0", "meter_id": "123456", "status": 1, "task_id": 1 }, { "attempts_connection_to_meter": 2, "begin_execute_task": "20.02.2024 14:22:34", "end_execute_task": "20.02.2024 14:22:35", "meter_id": "56789", "status": 0, "task_id": 2 } ] }
Запрос статусов выполнения команды смена пароля в ПУ
Тип запроса: GET. Пример: <адрес_УСПД>/spodes_to_electro5/change_meter_password_execute_status
{
"msg_type": "get_change_meter_password_execute_status"
}
В ответ приходит json с массивом статусов выполнения команды переключения реле вида:
{ "change_meter_password_execute_status": [ { "attempts_connection_to_meter": 1, "begin_execute_task": "20.02.2024 14:22:34", "end_execute_task": "0", "meter_id": "123456", "status": 1, "task_id": 1 }, { "attempts_connection_to_meter": 2, "begin_execute_task": "20.02.2024 14:22:34", "end_execute_task": "20.02.2024 14:22:35", "meter_id": "56789", "status": 0, "task_id": 2 } ] }
Запрос статусов выполнения команды на смену тарифного расписания в ПУ
Тип запроса: GET. Пример:
<адрес_УСПД>/spodes_to_electro5/change_tariff_execute_status
{
"msg_type": "get_change_tariff_execute_status"
}
В ответ приходит json с массивом статусов выполнения команды переключения реле вида:
{ "change_tariff_execute_status": [ { "attempts_connection_to_meter": 1, "begin_execute_task": "20.02.2024 14:22:34", "end_execute_task": "0", "meter_id": "123456", "status": 1, "task_id": 1 }, { "attempts_connection_to_meter": 2, "begin_execute_task": "20.02.2024 14:22:34", "end_execute_task": "20.02.2024 14:22:35", "meter_id": "56789", "status": 0, "task_id": 2 } ] }
Запрос всех статусов выполнения заданий
Тип запроса: GET. Пример:
<адрес_УСПД>/spodes_to_electro5/task_execute_statuses
{
"msg_type": "get_task_execute_statuses"
}
В ответ приходит json с массивом статусов выполнения заданий вида:
{ "task_execute_statuses": [ { "attempts_connection_to_meter": 6, "begin_execute_task": "27.06.2024 09:49:35", "end_execute_task": "27.06.2024 09:49:48", "meter_id": "9787879", "status": 6, "task_id": 1625 }, { "attempts_connection_to_meter": 6, "begin_execute_task": "27.06.2024 09:49:35", "end_execute_task": "27.06.2024 09:49:47", "meter_id": "9775601", "status": 6, "task_id": 5712 } ] }
Ключ – номер ПУ, значение массив статусов для этого ПУ.