Содержание:
- Запрос версии ПО
- Запрос серого списка ПУ
- Запрос списка заданий ПУ
- Установка серого списка ПУ
- Удаление ПУ из серого списка
- Установка заданий опроса ПУ
- Удаление заданий опроса ПУ
- Запрос статусов команды управления переключения реле
- Запрос статусов выполнения команды смены пароля ПУ
- Запрос статусов выполнения команды на смену тарифного расписания в ПУ
- Запрос всех статусов выполнения команд
Запрос версии ПО:
Тип запроса: 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
}
]
}
Ключ – номер ПУ, значение массив статусов для этого ПУ.