github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/plugins/onvif.md (about)

     1  
     2  ---
     3  title: "Plugin ONVIF"
     4  linkTitle: "onvif"
     5  date: 2024-01-04
     6  description: >
     7    
     8  ---
     9  
    10  Проект Smart Home предоставляет плагин ONVIF, который обеспечивает возможность взаимодействия с камерами наблюдения по протоколу ONVIF. Данный плагин реализует несколько методов JavaScript, предназначенных для управления камерами и получения снимков.
    11  
    12  #### Методы JavaScript
    13  
    14  1. **`Camera.continuousMove(X, Y)`**: Этот метод позволяет осуществлять плавное движение камеры по координатам X и Y.
    15  
    16  2. **`Camera.stopContinuousMove()`**: Данный метод останавливает непрерывное движение камеры.
    17  
    18  3. **`OnvifGetSnapshotUri(entityId)`**: Метод для получения URI снимка для указанного идентификатора устройства.
    19  
    20  4. **`DownloadSnapshot(entityId)`**: Метод для загрузки снимка с устройства по его идентификатору.
    21  
    22  #### Статус устройства
    23  
    24  - **`motion` (тип: Boolean)**: Статус, отображающий наличие движения, определенного камерой наблюдения.
    25  
    26  #### Настройки устройства
    27  
    28  - **`address` (тип: String)**: IP-адрес камеры наблюдения.
    29  
    30  - **`onvifPort` (тип: Int)**: Порт для соединения с камерой по протоколу ONVIF.
    31  
    32  - **`rtspPort` (тип: Int)**: Порт для передачи видео по протоколу RTSP.
    33  
    34  - **`userName` (тип: String)**: Имя пользователя для аутентификации при доступе к камере.
    35  
    36  - **`password` (тип: Encrypted)**: Зашифрованный пароль для аутентификации.
    37  
    38  - **`requireAuthorization` (тип: Bool)**: Флаг, указывающий, требуется ли авторизация для взаимодействия с камерой.
    39  
    40  #### Команды управления
    41  
    42  - **`continuousMove`**: Команда для запуска непрерывного движения камеры.
    43  
    44  - **`stopContinuousMove`**: Команда для остановки непрерывного движения камеры.
    45  
    46  #### Статусы устройства
    47  
    48  - **`connected`**: Устройство успешно подключено и готово к работе.
    49  
    50  - **`offline`**: Устройство недоступно или отключено от системы.
    51  
    52  Эти функции позволяют интегрировать камеры наблюдения в систему Smart Home и эффективно управлять ими через плагин ONVIF.
    53  
    54  Пример использования плагина "onvif" для реализации управления камерой:
    55  
    56  ```javascript
    57  continuousMove = function (args) {
    58      var X, Y;
    59      X = args['X'] || 0;
    60      Y = args['Y'] || 0;
    61      if (Math.abs(X) > Math.abs(Y)) {
    62          Y = 0;
    63      } else {
    64          X = 0;
    65      }
    66      return Camera.continuousMove(X, Y);
    67  };
    68  
    69  stopStop = function (args) {
    70      return Camera.stopContinuousMove();
    71  };
    72  
    73  ```