# Инструкция по установке и настройке

В этом документе приведены подробные инструкции по установке, настройке и использованию системы интеграции Remonline с Яндекс Колонками.

## Содержание

1. [Требования](#требования)
2. [Установка](#установка)
3. [Настройка](#настройка)
   - [Настройка Яндекс OAuth](#настройка-яндекс-oauth)
   - [Настройка соответствия инженеров и устройств](#настройка-соответствия-инженеров-и-устройств)
   - [Настройка сценариев уведомлений](#настройка-сценариев-уведомлений)
4. [Настройка CRON](#настройка-cron)
5. [Проверка работоспособности](#проверка-работоспособности)
6. [Возможные проблемы](#возможные-проблемы)

## Требования

Для корректной работы системы необходимы:

- Веб-сервер Apache/Nginx с поддержкой PHP 7.4+
- PHP с расширениями:
  - PDO и PDO_PGSQL
  - cURL
  - json
  - mbstring
- База данных PostgreSQL
- Учетная запись в API Remonline
- Зарегистрированное приложение OAuth в Яндекс.Облаке
- Устройства Яндекс с Алисой, привязанные к аккаунту

## Установка

1. Скопируйте файлы проекта на ваш веб-сервер в корневую директорию сайта.

2. Создайте базу данных PostgreSQL для хранения статистики и настроек.

3. Настройте доступы к базе данных, добавив соответствующие переменные окружения:
   ```
   DATABASE_URL=postgresql://username:password@localhost:5432/dbname
   ```
   или
   ```
   PGHOST=localhost
   PGPORT=5432
   PGDATABASE=dbname
   PGUSER=username
   PGPASSWORD=password
   ```

4. Убедитесь, что директории `data/` и `logs/` доступны для записи веб-сервером:
   ```bash
   mkdir -p data logs
   chmod -R 775 data logs
   chown -R www-data:www-data data logs  # или соответствующий пользователь веб-сервера
   ```

5. Откройте сайт в браузере и перейдите на главную страницу для начала настройки.

## Настройка

### Настройка Яндекс OAuth

Для авторизации с Яндексом вам необходимо иметь зарегистрированное OAuth-приложение в Яндекс.Облаке:

1. Перейдите на [https://oauth.yandex.ru/](https://oauth.yandex.ru/) и создайте новое приложение.
2. В настройках приложения укажите Callback URL: `https://ваш-домен.ru/callback_yandex.php`
3. Выберите необходимые права для доступа к Умному дому (yandex.devices)
4. Получите Client ID и Client Secret.
5. Обновите соответствующие параметры в файле `config/config.php`:
   ```php
   define('YANDEX_CLIENT_ID', 'ваш-client-id');
   define('YANDEX_CLIENT_SECRET', 'ваш-client-secret');
   define('YANDEX_REDIRECT_URI', 'https://ваш-домен.ru/callback_yandex.php');
   ```

6. На главной странице системы нажмите кнопку "Авторизовать с Яндекс" и следуйте инструкциям.

### Настройка соответствия инженеров и устройств

1. После успешной авторизации с Яндексом, перейдите на страницу "Настройка инженеров".
2. Отобразится список доступных устройств, полученный из вашего аккаунта Яндекс.
3. Скопируйте ID устройств и укажите их в соответствующих полях для каждой колонки.
4. Добавьте инженеров, указав их фамилии и выбрав группу устройств, на которую они будут получать уведомления.
5. Сохраните настройки.

### Настройка сценариев уведомлений

Настройка сценариев уведомлений выполняется в файле `config/scenarios_config.php`. По умолчанию система уже настроена на основные сценарии:

- Уведомления о новых заказах
- Уведомления о приближающихся дедлайнах (60, 30, 10 минут)
- Уведомления о просроченных заказах
- Уведомления о заказах на проверке
- Уведомления о заказах, требующих согласования

Вы можете изменить шаблоны сообщений или настроить дополнительные параметры в этом файле.

## Настройка CRON

Для автоматического запуска сценариев необходимо настроить задание CRON. Рекомендуется запускать проверку каждые 5 минут:

```bash
*/5 * * * * php /путь/к/вашему/сайту/cron_jobs/run_scenarios.php >> /dev/null 2>&1
```

## Проверка работоспособности

1. На главной странице системы нажмите кнопку "Подключенные устройства".
2. Выберите устройство и нажмите "Тест" для проверки отправки тестового сообщения.
3. Запустите один из сценариев вручную, чтобы проверить корректность работы системы.

## Возможные проблемы

### Проблемы с авторизацией Яндекс

1. Убедитесь, что указан правильный Callback URL в настройках OAuth-приложения.
2. Проверьте права доступа для директории `data/` для сохранения токенов.
3. Проверьте логи в директории `logs/` для получения дополнительной информации.

### Проблемы с доступом к устройствам

1. Убедитесь, что выданы необходимые разрешения при авторизации с Яндекс.
2. Проверьте, что устройства добавлены в ваш аккаунт Яндекс и доступны в умном доме.
3. Проверьте правильность указанных ID устройств.

### Проблемы с базой данных

1. Убедитесь, что настроены правильные параметры подключения к базе данных.
2. Проверьте, что пользователь базы данных имеет права на создание таблиц.

---

Разработано командой [KUZKO LTD](https://kuzko.su) © 2023-2025. Все права защищены.

Официальные сайты:
- [bitrix-seo.ru](https://bitrix-seo.ru)
- [kuzko.su](https://kuzko.su)