Передача данных в государственный реестр ОНВОС

  • Михаил
  • 8 мин. на прочтение
  • 26
  • 04 Sep 2025
  • 05 Sep 2025

JSON-структура формата передачи данных о показателях выбросов/сбросов загрязняющих веществ с автоматических средств измерения (АСИ) в государственный реестр ОНВОС, основанная на Приказе № 382:


1. Формат HTTP-запроса от АСИ в ПТО УОНВОС

Заголовки HTTP:

{
 "serial": "Уникальный номер сертификата ключа проверки ЭП",
 "signature": "Электронная подпись (квалифицированный сертификат)"
}

Путь HTTP:

/api/v1/onv/{device_uuid}

Тело запроса (JSON):

{
 "onv": "Уникальный идентификатор объекта ОНВОС",
 "timestamp": 1725600000,  // Unix timestamp
 "sources": [
   {
     "source_uuid": "Уникальный идентификатор источника",
     "pniv": "Порядковый номер источника",
     "sensors": [
       {
         "sensor_uuid": "Уникальный идентификатор датчика",
         "impact_type": "air|water",  // Вид воздействия
         "state": "ok|error|maintenance",  // Состояние датчика
         "parameters": [
           {
             "parameter_uuid": "Уникальный идентификатор параметра",
             "code": "Код состояния оборудования",
             "values": [
               {
                 "value_uuid": "Уникальный идентификатор значения",
                 "timestamp_start": 1725600000,  // Начало усреднения
                 "timestamp_end": 1725603600,    // Конец усреднения
                 "value": 123.45,                // Значение (число)
                 "unit": "gPerSec|mgPerdm3|kPa|Percent|m3PerHour|C|mgPerm3|ph"
               }
             ]
           }
         ]
       }
     ]
   }
 ]
}

Обновленный формат передачи данных.

{
 "format_version": "1.0",  // Версия схемы данных
 "onv": "Уникальный идентификатор объекта ОНВОС",
 "timestamp": 1725600000,  // Unix timestamp
 "sources": [
   {
     "source_uuid": "Уникальный идентификатор источника",
     "pniv": "Порядковый номер источника",
     "equipment_uuid": "Уникальный идентификатор технологического оборудования",
     "sensors": [
       {
         "sensor_uuid": "Уникальный идентификатор датчика",
         "impact_type": "air|water",  // Вид воздействия
         "state": "ok|error|maintenance",  // Состояние датчика
         "amsstate": "OK|ERROR|MAINTENANCE",  // Состояние АСИ
         "parameters": [
           {
             "parameter_uuid": "Уникальный идентификатор параметра",
             "pollutant_uuid": "Уникальный идентификатор загрязняющего вещества",
             "code": "Код состояния оборудования (например, Code(pollutant_uuid), GasPressure, OxygenContent и т.д.)",
             "values": [
               {
                 "value_uuid": "Уникальный идентификатор значения",
                 "timestamp_start": 1725600000,  // Начало усреднения
                 "timestamp_end": 1725603600,    // Конец усреднения
                 "value": 123.4567890123,        // Значение (число, до 10 знаков после запятой)
                 "unit": "gPerSec|tPerYear|kgPerHour|mgPerdm3|kPa|Percent|m3PerHour|C|mgPerm3|ph|OxygenConsumption|Turbidity"
               }
             ]
           }
         ]
       }
     ]
   }
 ]
}

Ключевые изменения:

Добавлены новые поля на верхнем уровне:

  • format_version: Версия схемы данных.
  • amsstate: Состояние автоматических средств измерения (АСИ).
  • pollutant_uuid: Уникальный идентификатор загрязняющего вещества (внутри parameters).
  • equipment_uuid: Уникальный идентификатор технологического оборудования (внутри sources).

Обновлены возможные значения для unit:

  • Добавлены новые единицы измерения: tPerYear, kgPerHour, OxygenConsumption, Turbidity.
  • Уточнены описания для существующих единиц измерения.

Добавлены новые возможные значения для code:

  • amsstate (состояние АСИ: OK, ERROR, MAINTENANCE).
  • ControlledEquipmentState(Equipment_uuid) (состояние технологического оборудования: OK, PLANNED_STOP, UNSCHEDULED_STOP, ADJUSTMENT_WORKS).
  • ElectronicSealState (состояние электронной пломбы: OK, ERROR, MAINTENANCE).

Уточнены описания для impact_type и value:

  • impact_type может быть air или water.
  • value — число, до 10 знаков после запятой.

2. Формат HTTP-ответа от ПТО УОНВОС в АСИ

Заголовки HTTP:

{
 "signature": "Электронная подпись ответа"
}

Тело ответа (JSON):

{
 "code": 200,  // Код состояния HTTP
 "message": "Описание состояния",
 "commands": [
   {
     "command_uuid": "Уникальный идентификатор команды",
     "command": "Текст команды",
     "arguments": {}  // Аргументы (разные типы)
   }
 ],
 "errors": [
   {
     "uuid": "Уникальный идентификатор элемента с ошибкой",
     "message": "Сообщение об ошибке"
   }
 ]
}

3. Примеры значений полей value и unit (по видам воздействия)


4. Возможные значения для полей state и code

Состояние АСИ (state):

  • ok — работает исправно
  • error — ошибка
  • maintenance — техническое обслуживание

Состояние технологического оборудования (code):

  • OK — исправно
  • PLANNED_STOP — плановая остановка
  • UNSCHEDULED_STOP — внеплановая остановка
  • ADJUSTMENT_WO — настройка

Состояние электронной пломбы (ElectronicSealState):

  • OK — не нарушено
  • ERROR — нарушено
  • MAINTENANCE — нарушено для технических работ

Примечания

  • Все временные метки (timestamp) передаются в формате Unix timestamp (секунды).
  • Уникальные идентификаторы (uuid) должны соответствовать внутренним реестрам АСИ и ПТО УОНВОС.
  • Электронная подпись (signature) формируется в соответствии с 63-ФЗ "Об электронной подписи".