Skip to content

Web Interface Russian

Martin Pihrt edited this page Oct 11, 2026 · 1 revision

Руководство по веб-интерфейсу OSPy на русском языке

Нативный мобильный API

См. полную документацию Mobile API v1, которая также доступна в справке OSPy в разделе API.

Мобильные приложения и мгновенные уведомления

Обычная связь приложения и доставка push используют разные пути. В обычном режиме Android-приложение подключается к сохранённому локальному или удалённому адресу установки, проверяет HTTPS, проходит аутентификацию токенами Mobile API v1 этой установки, читает состояние и отправляет разрешённые команды непосредственно в OSPy.

Для push OSPy не ждёт подключения приложения. Подходящее событие попадает в ограниченную фоновую очередь; OSPy подписывает HTTPS-запрос к relay, relay проверяет его и просит Firebase Cloud Messaging разбудить Android и показать системное уведомление. Ошибка relay или FCM не блокирует полив.

В разделе Параметры → Мобильные приложения, между карточками Пользователи и Безопасность, администратор настраивает HTTPS-адрес push relay и включает мгновенные уведомления. Push по умолчанию остаётся выключенным, а редактируемое поле relay заранее заполнено официальным адресом OSPy relay. Страница использует тот же список сопряжённых устройств, что и мобильный API, и показывает пользователя, роль, версию приложения, время сопряжения и последней активности, состояние push, а также последнюю успешную или неудачную доставку. Для каждого телефона можно выбрать категории запуска и остановки станции, дождя, диагностики, обновлений и других событий. Также можно отправить тест, отменить регистрацию push или отозвать всё устройство вместе с токенами входа. Активное устройство необходимо сначала отозвать, прежде чем его запись можно будет удалить навсегда; отозванные записи удаляются по одной или все вместе. Повторный вход из той же сохранённой установки Android использует её прежний идентификатор и заменяет токены без создания дополнительной строки.

OSPy не хранит ключи Firebase и FCM-токен телефона. Мобильное приложение регистрирует FCM-токен непосредственно в relay; OSPy получает только непрозрачный идентификатор подписки и ограниченный установкой секрет подписи. Подписанные события отправляются отдельным ограниченным рабочим потоком, поэтому недоступность Интернета или relay не задерживает планировщик и клапаны. Push по умолчанию выключен и требует HTTPS. Периодическая синхронизация при открытом приложении остаётся резервным механизмом. Точный контракт приведён в Mobile API v1.

В общем нижнем колонтитуле OSPy находится прямая ссылка на официальное приложение для Android в Google Play.

SQLite как основное хранилище (бета)

Когда Диагностика сообщает Готовность SQLite primary beta: Готово, в Параметрах становится доступен вариант SQLite primary (beta) в поле Режим хранения настроек. Перед переходом в этот режим и выходом из него OSPy создаёт полную системную резервную копию, совместно фиксирует проверенные копии SQLite и shelve/DBM, а затем перезапускается. При следующем запуске SQLite независимо проверяется до использования в качестве источника настроек; синхронизированная копия shelve/DBM остаётся немедленным резервным вариантом. Отсутствующий маркер активации, повреждённая база, несовпадение контрольной суммы или схемы либо недопустимая настройка безопасно оставляют OSPy на shelve/DBM, а причина отображается в Диагностике. Автоматического переключения не происходит; возврат в режим Проверка всегда доступен через ту же процедуру резервного копирования и перезапуска.

Установка OSPy
Войти
Домашняя страница
    Нормальный - % времени программы
    Активно — Задержка дождя
    Планировщик - Руководство
    Включено – Выключено
    Остановить все станции
    График водного баланса
    Подавлено задержкой из-за дождя
    Обнаружен дождь
    CPU темп
    CPU использования
    Версия программного обеспечения
    Внешний IP
    Время работы
    Диагностика
Обратная связь (Feedback)
Программы
    Добавить новую программу
    Группы программ
    Добавить группу
    Переименование группы
    Включить или выключить группу
    Копировать группу
    Удалить группу
    Беги сейчас
    Редактировать
    Копировать
    Перейти в группу
    Удалить все
    Включить или выключить программу
    Предупреждение о столкновении
    Тип расписания
        Выбранные дни (простой)
            Время начала
            Продолжительность
            Повторить
            Повторения
            Пауза
        Выбранные дни (расширенный)
            Планировщик
        Повторить (просто)
            Водный интервал
            Начиная с
            Время начала
            Продолжительность
            Повторить
            Повторения
            Пауза
        Повтор (расширенный)
            Водный интервал
            Начиная с
            Планировщик
        Еженедельно (расширенное)
            понедельник-воскресенье
        Пользовательский
            Водный интервал
            Начиная с
            День 1 - День 7
        Еженедельно (Прогноз погоды)
            Орошение мин
            Орошение макс
            Бегите максимум
            Коэффициент паузы
            Предпочтительные моменты исполнения
                День
                Время начала
                Приоритет
                Добавить – Удалить
    Никаких корректировок
    Отключение
    Активировать Мастер
Запустить один раз
    Беги сейчас
    Сбросить время
Плагины
    Управление
    Установить новый плагин
        Пользовательский плагин (ZIP)
        Github (https://github.com/martinpihrt/OSPy-plugins/archive/master.zip)
    Отключить все
    Включить все
    Включить проверку обновлений
    Загрузить изменения
    Изменения
    Автоматические обновления
Журнал
    Журнал событий
    Скачать журнал как
    Очистить журнал
    Удалить запись Эл. почта
Настройки
    Система
        Показать подсказки
        Имя системы
        Системная тема
        24-часовые часы
        HTTP IP-адрес
            О номере порта
        HTTP/S port
        Показывать плагины на главной странице
        Показать датчики дома
        Системный язык
        Показ фотографий на станциях
    Погода
        Использовать погоду
        Поставщик погоды
        API-ключ Stormglass
        Расположение
    Пользователи
        Отключить безопасность
        Имя администратора
        Текущий пароль
        Новый пароль
        Подтвердите пароль
        Дополнительные пользователи
    Безопасность
        Защита форм
        Используйте доступ HTTPS
        Доменное имя
        Использовать собственный доступ HTTPS
        Источник с поддержкой API CORS
        Включить API JSONP
        Запомненные логины в браузере
    Датчики
        Пароль для загрузки прошивки
    Настройка станций
        Использование
            О последовательном и параллельном режимах
        Количество выходов
        Пауза между станциями
        Минимальное время работы
    Настроить Мастер
        Мастер-станция
        Мастер две станции
        Активировать реле
        Смещение главного старта
        Смещение мастер-стопа
        Смещение старта второй главной станции
        Смещение остановки второй главной станции
    Датчик дождя
        Использовать датчик
        Нормально открытый
        Установить задержку дождя
        Время задержки дождя
    Ведение журнала
        Включить журнал запусков
        Максимальное количество записей о пробеге
        Включить запись электронной почты
        Максимальное количество записей о пробеге
        Включить журнал событий
        Максимальное количество записей о пробеге
        Включить журнал отладки
    Перезагрузка системы
        Перезапустить
        Перезагрузить
        Выключение
        По умолчанию
    Резервное копирование системы
        Скачать
        Загрузить
    сертификат SSL
        Загрузить
        Генерировать
Станция
    Станция
    Имя
    Использование
    Орошение
    Сток
    Фактор ЕТо
    Регулировка баланса
    Подключено
    Игнорировать дождь
    ВКЛ Главный?
        Не использовать
        ВКЛ Главная
        ВКЛ Основной 2
        ВКЛ Основная 1/2 программа
    Примечания
    Изображение
Датчики
    Добавить новый датчик
        Свойства датчиков
    Удалить все датчики
Помощь
    OSPy
        Readme
        Changelog
        Programs
        Web Interface Guide - Czech
        Web Interface Guide - English
        Web Interface Guide - German
        Web Interface Guide - Polish
        Web Interface Guide - Russian
        Web Interface Guide - Serbian
        Web Interface Guide - Slovak
    API
        Readme
        Подробности
    Plug-ins
        Readme
        Usage Statistics
        LCD Display
        Pressure Monitor
        Voice Notification
        Pulse Output Test
        Button Control
        CLI Control
        System Watchdog
        Voltage and Temperature Monitor
        Remote Notifications
        System Information
        MQTT
        Air Temperature and Humidity Monitor
        Wind Speed Monitor
        Weather-based Rain Delay
        Relay Test
        UPS Monitor
        Water Consumption Counter
        SMS Modem
        Signaling Examples
        Email Notifications
        Remote FTP Control
        System Update
        Water Meter
        Energy Meter
        Webcam Monitor
        Weather-based Water Level Netatmo
        Direct 16 Relay Outputs
        MQTT Zone Broadcaster
        System Debug Information
        Weather-based Water Level
        Real Time and NTP time
        Water Tank
        Humidity Monitor
        Monthly Water Level
        Pressurizer
        Ping monitor
        Temperature Switch
        Pool Heating
        E-mail Notifications SSL
        Sunrise and Sunset
        Photovoltaic Boiler
        IP CAM
        Modbus stations
        CHMI
        Прото
        Label Maker
        IP Scanner
        Database Connector
        OSPy Backup
        MQTT Home Assistant
        Shelly Cloud Integration
        Current loop tanks monitor

Установка OSPy

Для чистой установки рекомендуются Raspberry Pi OS или Debian 12 и Python 3.11 либо новее. Установщик всегда загружает стабильную ветку OSPy master. При первом запуске на странице входа отображается созданный пароль администратора; сразу после входа измените его в настройках.

ИСПОЛЬЗОВАНИЕ СКРИПТА УСТАНОВКИ

Войдите в Pi, используя SSH. Введите или скопируйте и вставьте следующую команду: Помните: команды Raspberry Pi чувствительны к регистру.

wget https://raw.githubusercontent.com/martinpihrt/OSPy/master/ospy_setup.sh
sudo bash ospy_setup.sh

Меню отделяет основные требования от дополнительных пакетов MQTT и мультимедиа. Выберите /opt или домашний каталог пользователя, запустившего скрипт. Установщик никогда не удаляет, не сбрасывает и автоматически не обновляет существующую копию Git. Он создаёт службу из версионируемого шаблона systemd, запускает её и проверяет состояние; при ошибке выводятся последние сообщения службы. Перезагрузка рекомендуется только после изменения I²C или групп. Успешная установка доступна на порту 8080. Подробная безопасная процедура, ручное обновление и локальное восстановление учётной записи описаны в документе справки Clean installation.


Выход из системы

После нажатия кнопки "Выход из системы" пользователь выходит из системы. Выход из системы


Войти

На странице входа представлено текстовое поле для ввода имени и пароля. Имя по умолчанию — admin. При первой установке будет сгенерирован случайный пароль (потом этот пароль необходимо сменить на другой пароль в настройках! На странице - вкладка "Настройки" рекомендуется сменить пароль (или даже имя) на свой новый пароль. Введите имя, пароль и нажмите кнопку ВОЙТИ.


Домашняя страница

Домашняя страница — это главный центр управления веб-интерфейсом. Это включает в себя:

  • Часы показывают текущее время На всех страницах.
  • Панель навигации вверху для перемещения между страницами. Интерфейс также находится на других страницах, помимо страницы входа в систему.
  • Набор кнопок для внесения глобальных изменений в поведение системы.
  • Временная шкала, предоставляющая информацию о завершенных и запланированных мероприятиях по ирригации.
  • График, предоставляющий информацию о событиях орошения.
  • Нижний колонтитул, присутствующий на всех страницах (если пользователь авторизован). В нижнем колонтитуле указаны: температура процессора, загрузка процессора, версия программного обеспечения, внешний IP-адрес, время работы ОС.
  • Некоторые расширения могут вставлять домашнюю страницу и другие элементы. Например, астральное расширение добавляет на временную шкалу графические изображения восхода и заката солнца. Расширенный бак мониторит графическую колонку с объемом и количеством воды.

Нормальный - % времени программы

Кнопка, позволяющая установить «уровень воды» в процентах от общего времени работы для всех программ полива (для программ можно увеличить или уменьшить установленное время).

Активно — Задержка дождя

Задержка из-за дождя. Кнопка, позволяющая приостановить полив на определенный период времени для всех станций, кроме тех, для которых на странице «Станции» установлено игнорирование дождя.

Планировщик - Руководство

Планировщик - Ручной. Кнопка, переключающая систему между расписанием (автоматическим режимом) и ручным режимом, что позволяет напрямую управлять станциями.

Включено – Выключено

Кнопка включения или отключения запуска программы OSPy (при отключении планировщик не запускается).

Остановить все станции

Кнопка "Остановить все станции" используется для немедленной отмены запущенной программы полива или активной станции.

График водного баланса

Для каждой включённой станции, используемой программой полива, график внизу главной страницы показывает текущий водный баланс. За каждый день учитываются эвапотранспирация (ETo), скорректированная коэффициентом ETo станции, дождь, если станция не настроена игнорировать его, а также завершённый или запланированный полив. В сведениях о точке отдельно показаны ETo, дождь, вклад отдельных программ и итоговое значение для прошедших и прогнозируемых дней.

Если включена настройка Использовать погоду, ETo и дождь поступают от выбранного поставщика Open-Meteo, CHMI ALADIN или Stormglass. API-ключ требуется только для Stormglass; Open-Meteo и CHMI не должны зависеть от старого ключа Dark Sky. Если погода отключена, используются коэффициент ETo станции и нулевое количество дождя. Если данные баланса загрузить не удаётся, главная страница показывает видимое сообщение об ошибке, а OSPy записывает технические подробности в журнал вместо молчаливого отображения пустого графика.

Подавлено задержкой из-за дождя

Если задержка дождя включена, будет отображаться «Подавлено задержкой из-за дождя», и все станции (кроме тех, которые настроены на игнорирование дождя на странице «Станции») будут заблокированы на некоторое время.

Обнаружен дождь

Если датчик дождя активирован, на дисплее будет отображаться «Подавлено датчиком дождя», и все станции (кроме тех, которые настроены на игнорирование дождя на странице «Станции») будут заблокированы.

CPU темп

Температура процессора Raspberry Pi. Отображаемую температуру можно переключать между C и F.

CPU использования

Использование процессора Raspberry pi. Использование отображается в %.

Версия программного обеспечения

Ссылка на репозиторий программного обеспечения проекта и номер версии установленного программного обеспечения. Стабильные сборки из ветки master используют числовую версию, например 3.0.238. Тестовые сборки из ветки beta показывают ту же ревизию с суффиксом -beta, например 3.0.238-beta. Перенос того же коммита в master убирает суффикс без изменения номера ревизии.

Безопасное обновление и автоматический возврат

Перед каждым обновлением плагин System Update сначала сохраняет настройки и создаёт проверенную резервную копию. Затем, ещё до изменения файлов, отслеживаемых Git, он запускает внешний watchdog. В установках с systemd watchdog работает в отдельной временной службе и остаётся активным во время перезапуска OSPy. Без systemd используется отсоединённый вспомогательный процесс.

Новый процесс OSPy подтверждает успешное обновление только после того, как планировщик зарегистрирует новый heartbeat, а веб-интерфейс начнёт принимать соединения. Если успешный запуск не подтверждён в течение 120 секунд, watchdog автоматически восстанавливает предыдущий commit и исходную ветку и перезапускает OSPy. Если watchdog не удаётся запустить, обновление прекращается до изменения отслеживаемых файлов. Результат работы watchdog также доступен в Диагностике в состоянии плагина System Update.

System Update показывает полный commit запущенной версии и точный целевой commit выбранного канала. Проверенным стабильным выпуском считается только аннотированный Git-тег формата vX.Y.Z, commit которого доступен из origin/master. Сообщение аннотированного тега используется как краткие примечания к выпуску. Легковесные теги, другие имена и теги вне master не предлагаются.

Возврат к последнему проверенному стабильному выпуску или ручной возврат к более старому commit сначала сохраняет настройки, создаёт проверенную резервную копию и запускает тот же внешний watchdog, что и обычное обновление. Стабильный возврат переключает рабочую ветку на master. Сопровождающий проекта создаёт теги выпусков вручную только после успешных тестов; плагин никогда не создаёт теги самостоятельно.

Внешний IP

Внешний IP-адрес для системы OSPy (адрес вашего провайдера связи — роутера). Проверено через pihrt.com.

Время работы

Время работы Raspberry pi с момента включения (или перезапуска).

Диагностика

Строка База данных также показывает активное хранилище настроек и готовность SQLite. Эта переходная версия продолжает читать и записывать существующие файлы shelve/DBM. Сама проверка готовности использует только временную базу данных в памяти и не создаёт файл или перенос данных. Если поддержка SQLite в Python недоступна, OSPy продолжает использовать shelve/DBM и показывает причину только как справочную информацию, а не как ошибку системы.

После каждого успешного сохранения настроек OSPy создаёт рядом с активными файлами shelve/DBM проверенную теневую копию options.sqlite3. Она записывается во временный файл и атомарно заменяется только после успешной проверки схемы, ключей, значений и целостности. При запуске OSPy никогда не загружает настройки из теневой копии. Ошибка синхронизации не затрагивает основное сохранение shelve и отображается как предупреждение в строке База данных; отсутствующая теневая копия ожидает следующего сохранения настроек.

При запуске OSPy сравнивает основные значения shelve с контрольными суммами SHA-256, сохранёнными в теневой схеме 2. Автоматическое сравнение не десериализует значения pickle из теневой копии и никогда не использует их для восстановления или запуска OSPy. Совпадающая копия отмечается как проверенная; отсутствующие, изменённые или неожиданные ключи, а также повреждение контрольной суммы или базы отображаются как предупреждение, при этом shelve продолжает использоваться. Теневая копия схемы 1 из предыдущего переходного этапа не читается и безопасно заменяется при следующем сохранении настроек.

При запуске и после каждой успешной замены теневой копии OSPy выполняет пробное декодирование только после совпадения всех ключей и контрольных сумм в одном снимке только для чтения, а затем применяет обычную проверку настроек к восстановленным значениям SQLite. Восстановленный словарь отбрасывается и никогда не назначается рабочей конфигурации. Диагностика сообщает, прошёл ли тест чтения SQLite; ошибка остаётся предупреждением, а OSPy продолжает работать исключительно с уже активными настройками shelve.

Теневая схема 3 также содержит манифест с общим числом записей и контрольной суммой полного отсортированного списка ключей и их сумм. Это независимо обнаруживает удалённую или добавленную строку до декодирования. OSPy выполняет и отбрасывает полную пробную реконструкцию как текущей копии SQLite, так и предыдущей копии в каталоге резервной базы. Диагностика показывает оба результата. Повреждённый или недоступный кандидат восстановления никогда не меняет выбор при запуске; shelve/DBM остаётся основным источником.

При запуске OSPy использует первого независимо проверенного кандидата SQLite только для пробного восстановления в изолированном временном каталоге. В нём создаётся временная база shelve/DBM, она повторно открывается, все настройки проверяются и их сериализованные значения сравниваются, после чего каталог удаляется. Активная база и источник настроек при запуске не изменяются. Если текущая копия SQLite повреждена, проба может использовать проверенную резервную копию, тогда как рабочие настройки по-прежнему загружаются из основной базы shelve. Строка База данных в Диагностике показывает результат, источник и число настроек.

Кроме того, OSPy только моделирует аварийный выбор на случай, если все базы shelve/DBM окажутся недействительными. Приоритет имеет независимо проверенная текущая копия SQLite; проверенная резервная копия была бы выбрана только при ошибке текущей. Выбранный словарь отбрасывается и никогда не назначается рабочим настройкам, поэтому даже это состояние пока не включает восстановление из SQLite. Диагностика показывает готовность, предполагаемый источник и число настроек.

Экспериментальная настройка Разрешить аварийное восстановление настроек SQLite в разделе Хранилище настроек по умолчанию отключена. После включения OSPy создаёт несекретный атомарный маркер активации только после независимой проверки копии SQLite схемы 3; сама проверенная копия также должна содержать включённую настройку, поэтому ни маркер, ни база по отдельности не разрешают восстановление. Оно выполняется только если текущая, временная и резервная базы shelve/DBM недействительны. OSPy предпочитает текущую копию SQLite, при необходимости использует проверенную резервную, заново создаёт и проверяет базу shelve во временном каталоге и только затем загружает её. Существующие текущий и резервный каталоги не перезаписываются, обычное хранение остаётся shelve/DBM. Отключение удаляет маркер до записи настроек. Диагностика и стартовое сообщение показывают использование или ошибку; после восстановления проверьте систему и создайте резервную копию.

Экспериментальная настройка Предпочитать проверенное чтение настроек SQLite в разделе Хранилище настроек также по умолчанию отключена. После включения OSPy всегда сначала загружает и проверяет shelve/DBM, сравнивает полный набор ключей и контрольных сумм SQLite с этим точным основным снимком, затем независимо декодирует и проверяет каждое значение. Только полное совпадение назначает эквивалентный словарь SQLite рабочим настройкам. Отсутствующая копия, различие, повреждение или ошибка декодирования оставляет уже загруженные значения shelve без перерыва. Запись, ротация каталогов и резервные копии по-прежнему используют исключительно shelve/DBM; SQLite остаётся проверенной теневой копией. Диагностика показывает использование, отключение или возврат к shelve.

Экспериментальная настройка Требовать проверенный SQLite для фиксации настроек в разделе Хранилище настроек по умолчанию отключена. После включения новый каталог настроек может заменить активные данные только после успешной записи и независимой проверки временной базы shelve/DBM и её копии SQLite. Если SQLite недоступен или запись либо проверка завершается ошибкой, OSPy удаляет весь неподтверждённый временный каталог, сохраняет предыдущие активные настройки и время последнего сохранения и сообщает об ошибке записи. Отключение возвращает совместимое поведение с приоритетом shelve. Успешную строгую фиксацию можно читать через проверенный путь SQLite, однако shelve/DBM остаётся форматом хранения и резервного копирования. Диагностика показывает действующую политику фиксации.

Диагностика сохраняет неавторитетное подтверждение миграции SQLite: число последовательных успешных запусков с проверенным чтением и последовательных строгих двойных записей. Ошибка сбрасывает только соответствующую серию и сохраняет время и причину. Отдельный атомарно записываемый файл состояния не содержит настроек и никогда не используется для запуска, восстановления или выбора хранилища.

На раннем этапе запуска язык интерфейса по-прежнему сначала читается из действительной базы shelve/DBM. Если включено проверенное чтение SQLite, загрузчик сравнивает каждый ключ и контрольную сумму именно с этим снимком shelve и читает из SQLite только значение lang после полного совпадения. При отсутствии, старом формате, отличии или повреждении копии SQLite всегда безопасно используется язык из shelve. Проверка отсутствующей базы не создаёт пустой файл.

Селектор Режим хранения настроек объединяет безопасные переходные параметры. Совместимый сохраняет shelve/DBM главным хранилищем, а SQLite — дополнительной теневой копией. Проверка включает аварийное восстановление, проверенное чтение и строгую двойную запись; SQLite при этом всё ещё не становится основной базой. Отдельные переключатели остаются доступны для расширенного управления, а смешанная комбинация автоматически обозначается как Пользовательские расширенные настройки. Для существующих установок режим определяется по сохранённым переключателям без изменения их значений.

Диагностика также оценивает пассивную проверку Готовность SQLite primary beta. Состояние Готово требует режима Проверка, проверенной текущей теневой копии, успешных тестов чтения и восстановления текущей и резервной копий, успешной репетиции восстановления и аварийного выбора, включённых аварийного восстановления, проверенного чтения и строгой двойной записи, а также не менее пяти последовательных проверенных запусков и двадцати строгих записей. До этого Диагностика показывает сбор подтверждений или конкретные блокирующие проверки. Эта проверка никогда не переключает хранилище автоматически; главным остаётся shelve/DBM.

Кнопка Диагностика в нижней части страницы открывает административную страницу для проверки того, как OSPy и его плагины используют систему.

Когда Диагностика обнаруживает ошибку, она открывает красное окно с описанием проблемы, доступными подробностями, возможным решением и ссылкой на соответствующую страницу. Администратор может включить такое же окно на главной странице через Параметры > Диагностика > Показывать ошибки диагностики на главной странице. Окно ошибки имеет приоритет над уведомлением об обновлении. Отключение параметра влияет только на главную страницу; ошибки остаются видимыми в Диагностике.

Страница использует раскрывающиеся разделы Состояние системы, Производительность и процессы и Проверка безопасности. Щелчок по тёмной полосе раскрывает или сворачивает раздел. Состояние системы присваивает каждой рабочей области состояние OK, предупреждение, ошибка или не настроено. Контролируются heartbeat планировщика, последний успешный расчёт расписания и следующий запуск, запись команд на выходы, связь с датчиками, доступность базы настроек, свободное место, ошибки включённых плагинов, готовность электронной почты, погода, подключение к Интернету и последняя доступная резервная копия. Успешная запись выхода подтверждает передачу требуемого состояния драйверу, но без аппаратной обратной связи не подтверждает физическое переключение реле.

Последняя строка Состояние операционной системы запускает в фоне изолированную от сбоев проверку Linux и корневого накопителя и кэширует результат на десять минут. Вся строка использует состояния: зелёное OK, жёлтое Предупреждение и красное Критическое; каждая отдельная проверка дополнительно помечается как OK, Предупреждение, Критическое или Информация. Проверяются режим монтирования корневой файловой системы, место, inode, небольшой синхронизированный тест записи и чтения, доступные метаданные EXT4 и идентификатор SD-карты, питание и throttling Raspberry Pi, температура CPU, память, нагрузка, сбойные службы systemd и ограниченный фрагмент журнала ядра на ошибки MMC, I/O, EXT4, перемонтирование только для чтения, panic, lockup и нехватку памяти. Отсутствующие команды или разрешения отображаются без остановки OSPy. Проверка не использует sudo и никогда не запускает fsck или другое восстановление на смонтированной корневой файловой системе.

Раздел Как работает OSPy содержит интерактивные диаграммы программ и планировщика, решения о запуске станции, главной станции, погоды, датчиков, жизненного цикла плагинов, безопасного обновления, хранения настроек, резервного копирования и восстановления. Диаграмму можно масштабировать, открыть на всю ширину, распечатать или скачать в формате SVG либо PNG. Узлы с пунктирной рамкой открывают связанную страницу OSPy, а отдельная кнопка ведёт к соответствующей справке. Renderer Mermaid хранится локально в OSPy и не требует доступа к Интернету.

Дополнительные темы безопасности объясняют полный защищённый путь веб-запроса, HTTPS и сертификаты, вход с двухфакторной аутентификацией, сеансы с токенами CSRF и запоминания входа, а также защиту API и датчиков. Диаграммы разделяют аутентификацию, права роли и CORS, показывают защиту от перебора и отмечают, что OSPy хранит только хеш секретной части долгосрочного токена входа.

Другие диаграммы охватывают приоритет и параллельность полива, дождь и водный баланс, путь команды к выходному оборудованию, роли пользователей, события и инциденты, доставку уведомлений, запуск и завершение OSPy, утверждение разрешений плагинов, полный жизненный цикл датчика и безопасный сетевой доступ. Диаграмма Чистая установка OSPy показывает реальный защищённый установщик: от проверки Linux и Python через стабильную ветвь master, зависимости, SQLite и systemd до первого входа и замены созданного пароля.

Строка Языки сравнивает каждый каталог переводов с текущим шаблоном и показывает для каждого языка процент переведённых и точное число отсутствующих строк. Полный перевод отмечается зелёным, покрытие не менее 80 % — жёлтым, а меньшее — красным. Это только информация для сопровождающих переводов: состояние языков не меняет общий статус системы и не открывает окно ошибки Диагностики.

Проверка безопасности пассивно оценивает HTTPS, анонимный доступ, двухфакторную аутентификацию, аутентификацию API датчиков, защиту API от CSRF, CORS, пароль датчиков и рекомендуемые HTTP-заголовки безопасности. Она никогда не показывает пароль датчика и не изменяет настройки. Профиль Домашняя сеть считает отдельные компромиссы совместимости предупреждениями, а профиль Доступ из Интернета требует шифрованного, аутентифицированного и ограниченного доступа. Каждый результат содержит текущее состояние, рекомендацию и ссылку на соответствующие настройки. Обратный прокси-сервер может добавить заголовки после выхода ответа из OSPy; Диагностика сообщает только то, что может гарантировать само OSPy.

Перехваченные рабочие ошибки ядра отображаются в разделе Состояние системы как отдельные активные проблемы. Для каждой записи указаны затронутый компонент, число повторений, последнее возникновение, техническая причина и рекомендуемое исправление. Успешная повторная операция автоматически удаляет активную проблему, а полный traceback остаётся в журнале событий. Ожидаемые механизмы совместимости не отображаются как ошибки.

Раскрывающийся раздел История инцидентов сохраняет до 200 последних проблем после перезапуска OSPy. Можно фильтровать все, активные, решённые и прерванные перезапуском инциденты. Повторение той же активной проблемы увеличивает счётчик вместо создания дубликатов; таблица показывает время открытия, последнего возникновения и решения. История атомарно сохраняется в проверенном JSON-файле ограниченного размера и не дублирует полные traceback.

Сводка системы показывает текущее использование CPU, температуру CPU, время работы системы, load average, использование CPU процессом OSPy, использование памяти OSPy, количество потоков, информацию о платформе и время последнего обновления.

Таблица плагинов показывает все доступные плагины, запущены ли они и включены ли они, их собственное рабочее состояние, текущую нагрузку CPU, общее время CPU, количество потоков, время запуска, количество перезапусков и доступные действия. Плагин может дополнительно предоставлять функцию health(), которая возвращает, например, {'status': 'ok', 'summary': '...', 'details': '...'}; допустимые состояния: ok, warning, error и unknown. Старые плагины без этой функции остаются полностью совместимыми и показывают «нет отчёта». Ошибка или превышение времени проверки состояния не останавливает плагин или страницу Диагностика. Данные обновляются автоматически, поэтому страницу можно оставить открытой при наблюдении за нагрузкой системы.

По умолчанию плагины сортируются по текущей нагрузке CPU от наибольшей к наименьшей. Используйте Сортировать плагины, чтобы переключить сортировку по имени плагина или по общему времени CPU, если нужен стабильный список или поиск длительных потребителей CPU.

Действие Открыть открывает страницу плагина. Restart plugin перезапускает только выбранный работающий плагин; оно не перезапускает весь OSPy.

Если отображается предупреждение обновления, последнее автоматическое чтение из диагностического API завершилось ошибкой или вернуло контролируемую ошибку. Существующие данные могут оставаться видимыми до следующего успешного обновления, а предупреждение автоматически очищается после успешного обновления.


Обратная связь (Feedback)

Кнопка Feedback в заголовке слева от имени системы открывает страницу для сообщений об ошибках, предложений по улучшению и вопросов. Страница доступна вошедшим в систему администраторам и пользователям; на странице входа кнопка не отображается.

Выберите Bug report, Feature request или Question, затем введите краткий заголовок и подробное описание. Кнопка Continue to GitHub открывает предварительно заполненное новое Issue на GitHub. Пользователь входит в GitHub, проверяет содержимое и отправляет его там. OSPy не хранит токен доступа GitHub и не создаёт Issue до этого подтверждения.

Параметр добавления системной информации включён по умолчанию и перед отправкой показывает точный предварительный просмотр: версию и дату OSPy, архитектуру, дистрибутив и версию операционной системы, а также версию Python. Имя системы OSPy, имя оператора, IP-адреса и уникальный идентификатор статистики использования не добавляются. Отключите этот параметр, чтобы отправить только собственный текст.

Кнопка View existing reports открывает GitHub Issues проекта. GitHub Discussions ведёт непосредственно к обсуждениям проекта и подходит для общих вопросов и совместных идей. Снимки экрана и другие файлы можно прикрепить после открытия GitHub.

Форма использует существующую авторизацию OSPy и защиту CSRF. При переходе на GitHub адрес открытой страницы OSPy не передаётся в качестве HTTP referrer.


Программы

Добавить новую программу

Кнопкой "Добавить новую программу" создаем новую программу-планировщик.

Группы программ

Программы можно организовывать в раскрывающиеся группы. Группы подходят, например, для разделения летней и зимней программ или для четкого разделения по частям сада.

Добавить группу

Используйте кнопку «Добавить группу», чтобы создать новую группу программ.

Переименование группы

Действие по переименованию группы изменяет только имя группы. Программы, назначенные группе, будут сохранены.

Включить или выключить группу

Групповое действие ВКЛ/ВЫКЛ включает или отключает все программы в этой группе одновременно. Подходит, например, для сезонного переключения нескольких программ.

Копировать группу

Действие копирования создает новую группу и копирует в нее все программы из исходной группы. Скопированные программы отключаются и не запускаются, пока мы их не проверим.

Удалить группу

Удаление группы требует подтверждения. Программы из удаленной группы перемещаются в группу по умолчанию.

Отложить группу

Кнопка «Отложить группу» рядом с кнопкой «Добавить новую программу» один раз переносит ближайший запланированный запуск всей группы. Выберите новую дату и время запуска первой программы; перед подтверждением отображается предварительный просмотр исходного и нового временного диапазона. Новое начало должно быть позже исходного, находиться в будущем и может быть задано не более чем на 30 дней вперёд.

OSPy находит ближайший будущий запуск каждой включённой программы в группе и сдвигает все эти запуски на одинаковую разницу времени. Порядок программ, их продолжительность и взаимные интервалы сохраняются. Например, группу, запланированную сегодня с 18:00 до 22:00, можно отложить до завтра на 07:00; перенесённый запуск завершится приблизительно в 11:00.

Отсрочка не изменяет обычные определения программ и их последующие запланированные дни. Только ближайший исходный запуск однократно пропускается, а его замена выполняется в новое время. Отложенные программы по-прежнему учитывают состояние планировщика, блокировки из-за дождя, датчик дождя, ограничения нагрузки выходов и задержки станций. Отсрочка сохраняется в настройках и переживает перезапуск службы OSPy. Для одной группы разрешена только одна активная отсрочка.

Активная отсрочка отображается возле группы как исходное время, стрелка и новое время. Кнопка «Отменить отсрочку» удаляет её. Если исходное время ещё не наступило, обычный исходный запуск восстанавливается. Если исходное время уже наступило, из соображений безопасности он не запускается повторно; отменяется только заменяющий запуск. Группу с активной отсрочкой нельзя удалить; сначала отмените отсрочку. Создание и отмена отсрочки доступны только администратору и защищены авторизацией и проверкой CSRF.

Беги сейчас

Кнопкой "Беги сейчас" запускаем программу сразу независимо от времени и даты планировщика.

Редактировать

Кнопка "Редактировать" предназначена для изменения параметров уже созданной программы.

Копировать

Кнопка "Копировать" создает копию выбранной программы. Копирование отключено по умолчанию, поэтому мы можем безопасно изменить его перед использованием в планировщике.

Перейти в группу

Программу можно отнести к группе на странице редактирования программы. При этом изменится только его расположение на странице «Программы».

Удалить все

Кнопка "Удалить все" удалит все существующие программы после подтверждения.

Включить или выключить программу

Переключатель «ВКЛ/ВЫКЛ» позволяет включать/выключать созданную программу в планировщике.

Предупреждение о столкновении

При сохранении программы OSPy проверяет разрешенные программы и ищет совпадения запланированного запуска на одной и той же станции/выходе. Если в то же время запланирована другая программа, на странице «Программы» отобразится уведомление с указанием времени наложения. Это всего лишь предупреждение, программа не будет автоматически заблокирована или изменена.

Тип расписания

Тип планировщика позволяет выбрать подходящий тип программы в соответствии с нашими требованиями (выбранные дни, повтор, еженедельно, пользовательские и программы на основе прогноза погоды).

При смене типа меняются отображаемые поля и способ построения расписания OSPy. Поэтому после смены типа перед сохранением проверьте все значения. В графическом планировщике первый щелчок отмечает начало, а второй — конец интервала; крестик у существующего интервала удаляет его. Время указывается по местному времени системы OSPy.

Календарные правила

Любую существующую повторяющуюся программу можно дополнительно ограничить календарными правилами. Разрешённые месяцы выбираются по отдельности или кнопками весны, лета, осени, зимы и всего года. Чётность календарного дня разрешает все, нечётные или чётные даты, а поле Дни месяца принимает значения от 1 до 31. Правила объединяются с обычными днями недели или интервалом повторения; значения по умолчанию сохраняют прежнее расписание.

В поле Исключённые даты указывается по одной записи в строке: точная дата (ГГГГ-ММ-ДД), точный включительный диапазон (ГГГГ-ММ-ДД..ГГГГ-ММ-ДД) или ежегодный диапазон (ММ-ДД..ММ-ДД). Годовой диапазон может переходить через Новый год. Заблокированный запуск остаётся видимым в расписании с указанием причины. Параметр Не запускать в государственные праздники использует локально установленный календарь праздников. OSPy определяет страну по местоположению погоды; другой двухбуквенный код можно задать в Настройки → Погода → Переопределение страны праздников. Если библиотека или страна недоступны, безопасно блокируются только программы с включённым исключением праздников; OSPy и остальные программы продолжают работать.

Раздел Сервисные остановки на странице программ создаёт именованные глобальные интервалы начала и конца. Пересекающиеся автоматические запуски отображаются как заблокированные, а Запустить сейчас остаётся доступным для намеренной сервисной проверки. Остановки сохраняются после перезапуска OSPy.

Восход и закат

Типы программ по восходу и закату доступны только при включённом существующем плагине Sunrise and Sunset, активном расчёте Astral и корректном местоположении. Положительное или отрицательное смещение в минутах запускает программу после или до рассчитанного события. Самое раннее и позднее допустимое время ограничивают результат; запуск за пределами окна переносится к ближайшей границе или пропускается. Продолжительность, пауза, повторы, дни недели и календарные правила продолжают действовать. Если плагин недоступен, OSPy не подставляет фиксированное время и сохраняет программу до восстановления поставщика.

Выбранные дни (простой)

Запускает одинаковое простое расписание в каждый выбранный день недели. Выберите один или несколько дней и настройте первый запуск.

Время начала

Время начала первого запуска в каждый выбранный день.

Продолжительность

Продолжительность одного запуска каждой выбранной станции в минутах.

Повторить

Включает дополнительные запуски в тот же выбранный день после завершения первого.

Повторения

Количество дополнительных запусков после первого. Значение 2 даёт всего три запуска.

Пауза

Количество минут между окончанием одного запуска и началом следующего повторения.

Выбранные дни (расширенный)

Запускает нарисованные вручную интервалы в каждый выбранный день недели. Этот тип подходит для нескольких независимых времён начала и окончания в течение дня.

Планировщик

Добавьте в графической 24-часовой строке один или несколько интервалов начала/окончания. Одинаковые интервалы применяются ко всем выбранным дням.

Повторить (простой)

Запускает простое расписание через заданное количество дней; цикл привязан к начальной дате, а не к фиксированным дням недели.

Водный интервал

Количество дней между активными днями. 1 означает каждый день, 2 — через день.

Начиная с

Количество дней от сегодняшней даты до первой активной даты. 0 начинает цикл сегодня.

Время начала

Время первого запуска в каждый активный день.

Продолжительность

Продолжительность одного запуска каждой выбранной станции в минутах.

Повторить

Включает дополнительные запуски в тот же активный день.

Повторения

Количество дополнительных запусков после первого.

Пауза

Задержка в минутах между повторными запусками.

Повтор (расширенный)

Повторяет графическое дневное расписание через фиксированное количество дней.

Водный интервал

Количество дней между выполнениями нарисованного расписания.

Начиная с

Задержка в днях от сегодняшней даты до даты, к которой привязан цикл повторения.

Планировщик

Нарисуйте все интервалы начала/окончания одного активного дня. OSPy повторяет весь набор через выбранный интервал дней.

Еженедельно (расширенно)

Задаёт отдельное графическое расписание для каждого дня недели и повторяет весь план каждые семь дней.

понедельник-воскресенье

Рисуйте интервалы непосредственно в строке нужного дня. Каждый день может содержать несколько интервалов или оставаться пустым.

Пользовательский

Задаёт точный многодневный повторяющийся цикл. Используйте его, если простые и расширенные типы не могут описать требуемую последовательность.

Водный интервал

Длина повторяющегося цикла в днях. После последнего дня цикла расписание возвращается к Дню 1.

Начиная с

Количество дней от сегодняшней даты до начала Дня 1 пользовательского цикла.

День 1 - День 7

Нарисуйте независимые интервалы начала/окончания в отображаемых днях цикла. Интервал хранится в минутах от начала Дня 1.

Еженедельно (Прогноз погоды)

Планирует полив по водному балансу станций и прогнозу погоды. Указанные моменты являются возможностями запуска; OSPy может пропустить или сократить их, если рассчитанный дефицит не требует полива.

Орошение мин

Минимальный дефицит воды в миллиметрах, при котором разрешается начать полив.

Орошение макс

Максимальное количество воды в миллиметрах, которое можно подать одной станции за один предпочтительный момент выполнения.

Бегите максимум

Максимальное количество воды в миллиметрах, которое можно подать непрерывно до добавления паузы OSPy.

Коэффициент паузы

Длина паузы в процентах от времени предыдущего непрерывного запуска. Например, 50% добавляет паузу длительностью в половину запуска.

Предпочтительные моменты исполнения

Упорядоченный список еженедельных возможностей запуска погодного полива. Требуется указать хотя бы один момент.

День

День недели для предпочтительной возможности выполнения.

Время начала

Местное время, когда OSPy оценивает и при необходимости запускает эту возможность.

Приоритет

Относительное предпочтение между моментами. Более высокое значение выбирает этот момент, если полив можно отложить.

Добавить – Удалить

Добавляет ещё один предпочтительный момент или удаляет выбранную строку. Удаление всех строк не оставляет программе возможности запуска.

Никаких корректировок

К этой программе не будут применяться никакие изменения (например, сокращение или продление времени)

Отключение

Если скорректированное время работы программы будет короче этого установленного времени, программа будет пропущена (например, скорректированное время работы из расширения прогноза погоды или ежемесячная корректировка количества воды и других расширений). Время задается в процентах.

Активировать Мастер

Все станции, у которых установлена ​​опция «Активировать Мастер-станцию ​​1/2 по программе», будут активировать Мастер-станцию ​​1/2 в соответствии с этим назначением в программе. Уведомление! для станций, у которых установлена ​​опция «Активировать основную 1/2 по программе», опции управления «Запустить один раз» и «руководство_вкл» использовать нельзя. Запустится только станция, а не основная станция (1 или 2)! Эта настройка доступна только в том случае, если вы используете обе мастер-станции!


Запустить один раз

На странице "Запустить один раз" представлен список разрешенных станций с полем минут и секунд для каждой. Этот участок можно использовать для тестирования и обеспечения дополнительного орошения на разовой основе.

Беги сейчас

Кнопка активирует все выбранные предварительно настроенные станции.

Сбросить время

Кнопка удалит все заданные значения времени для всех станций.


Плагины

На странице "Плагины" мы можем настраивать или контролировать все расширения в системе OSPy.

Управление

При нажатии кнопки «Управление» откроется окно менеджера расширений в OSPy. Все доступные расширения можно включать, отключать, устанавливать из репозитория и т. д.

Плагин использует файл plugin.json с названием, версией, описанием, автором, домашней страницей и лицензией. Менеджер отображает эти метаданные, если они доступны. Для уже установленных старых плагинов без манифеста сохраняется обратная совместимость, а OSPy читает их название из __init__.py; правила для новых установок описаны ниже.

В списке dependencies манифест может объявлять зависимости от других плагинов по имени их каталога. Обязательная зависимость должна быть установлена и включена. Необязательная зависимость не блокирует плагин, но если включены оба плагина, OSPy сначала запускает поставщика. При остановке используется обратный порядок, а циклические зависимости не запускаются. При массовой установке обязательная зависимость может находиться в том же ZIP-файле; для отдельной установки зависимого плагина поставщик должен быть уже установлен.

Перед включением OSPy проверяет заявленные версии OSPy и Python, необходимые модули Python, поддерживаемые платформы, доступность GPIO/I²C и конфликты с включёнными плагинами, выводами GPIO или адресами I²C. Блокирующая проблема запрещает включение, а команда включения всех плагинов пропускает такой плагин. Управление плагинами и Диагностика показывают подробности и заявленные разрешения на сеть, файлы, I²C, GPIO, электронную почту, подпроцессы или систему. Разрешения информируют администратора, но не являются изолированной песочницей операционной системы.

Начиная с OSPy 3.0.294 администратор должен явно одобрить разрешения, заявленные новым установленным плагином, прежде чем его код сможет запуститься. Однократная миграция при обновлении автоматически сохраняет одобрения для всех уже установленных плагинов, включая отключённые, поэтому обновление OSPy не нарушает существующую установку. Неизменённый или сокращённый набор разрешений остаётся одобренным; добавление разрешения блокирует ручное и автоматическое обновление, пока администратор не проверит и не одобрит новый набор. Отзыв одобрения отключает плагин. Одобрение хранится в OSPy как решение администратора и запись аудита; оно не создаёт песочницу операционной системы.

Новые плагины могут использовать общий жизненный цикл потоков и сигнал остановки OSPy. При отключении OSPy сначала отправляет сигнал остановки, вызывает существующую функцию stop() и ожидает зарегистрированные потоки не более пяти секунд. Потоки, которые продолжают работать, отображаются как ошибка в Диагностике и не позволяют запустить второй экземпляр плагина. Существующие плагины без этого интерфейса остаются совместимыми.

Перед импортом и запуском выполняется автоматическая статическая проверка без выполнения кода плагина или обращения к оборудованию. Она проверяет каталог, __init__.py, синтаксис и размер исходных файлов Python, необязательный манифест и, для плагинов с манифестом, объявленные функции start() и stop(); устаревшие плагины без манифеста сохраняют прежнюю совместимость. Символические ссылки не используются. Ошибка запрещает активацию, а подробности доступны в Управлении плагинами и Диагностике. Сведения о совместимости, манифесте и результате проверки отображаются в контрастных панелях состояния, читаемых как для включённых, так и для отключённых плагинов.

Установить новый плагин

После нажатия кнопки "Установить новый плагин" откроется окно удаленного репозитория, где мы сможем выбрать доступные расширения для установки в систему OSPy и прочитать общую информацию о расширениях.

Перед копированием файлов OSPy безопасно читает plugin.json непосредственно из загруженного ZIP-архива и для каждого плагина показывает состояние совместимости и конкретные причины возможной проблемы. Несовместимый плагин нельзя установить или обновить вручную. Плагин только с предупреждениями можно установить после их отображения. При массовой установке совместимые плагины устанавливаются, а несовместимые пропускаются с указанием причины. Эта же проверка применяется к пользовательским ZIP-файлам, отдельным и массовым операциям, а также обновлениям. Отсутствующий, недействительный или слишком большой plugin.json является ошибкой при новой установке; уже установленные старые плагины без манифеста могут продолжать работать в режиме обратной совместимости.

Если I2C-плагин может использовать один из нескольких альтернативных адресов, проверка совместимости рассматривает декларацию как один выбираемый ресурс, а не как одновременное занятие всех адресов. Установка из репозитория или пользовательского ZIP разрешена, если остаётся доступен отдельный адрес. При активации плагин сохраняет предпочтительный адрес или выбирает свободную альтернативу. В настройках нельзя сохранить адрес, уже используемый другим включённым плагином; все предыдущие настройки сохраняются, а конфликт отображается в красной строке состояния без перехода на другую страницу.

Пользовательский плагин (ZIP)

OSPy проверяет весь ZIP до записи любого файла плагина. Архив должен содержать хотя бы один каталог плагина с __init__.py и допустимым UTF-8-файлом plugin.json, где id совпадает с именем каталога. Плагин также может содержать модули Python, README.md и каталоги templates, static, script, docs, i18n и data. Архив репозитория может размещать плагины в plugins/; пользовательский архив может содержать плагин непосредственно в корне.

Абсолютные пути и переходы в родительский каталог, непереносимые имена, повторяющиеся пути или идентификаторы плагинов, символические ссылки, специальные или зашифрованные элементы и повреждённые архивы отклоняются. Ограничения: 64 МиБ загруженных ZIP-данных, 4096 элементов архива, 256 плагинов, 32 МиБ на распакованный файл, 128 МиБ распакованных данных всего и коэффициент сжатия не более 200:1. Установка каждого плагина атомарна: файлы сначала подготавливаются, существующий каталог data сохраняется, а при ошибке замены или запуска восстанавливается предыдущая версия. Менеджер расширений позволяет установить в систему OSPy собственное расширение, не опубликованное в удаленном репозитории (например, ваше личное расширение). Кнопкой «обзор» выбираем на нашем компьютере нужный файл для установки в систему OSPy. Файл расширения (zip) должен содержать полную структуру расширения (init, шаблоны, i18n, readme и т. д.).

Менеджер плагинов по умолчанию использует стабильный канал master. Администратор может переключиться на тестовый канал beta; выбранный канал отображается в управлении и установке и используется для списка, ручной установки, массовых операций и автоматических обновлений. Тестовые версии могут содержать ошибки. При смене канала удаляется загруженный кэш предыдущей ветви, а следующая проверка загружает данные из новой ветви. При открытии страницы установленного плагина над его содержимым отображаются имя и версия, прочитанная из plugin.json.

Страница менеджера открывается без ожидания GitHub. Данные репозитория загружаются в фоне, а сводка вверху показывает ход проверки, ошибку, актуальное состояние либо количество и названия доступных обновлений. Каждое название обновления ведёт прямо к соответствующему плагину.

Совместимость, одобрение разрешений, данные манифеста и тест перед активацией для каждого плагина свёрнуты в разделе Технические подробности. Проверка репозитория запускается автоматически только тогда, когда данных репозитория ещё нет; простое включение или выключение плагина не запускает её повторно. Одобрить все разрешения после одного подтверждения сохраняет текущие заявленные разрешения всех установленных плагинов. Обновить всё подтверждает показанный источник и обновляет только установленные плагины, для которых обнаружена новая версия.

По указанному выше адресу находится репозиторий доступных расширений для системы OSPy.

При установке или обновлении расширения выполняется код из выбранного источника. OSPy отобразит URL-адрес репозитория и запросит подтверждение перед установкой или обновлением. Действие «Извлечь изменения» при обращении к удаленному репозиторию отображает сообщение о выполнении проверки.

Отключить все

Кнопка отключает все установленные расширения.

Включить все

Кнопка активирует все установленные расширения.

Включить проверку обновлений

При активной кнопке наличие новой версии расширения автоматически проверяется в удаленном репозитории через час. Когда будет доступна новая версия, рядом с расширением появится сообщение «обновление».

Загрузить изменения

Кнопка получает последний список доступных изменений из удаленного репозитория расширений.

Изменения

Кнопка открывает обзор доступных изменений расширения и информацию об обновлениях.

Автоматические обновления

Когда кнопка активна, расширение автоматически обновляется при появлении новой совместимой версии. Несовместимая новая версия не устанавливается автоматически, а менеджер показывает причину. Предупреждение: OSPy постоянно развивается, и если в OSPy происходят серьезные изменения и пользователь не обновляет OSPy, расширение может не работать после обновления. Всегда сначала обновляйте OSPy, а затем все расширения!


Журнал

С помощью страницы "Журнал" мы можем просмотреть все логи, записанные в системе OSPy. Количество записей задается на странице "Настройки".

Журнал событий

Журнал событий — это эксплуатационная и аудиторская история, отделённая как от журнала работы станций, так и от технического журнала отладки. В нём регистрируются вмешательства в полив и заблокированные запуски, изменения конфигурации, события пользователей и безопасности, операции системы и плагинов, а также события или состояния датчиков. Каждая запись содержит дату, время, уровень, категорию, тему и подробности. Уровень дополнительно обозначается цветом: информация — синим, успех — зелёным, предупреждение — оранжевым, ошибка — красным, критическое событие — тёмно-красным. Список Категория событий позволяет показать все события или одну категорию. Экспорт events.csv содержит столбцы Date, Time, Level, Category, Subject и Status. Эти элементы управления не влияют на существующее ведение журнала отладки и его файл events.log.

В тот же аудиторский журнал записываются изменяющие состояние операции, выполненные через аутентифицированный API: управление станциями и программами, изменения конфигурации, очистка журнала и системные действия. Неудачная аутентификация API и временная блокировка попыток перебора отображаются в категории Пользователи и безопасность. Обычные чтения API и каждая успешная Basic-аутентификация не записываются, чтобы частый трафик API не заполнял журнал.

Скачать журнал как

Ссылка «Загрузить запись в формате Excel log.csv» позволяет сохранить запись о поливе в виде файла csv (программа Excel) на свой компьютер.

  • Структура таблицы: Дата, Время начала, Зона, Продолжительность, Программа. Даты разделяются запятой.
  • Пример: 2019-08-12 05:00:00 Фильтрация 60:00 Фильтрация

Ссылка "Загрузить журнал в формате журнала Excel email.csv." позволяет сохранить запись об отправленных электронных письмах на ваш компьютер в виде файла csv (программа Excel).

  • Структура таблицы: Дата, Время, Тема, Тело, Статус. Даты разделяются запятой.
  • Пример: 2019-08-12 06:00:04 Отправлено КОТТЕДЖНАЯ СИСТЕМА Законченный полив-> Программа: Фильтрация, Станция: Фильтрация, Начало: 2019-08-12 05:00:00, Продолжительность: 60:00, Вода-> Количество воды в баке: Уровень: 170 см (90 %), Пинг: 95 см, Объем: 1,28 м3, Температура DS1-DS6-> ПОДВАЛ: 21,1 ℃ НАСОС: 33,5 ℃ КОТЛ: 26,6 ℃ В ПОМЕЩЕНИИ: 22,1 ℃ КОЛОДЦА: 12,2 ℃

Очистить журнал

Нажатие кнопки "Очистить журнал" приведет к удалению всех записей полива. Акция невозвратная.

Удалить запись Электронная почта

После нажатия кнопки «Удалить запись электронной почты» все записи об отправленных электронных письмах будут удалены из системы. Акция невозвратная.


Настройки

На странице "Настройки" мы можем изменить настройки всей системы OSPy. Страница содержит несколько сворачиваемых разделов. Нажмите на панель, чтобы открыть или закрыть нужный раздел.

Показать подсказки

  • Нажмите кнопку «Показать справку», чтобы показать или скрыть информацию о каждой опции.

Имя системы

Именование системы полезно при работе с несколькими системами OSPy.

  • Введите уникальное описательное имя системы.
  • Нажмите кнопку «Подтвердить изменения» внизу страницы, чтобы сохранить изменения.

Имя системы по умолчанию — «OpenSprinkler Pi» и будет отображаться в заголовке каждой страницы для облегчения идентификации системы.

Системная тема

Определяет внешний вид графического интерфейса. В списке доступны несколько тем (зеленый режим, черно-белый режим...)

24-часовые часы

Опция 24-часового времени позволяет выбирать между международным 24-часовым форматом, иногда называемым военным временем, и 12-часовым форматом AM/PM.

  • Снимите флажок и выберите 12-часовой формат AM/PM.
  • Нажмите кнопку «Подтвердить изменения» внизу страницы, чтобы сохранить изменения.

Вы будете перенаправлены на домашнюю страницу, и часы будут в выбранном формате.

HTTP IP-адрес

IP-адрес HTTP/S-сервера. Адрес IPv4 или IPv6 (появится только после перезагрузки). Значение по умолчанию — 0.0.0.0.

О номере порта

Номер порта HTTP/S является частью веб-адреса. Порт 80 является номером по умолчанию для веб-страниц и поэтому не может быть включен при вводе URL-адреса в адресную строку браузера. Многие веб-серверы по умолчанию используют порт 80. Если вы запустите другой сервер на том же Raspberry Pi, что и OSPy, и используете тот же номер порта, произойдет конфликт, и OSPy может не запуститься. Вы можете избежать конфликта, изменив номер порта OSPy на странице «Параметры» на другой номер, например 8080. Если вы измените номер порта, который использует OSPy, вам нужно будет включить этот номер, которому предшествует двоеточие, в URL-адрес веб-интерфейса OSPy. Например: [URL Raspberry pi]: 8080

HTTP/S port

Номер порта HTTP/S является частью веб-адреса. Порт 80 — это номер по умолчанию для веб-сайтов.

  • Щелкните текстовое поле рядом с параметром порта HTTP/S.
  • Введите номер порта, который вы хотите использовать, например 8080.
  • Нажмите кнопку «Подтвердить изменения» внизу страницы.

Вы вернетесь на домашнюю страницу. Система перезагружается, но в веб-интерфейсе не отображается индикация перезагрузки. Подождите не менее 60 секунд, затем добавьте новый номер порта к URL-адресу Pi, которому предшествует двоеточие (:), и попытайтесь снова подключиться к OSPy.

Показывать плагины на главной странице

Если мы хотим отображать измеренные данные из расширения (ветер, температура, уровень...) под графиком на начальной (домашней странице), установите флажок. Если мы не хотим отображать данные из расширения, снимаем галочку.

  • Внимание: для корректного отображения данных необходимо, чтобы расширение было включено и правильно настроено.

Плагин может использовать showOnTimeline, чтобы связать текущее значение с определённой станцией. OSPy обновляет его каждые три секунды рядом с состоянием работающей станции, включая главные станции и ручной режим. Значение исчезает после остановки станции или очистки плагином; отображаемые данные не изменяют управление выходами или расписание.

Показать датчики дома

Если мы хотим отображать измеренные данные с датчиков под графиком на начальной (главной странице), ставим галочку. Если мы не хотим отображать данные с датчиков, то снимаем галочку.

  • Внимание: для корректного отображения данных необходимо, чтобы датчики были включены и правильно настроены.

Системный язык

Выбрав язык, мы можем изменить язык, используемый в веб-интерфейсе.

  • Щелкните стрелку вниз справа от поля языка, чтобы отобразить список доступных языков.
  • Нажмите на язык, который вы хотите использовать в интерфейсе.
  • Нажмите кнопку «Подтвердить изменения» внизу страницы.

Программное обеспечение перезапустится, и через несколько секунд интерфейс отобразится на выбранном языке.

Показ фотографий на станциях

Установите этот флажок, чтобы отображать изображения станций на главной странице и странице станций.

Погода

Раздел погоды предоставляет общие данные прогноза для OSPy и расширений, регулирующих полив. Все потребители используют поставщика, выбранного в настройках, поэтому его не требуется отдельно настраивать в каждом расширении.

Использовать погоду

Включает или отключает получение погоды от выбранного поставщика.

Поставщик погоды

Open-Meteo — автоматическая модель выбирает подходящую доступную модель без API-ключа. CHMI ALADIN через Open-Meteo запрашивает модель ALADIN там, где она доступна. Stormglass сохраняет прежний сервис и требует собственного API-ключа. Open-Meteo предназначен для некоммерческого использования согласно условиям сервиса, а OSPy указывает источник рядом с прогнозом.

При обновлении старой установки сохранённый ключ Stormglass оставляет выбранным Stormglass. Установка без ключа переходит на Open-Meteo. При временном сбое остаются видны последние достоверные данные; OSPy не переключается незаметно на другого поставщика.

API-ключ Storm Glass

Требуется только при выборе Stormglass в качестве поставщика.

Расположение

Название города или почтовый индекс. OpenStreetMap определяет по нему точку для выбранного поставщика погоды.

Кнопка Выбрать на карте открывает карту с сенсорным управлением: нажмите точную точку погоды и подтвердите выбор. Использовать местоположение устройства может установить маркер по данным браузера после разрешения пользователя. После сохранения настроек широта и долгота становятся основной точкой погоды; ручное изменение поля Расположение возвращает поиск названия через OpenStreetMap. Под состоянием координат главная страница показывает три карточки прогноза: сейчас, примерно +3 и +6 часов, с локальными значками, температурой и осадками. В подробностях указаны источник и время обновления.

Значки прогноза охватывают все погодные состояния WMO, включая туман, морось, замерзающие осадки, дождевые и снежные ливни, грозы и град. Для ясной, преимущественно ясной и переменно облачной погоды используются отдельные варианты с солнцем или луной в соответствии со значением дня/ночи от поставщика.

Пользователи

Для повышения безопасности мы рекомендуем изменить системный пароль и имя пользователя OSPy с «admin» по умолчанию. При необходимости вы также можете отключить требование пароля.

  • Щелкните треугольник слева от панели с надписью «Пользователи», чтобы развернуть раздел.
  • Установите флажок «Без пароля», если у вас есть веская причина отключить защиту паролем и именем. Система больше не будет требовать входа пользователя в систему. Все разделы будут доступны.
  • Введите свое имя пользователя.
  • Введите текущий пароль.
  • Введите новый пароль в поля «Новый пароль» и «Подтверждение пароля».
  • Нажмите кнопку «Подтвердить изменения» внизу страницы.

Вы вернетесь на домашнюю страницу. Ваш новый пароль и имя потребуются при следующем входе в систему.

Отключить безопасность

Если установлен флажок "Отключить безопасность", мы разрешим анонимным пользователям без пароля доступ к системе.

Имя пользователя

Введите свое имя пользователя в текстовое поле. Это «админ» при новой установке.

Текущий пароль

Введите текущий пароль в текстовое поле.

Новый пароль

Введите новый пароль в поле с пометкой "Новый пароль".

Подтвердите пароль

В поле с пометкой "Подтвердите пароль" введите тот же новый пароль, что и в поле "Новый пароль".

Дополнительные пользователи

Адаптивная страница управления показывает встроенного главного администратора и все дополнительные учётные записи, их роли, заметки и состояние 2FA. Администратор может создать, изменить или удалить дополнительную учётную запись, а также сбросить её 2FA. При редактировании пустое поле нового пароля сохраняет прежний пароль.

Встроенный главный администратор продолжает использовать существующие глобальные настройки 2FA OSPy. Каждая дополнительная учётная запись может независимо настроить TOTP или проверку по электронной почте через Безопасность учётной записи в заголовке страницы. Старые учётные записи остаются действительными и после обновления имеют отключённую 2FA. Администратор может сбросить утраченную привязку 2FA, но не видит секрет и резервные коды пользователя.

Безопасность

Защита форм

Действия, которые изменяют настройки или состояние системы, выполняются в виде веб-интерфейса, защищенного токенами. Если страница открыта в течение длительного времени или время сеанса браузера истекло, перезагрузите страницу и повторите попытку.

Используйте доступ HTTPS

Если мы настроили сервер OSPy для более высокой безопасности передачи данных с использованием SSL-сертификата, установите флажок «Используйте доступ HTTPS». Если опция «Используйте доступ HTTPS» отмечена и сервер настроен неправильно, OSPy запустится как незащищенный http-сервер.

Выбор HTTPS на стороне сервера теперь однозначен: собственный сертификат имеет приоритет, иначе используется Let’s Encrypt; включение обеих опций больше не вызывает тихий переход на HTTP.

Доменное имя

Сертификат находится в системе в каталоге «/etc/letsencrypt/live/» доменное имя «/fullchain.pem» и «/etc/letsencrypt/live/» доменное имя «/privkey.pem». Сертификат необходимо вручную установить в систему (Linux) с помощью инструмента «Certbot» (использование https будет отражено в OSPy только после перезапуска OSPy).

  • Процедуру установки службы сертификации можно найти в файле справки «Readme» или на Github.

Используйте HTTPS с Certbot

SSL-сертификат с использованием центра сертификации Let's Encrypt. Certbot (https://certbot.eff.org/) и Let's Encrypt (https://letsencrypt.org/).

sudo apt-get install certbot
certbot --version
sudo certbot certonly --standalone -d your_domain_name
sudo certbot renew
sudo cp /etc/letsencrypt/live/your.domain.com/fullchain.pem /home/pi/OSPy/ssl
sudo cp /etc/letsencrypt/live/your.domain.com/privkey.pem /home/pi/OSPy/ssl
sudo service ospy restart

Использовать собственный доступ HTTPS

Если в настройках OSPy выбрано «Использовать пользовательский доступ HTTPS», вам необходимо поместить файлы: fullchain.pem и privkey.pem в каталог ssl в расположении OSPy. Предупреждение: OSPy необходимо перезапустить.

sudo openssl req -new -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out fullchain.pem -keyout privkey.pem

Второй способ — использовать кнопку «Создать» на вкладке SSL-сертификат.

Источник с поддержкой API CORS

Этот параметр устанавливает заголовок Access-Control-Allow-Origin, который API использует для клиентов, работающих в браузере. Значение * допускает любой источник, можно указать один источник, например, https://example.com, несколько источников, разделенных запятой, или оставить поле пустым, и заголовки CORS не будут отправляться. Он не заменяет аутентификацию API; он только определяет, каким веб-источникам разрешено читать ответы API.

Включить API JSONP

Этот параметр включает устаревший параметр обратного вызова для ответов API JSONP. Оставьте его выключенным, если это не требуется старой интеграцией. Предполагается, что клиенты общего API будут использовать JSON с CORS.

Запомненные логины в браузере

Страница входа может запомнить браузер, используя долгосрочный случайный токен, хранящийся в безопасном файле cookie. OSPy хранит только хеш этого токена, а не пароль пользователя. Используйте кнопку «Отмена», чтобы удалить все сохраненные логины в браузерах; затронутые браузеры должны снова войти в систему с паролем.

Датчики

Раздел сенсор содержит настройки безопасности сенсора.

Пароль для загрузки прошивки

Пароль для загрузки прошивки из OSPy в датчик (для всех используемых датчиков - в настройках датчика должен быть указан один и тот же пароль.)

Настройка станций

Раздел "Настройка станций" содержит общие настройки, влияющие на планирование и объединение станций.

Использование

Указывает, как перекрытия станций могут перекрываться. 0 означает отсутствие ограничений на использование, поэтому станции могут работать одновременно, если их программы перекрываются. 1 всегда означает одну станцию ​​за раз, если каждая станция имеет использование 1. Более высокое значение позволяет нескольким станциям работать одновременно, если сумма их использования не превышает установленный лимит.

Эта настройка также влияет на вставку паузы между станциями.

О последовательном и параллельном режимах

  • Последовательный режим в основном используется, когда источник воды не может подавать воду в несколько ответвлений одновременно. Пример: при максимальном использовании «1» и использовании станции «1» станция 3 должна завершить работу до того, как сможет запуститься станция 4.
  • Параллельный режим используется, когда источник воды может обрабатывать несколько ветвей одновременно. Пример: при максимальном использовании «0» станции 2, 3 и 4 могут работать одновременно, если их программы перекрываются.

Количество выходов

Общее количество доступных выходов составляет 8 выходов плюс выходы от плат расширения. Количество выходов можно установить выше фактического количества физических выходов, тем самым создавая виртуальные выходы.

Пауза между станциями

Пауза, вставляемая между последовательно запускаемыми станциями, когда планировщик не может запустить их одновременно, в секундах от 0 до 3600. Это не продвигает станцию ​​относительно главной станции.

Пример: при максимальном использовании 1 и использовании станции 1 значение 30 запустит следующую станцию ​​через 30 секунд после окончания предыдущей станции.

Минимальное время работы

Пропускает паузу между станциями, если предыдущая пробежка была короче этого значения, в секундах от 0 до 86400.

Пример: с паузой 30 и минимальным временем работы 10 станция, которая работала всего 5 секунд, не будет принудительно устанавливать 30-секундную паузу.

Настроить Мастер

В разделе «Настроить Мастер» выбираются главная станция 1, главная станция 2 и временные сдвиги, используемые при активации главной станции. Основной станцией обычно является насос или главный клапан подачи воды.

Мастер-станция будет использоваться только для станций, для которых она установлена ​​на странице «Станции», или для программ, которые выбирают Мастер-станцию ​​1 или 2 для станций, для которых установлено значение «Активировать Мастер-1/2 по программе».

Мастер-станция

Выбор первой главной станции, например насоса или главного клапана.

Мастер две станции

Выбор второй главной станции, например, второго насоса или другого источника воды.

Активировать реле

Если этот флажок установлен, реле также будет активировано в качестве основного выхода.

Смещение главного старта

Смещение времени включения питания главной станции 1 от запуска станции, в секундах между -1800 и +1800. Отрицательные значения запускают мастер раньше, положительные значения позже.

Пример: -10 запускает главную станцию ​​за 10 секунд до станции. +10 запускает его через 10 секунд после станции.

Смещение мастер-стопа

Смещение времени выключения главной станции 1 от конца станции в секундах между -1800 и +1800. Отрицательные значения отключат главную станцию ​​раньше, положительные значения продлят ее работу.

Пример: -5 выключает ведущую станцию ​​за 5 секунд до окончания станции. +20 выключает его через 20 секунд после окончания станции.

Смещение старта второй главной станции

Сдвиг времени включения основной станции 2 по сравнению с запуском станции. Это работает так же, как начало смены главной станции, но только для главной станции 2.

Смещение остановки второй главной станции

Смещение времени выключения главной станции 2 относительно окончания станции. Это работает так же, как смена выключения главной станции, но только для главной станции 2.

Датчик дождя

Устанавливает тип переключателя датчика дождя. Если вы используете Raspberry Pi и хотите подключить датчик дождя напрямую к контактам GPIO, используйте контакты 8 и 6 (земля).

Использовать датчик

Установите флажок «Использовать датчик», чтобы включить датчик дождя.

Нормально открытый

Установите флажок «Нормально открытый», если датчик нормально открыт без дождя, в противном случае снимите флажок. Информацию о типе переключателя см. в руководстве пользователя датчика дождя.

Установить задержку дождя

При активации датчика дождя устанавливается задержка дождя (это подходит, например, для блокировки программ на более длительное время, чем обеспечивает датчик дождя).

Время задержки дождя

Время задержки дождя (в часах) от 0 до 500.

Ведение журнала

Включите ведение журнала запусков и установите количество записей, которые вы хотите сохранить. Включите регистрацию отправленных писем и установите количество записей, которые вы хотите сохранить.

Включить журнал запусков

Установите флажок "Включить журнал запусков". Это включит ведение журнала и историю полива на временной шкале на главной странице. Записывайте все запуски станции — обратите внимание, что повторяющаяся запись на SD-карту может сократить ее срок службы.

Максимальное количество записей о пробеге

Введите количество записей, которые вы хотите сохранить в журнале. Установите число, охватывающее разумный промежуток времени, например неделю или месяц. Это будет зависеть от количества имеющихся у вас программ и станций. При каждом запуске станции будет одна запись. 0 = нет ограничений.

Включить журнал электронной почты

Установите флажок "Включить журнал электронной почты". Это включит ведение журнала и включит историю полива по электронной почте.

Максимальное количество записей о пробеге

Введите количество записей, которые вы хотите сохранить в журнале. Установите число, охватывающее разумный промежуток времени, например неделю или месяц. Это будет зависеть от количества имеющихся у вас программ и станций. Для каждого электронного письма будет одна запись. 0 = нет ограничений.

Включить журнал событий

Включить журнал событий (датчик дождя, задержка дождя, сервер, внешний IP-адрес в Интернете ...)

Максимальное количество записей о пробеге

Количество записей о событиях, сохраняемых на диск, 0 = без ограничений.

Включить журнал отладки

Нажмите «Включить журнал отладки», чтобы сохранить все внутренние операции OSPy в файл для облегчения отладки. * Примечание: * слишком частое сохранение данных в файл может привести к повреждению SD-карты или уменьшению емкости SD-карты (хранилища) через долгое время. Перечислены все операции (в том числе со всеми расширениями).

Перезагрузка системы

Раздел «Перезагрузка системы» содержит кнопки для перезапуска программного обеспечения, перезапуска оборудования, выключения оборудования и сброса всех настроек до значений по умолчанию.

Перезапустить

Кнопка "Перезапустить" только перезапускает программное обеспечение. Это быстрый вынужденный способ внесения изменений в программное обеспечение.

Перезагрузить

Кнопка «Перезагрузить» перезагружает Raspberry Pi. Это займет больше времени, но приведет к полной перезагрузке системы.

Выключение

Кнопка "Выключение" отключает питание оборудования Raspberry Pi.

По умолчанию

Кнопка "По умолчанию" очистит все пользовательские настройки и приведет к чистой установке OSPy по умолчанию.

  • Все настройки также можно удалить вручную в OSPy (находим в системе папку ospy/data и удаляем все файлы в папке).

Резервное копирование системы

Если мы хотим сделать резервную копию всех настроек нашей ирригационной системы OSPy или перенести настройки в другую систему OSPy, мы используем кнопку «Скачать», а затем «Загрузить».

Скачать

Кнопка «Скачать» используется для загрузки файла конфигурации на компьютер для дальнейшего использования или для восстановления системы OSPy. Сохраняется не только файл базы данных (options.db), но и папка станций, в которой хранятся изображения станций. При этом сохраняется файл журнала event.log (если есть). Все хранится в zip-файле (пример: ospy_backup_имя_системы_4.12.2020_18-40-20.zip). Мы можем легко определить, из какой системы OSPy сделана резервная копия. Папка SSL, в которой находится сертификат, не сохраняется в резервном zip-файле по соображениям безопасности!

Загрузить

Кнопка «Загрузить» позволяет вставлять и восстанавливать OSPy (например, при переустановке Linux). Загруженный файл должен быть в формате zip! В файле должны быть следующие пути и файлы.

*.zip folder:
ospy-backup.json
ospy/data/default/options.db.*
ospy/data/backup/options.db.*
ospy/data/events.log
ospy/images/stations/station1.png
ospy/images/stations/station1_thumbnail.png

Или другие изображения станций в том же формате.

Новые резервные копии содержат файл ospy-backup.json, в котором указаны формат копии, версия OSPy, время создания, размер и контрольная сумма SHA-256 каждого файла. Архив включает базу настроек OSPy, данные системного журнала событий и изображения станций. Закрытые ключи SSL, код плагинов и кэш Python намеренно исключены; каталоги данных плагинов по-прежнему сохраняются отдельным плагином OSPy package Backup. Перед восстановлением OSPy отклоняет небезопасные пути ZIP, ссылки, зашифрованные или повторяющиеся элементы, чрезмерный размер или степень сжатия, а также файлы вне ospy/data/ и ospy/images/stations/. Ограничения составляют 50 000 элементов и 512 МБ после распаковки; для файла больше 1 МБ степень сжатия не должна превышать 200:1, а настроенный предел загрузки может быть ниже. Каждый файл проверяется по манифесту и распаковывается во временный каталог. Затем OSPy автоматически создаёт страховую копию текущего состояния, атомарно заменяет данные и перезапускается. Старые копии OSPy без манифеста по-прежнему поддерживаются как прежний формат только с данными и проходят те же проверки путей и размера ZIP.

Формат резервной копии 2 сохраняет основной backend настроек, режим хранения и схему SQLite. Перед архивированием рабочих настроек OSPy сохраняет ожидающие изменения и блокирует параллельную запись настроек. База SQLite копируется транзакционно через SQLite Backup API, после чего снимок независимо проверяется на целостность, схему, манифест записей и контрольные суммы значений. Восстановление повторяет эту логическую проверку после распаковки и отклоняет снимок, у которого не совпадают заявленные режим, схема или число настроек. Копии с манифестом формата 1 и старые копии без манифеста остаются доступными для восстановления. Активные веб-сеансы не сохраняются и не восстанавливаются; после восстановления необходимо войти снова. OSPy хранит на устройстве десять последних страховых системных копий. Они перечислены в Параметрах, где выбранный архив можно скачать, а затем восстановить с помощью функции Загрузить. Системная копия содержит учётные данные и настройки безопасности, поэтому скачанные архивы необходимо хранить в безопасном месте.

сертификат SSL

Если у нас есть собственный сертификат безопасности SSL (https) (fullchain.pem и privkey.pem), мы можем загрузить его сюда с помощью формы.

Генерировать

Если мы хотим сгенерировать SSL-сертификат, нажимаем кнопку «Создать». Сертификат будет создан в каталоге ssl. Впоследствии в настройках/безопасности проверяем опцию «собственный HTTPS» и затем перезапускаем OSPy.

Загрузить

Кнопка "Загрузить" отправляет прикрепленные файлы (fullchain.pem и privkey.pem) в папку ssl в каталоге OSPy.


Станция

На странице "Станция" задаем названия станций, свойства по использованию количества воды, управление основными станциями.

Станция

Автоматическая нумерация для обозначения станций. Например, 1 = станция 1, 2 = станция 2...

Имя

Пользовательское наименование станций для лучшей идентификации в системе, например "газон".

Использование

Установите параллелизм (0) или последовательность (>=1) для определенных станций. Подробнее о параллелизме или последовательности в тексте выше в разделе «Настройки/О последовательном и параллельном режимах».

Орошение

Количество воды в мм, которое будет распыляться разбрызгивателями на этой станции в час. Используется для программ, основанных на погоде. Для измерения этой величины желательно приобрести, например, пластиковый дождемер.

  • Относится к времени, необходимому для того, чтобы определенное количество воды проникло в почву определенного типа. В целом, скорость поглощения более легкой текстуры (песчаной) почвы выше, чем у более тяжелой (глинистой) почвы. Однако дождевание с большим количеством воды может привести к поверхностному стоку даже на песчаных почвах. На скорость поглощения почвы при орошении влияют многие факторы, такие как текстура почвы, структура почвы, уплотнение, органическое вещество, слоистые почвы, почвенные соли, качество воды, осадки в поливной воде и т. д.

Сток

Количество воды, которое почва может хранить выше уровня 0. Используется для программ, основанных на погоде.

  • Относится к количеству почвенной влаги или содержания воды, удерживаемого в почве после того, как избыток воды стечет и скорость движения вниз уменьшится. Обычно это происходит через 2-3 дня после дождя или полива на прежних почвах с однородным текстурой и структурой.

Фактор ЕТо

Коэффициент, используемый для умножения коэффициента ETo для программ, основанных на погоде. Используйте значение выше 1 для солнечной/сухой почвы, используйте значение ниже 1 для затененной/влажной почвы.

  • Тип почвы

Почвы обладают различными свойствами, которые делают их уникальными. Знание типа почвы поможет вам определить ее сильные и слабые стороны. Хотя почва состоит из множества элементов, начинать следует с типа почвы. Вам нужно лишь следить за составом частиц почвы. OSPy позволяет пользователям указывать тип почвы для каждой зоны (станции), что позволяет более точно и эффективно рассчитывать полив. Различные типы почв по-разному реагируют на воду; глинистые почвы имеют тенденцию к дренированию, а суглинистые могут удерживать воду в течение длительного времени и т. д. Количество воды, содержащейся в почве после стекания избытка воды, и способность почвы удерживать воду называются полевой емкостью (измеряется в дюймах или миллиметрах).

Тест бутылочки

Как найти примерные пропорции песка, ила и глины? Это простой тест, который даст вам общее представление о пропорциях песка, ила и глины, присутствующих в почве. Насыпьте в бутылку 5 см почвы и залейте ее водой. Хорошо перемешайте воду и почву, отставьте бутылку в сторону и не прикасайтесь к ней в течение часа. Через час вода станет прозрачной и вы увидите, что более крупные частицы осели:

  • Частицы органики могут плавать на поверхности воды.
  • Сверху слой глины. Если вода все еще не прозрачная, это потому, что некоторые более мелкие глины все еще смешаны с водой.
  • В середине слой грязи.
  • На дне слой песка.
  • Измерьте глубину песка, ила и глины и прикиньте их примерное соотношение.

Следующие три типа частиц могут составлять вашу почву: глина, песок и ил. Большинство почв представляют собой комбинацию этих трех частиц, но тип доминирующих частиц определяет многие свойства вашей почвы. Соотношение этих размеров определяет тип почвы: глина, суглинок, суглинок, пылеватый суглинок и т. д.

  • Идеальная почва — это 40% песка, 40% ила и 20% глины. Эту смесь называют глиной. При этом берется лучшее от каждого типа частиц почвы. Он имеет хороший дренаж воды и позволяет воздуху проникать в почву, как песок, но также хорошо удерживает влагу и плодороден, как ил и глина.

Регулировка баланса

Увеличение или уменьшение водного баланса для программ, основанных на погоде (если не установлено значение 0).

Подключено

Если у нас подключена станция (подключена физически) и мы хотим ее использовать (это видно в выборе в программах, на главной странице...), ставим галочку "Подключено". Если мы не используем станцию ​​и не хотим публиковать ее в системе OSPy, оставляем «Подключено» не отмеченным. Если станция используется в системе как «главная станция» или «2 основные станции», ее нельзя отметить или снять (деактивировать) в таблице. Мастер-станция назначается в настройках системы «Настройки/Настройки мастер-станции».

Игнорировать дождь

Если мы отметим «Игнорировать дождь» для определенной станции, станция будет активирована согласно программе независимо от того, установлена ли задержка дождя или датчик дождя обнаруживает дождь. Этот вариант мы будем использовать, например, в теплице, где не идет дождь и нужно регулярно поливать. или, например, запустить фильтрацию бассейна, который мы также чистим независимо от того, идет ли дождь.

ВКЛ Главный?

Не использовать

Мастер-станция использоваться не будет (если активирована определенная станция, мастер-станция не будет активирована).

ВКЛ Главная

Если мы требуем, чтобы при активации определенной станции активировалась и основная станция (например, насос или основной клапан с водой), выбираем пункт «ВКЛ. основную?».

ВКЛ Основной 2

Если мы требуем, чтобы при активации определенной станции активировалась и вторая основная станция (например, второй насос или другой источник воды), выбираем пункт «ВКЛЮЧИТЬ главную 2?».

ВКЛ Основная 1/2 программа

Если мы хотим активировать главную станцию или вторую основную станцию, то выбираем в программе пункт "Активировать Мастер 1/2 по программе". Затем для программы можно выбрать, какая ведущая станция будет использоваться для этой станции (пример: программа 1 управляет станциями 1–4 и ведущей станцией 5. Программа 2 управляет станциями 1–4 и второй ведущей станцией 6).

Примечания

Примечания используются для работы с системой OSPy. Например, можно отметить: какой тип эл. клапан, спринклер и т. д., которые мы использовали в системе.

Изображение

После нажатия на окно открывается страница, на которой можно загрузить на станцию ​​собственное изображение.


Датчики

На странице "Датчики" мы можем добавлять или удалять датчики, выполняющие разные функции в системе OSPy. OSPy в настоящее время поддерживает датчики с сайтов pihrt.com и shelly.com.

Добавить новый датчик (с сайта Pihrt.com)

Кнопка "Добавить новый датчик" добавит в систему новый датчик. Настройки датчика указаны ниже в разделе «Параметры датчика».

Параметры датчика

Для датчиков используются два типа связи:

  • Беспроводная связь (радио) - идентификационный радиодатчик
  • Сеть (Wi-Fi/LAN) – MAC-адрес, IP-адрес Вы можете выбрать различные типы датчиков:
  • Сухой контакт
  • Детектор утечек
  • Влага
  • Движение
  • Температура
  • Мультисенсорный контакт
  • Мультисенсорный течеискатель
  • Мультисенсор влажности
  • Мультисенсорное движение
  • Мультисенсор температуры
  • Мультисенсорный ультразвук
  • Мультисенсор влажности почвы

Включить датчик

Включите или отключите этот датчик.

Название датчика

Введите имя датчика. Имена датчиков должны быть ненулевыми и уникальными.

Тип датчика

Выберите тип датчика.

Сухой контакт

  • Открыть программу(ы) Отметьте нужные программы для запуска.
  • Или остановить эти работающие станции в планировщике.
  • Закрытые программы Отметьте нужные программы для запуска.
  • Или остановить эти работающие станции в планировщике.

Детектор утечек

  • Чувствительность (0-100%) Превышение этого уровня активирует программу(ы) высокого уровня.
  • Время стабилизации (мм:сс) По истечении заданного времени детектор не будет реагировать на изменение.
  • Низкая программа(ы) Отметьте нужные программы для запуска.
  • High Программа(ы) Отметьте нужные программы для запуска.

Влага

  • Низкий уровень (0-100%) Превышение этого уровня активирует программу(ы) низкого уровня.
  • Низкая программа(ы) Отметьте нужные программы для запуска.
  • Высокий уровень (0-100%) При превышении этого уровня активируются программы высокого уровня.
  • High Программа(ы) Отметьте нужные программы для запуска.

Движение

  • Программы Отметьте нужные программы для запуска.

Температура

  • Низкий уровень (0–100 °C/°F) При превышении этого уровня активируются программы низкого уровня.
  • Низкая программа(ы) Отметьте нужные программы для запуска.
  • Высокий уровень (0–100 °C/°F) При превышении этого уровня активируются программы высокого уровня.
  • High Программа(ы) Отметьте нужные программы для запуска. Для температуры отображаются градусы Цельсия или градусы Фаренгейта, в зависимости от того, как установлена ​​температура на титульной странице (справа внизу) (изменить единицы измерения можно, нажав на температуру).

Ультразвуковой

  • Расстояние от ультразвукового датчика (сверху) до минимального уровня воды в баке.
  • Расстояние от ультразвукового датчика (сверху) до максимального уровня воды в баке.
  • Минимальный уровень воды в баке (от нижней части бака) для отчета.
  • Диаметр цилиндра для расчета объема.
  • Display in liters or m3.
  • Остановите станции, если уровень воды минимальный.
  • Время задержки (часы).
  • Остановите станцию, если ультразвуковой датчик неисправен.
  • Остановите эти станции в планировщике.
  • Регулировка максимального уровня воды.
  • Максимально поддерживаемый уровень воды.
  • Максимальное время работы при активации.
  • Минимальный поддерживаемый уровень воды.
  • Выход для регулирования.

Влажность почвы

  • Датчик xx управляет программой (выберите в списке программ программу, на которую хотите повлиять с помощью датчика 1-16).
  • Откалибруйте датчик xx на 100 % (введите уровень напряжения в вольтах, чтобы откалибровать датчик при влажности 100 %).
  • Откалибруйте датчик xx на 0 % (введите уровень напряжения в вольтах, чтобы откалибровать датчик при влажности 0 %).

Тип связи

Выберите тип связи для датчика.

Радио

Введите идентификатор вашего радиодатчика. Идентификатор датчика должен быть ненулевым и уникальным.

Wi-Fi / LAN

  • Введите MAC-адрес датчика. Пример: аа: bb: cc: dd: ee: ff
  • Введите IP-адрес датчика. Пример: 192.168.88.10

Частота дискретизации

Введите время выборки в минутах и секундах (мм:сс).

Образцы журналов

Включите регистрацию выборки.

Журнал событий

Включите ведение журнала событий.

События текстовых сообщений/электронной почты

Включить отправку электронных писем при возникновении события. Для этой функции требуется расширение уведомления по электронной почте!

Примечания

Здесь мы можем делать свои заметки.

Удалить все датчики

Кнопка "Удалить все датчики" удалит все добавленные датчики в системе.


Добавить новый датчик (с сайта shelly.com)

Датчики Shelly можно интегрировать в OSPy с помощью расширения «shelly cloud integrator», в котором мы подключаем доступные устройства (либо через облако shelly.com, либо в локальной сети). Затем мы сможем найти эти устройства в OSPy в разделе датчиков/поиска. В OSPy мы можем использовать измерения, например, потребления, напряжения, состояния выхода и т. д.


Помощь

На странице "Помощь" мы можем найти документацию по всем расширениям, системным OSP, системным изменениям, доступу к API, веб-интерфейсу. Плавающий значок PDF открывает версию текущей статьи для печати без навигации OSPy. В диалоге печати браузера статью можно сохранить в файл PDF.

OSPy

Readme

Основная документация OSPy, установка системы, подключение платы, лицензии.

Changelog

Изменения в системе OSPy или расширениях

Programs

Внутренне все программы поддерживают расписание, которое можно редактировать напрямую (так же, как пользовательская программа). Для упрощения работы созданы следующие типы программ. Каждая программа может относиться к одному из этих типов. Наконец, каждую программу можно написать как собственную.

Prog/type_data | 0 | 1 | 2 | 3 | 4 | 5 --:|:-- |:-- |:-- |:-- |:-- | DAYS_SIMPLE |start_time |duration |repeat pause |repeat times |list days to run| REPEAT_SIMPLE |start_time |duration |repeat pause |repeat times |repeat days |start_date DAYS_ADVANCED |list of intervals [start, end]|list days to run| | | | REPEAT_ADVANCED |list of intervals [start, end]|repeat days | | | | WEEKLY_ADVANCED |list of intervals [start, end]| | | | | CUSTOM |list of intervals [start, end]| | | | | WEEKLY_WEATHER | | | | | |

set_days_simple start_min, duration_min, pause_min, repeat_times, [days] set_repeat_simple start_min, duration_min, pause_min, repeat_times, repeat_days, start_date set_days_advanced [schedule], [days] set_repeat_advanced [schedule], repeat_days, start_date set_weekly_advanced [schedule] set_weekly_weather irrigation_min, irrigation_max, run_max, pause_min, pems

Web Interface Guide - Czech

Помощь по веб-интерфейсу на чешском языке.

Web Interface Guide - English

Справка по веб-интерфейсу на английском языке.

Web Interface Guide - German

Справка по веб-интерфейсу на немецком языке.

Web Interface Guide - Polish

Справка по веб-интерфейсу на польском языке.

Web Interface Guide - Russian

Справка по веб-интерфейсу на русском языке.

Web Interface Guide - Serbian

Справка по веб-интерфейсу на сербском языке.

Web Interface Guide - Slovak

Помощь по веб-интерфейсу на словацком языке.

API

Readme

Для современных веб-браузеров рекомендуется создавать API по принципу CRUD с использованием JSON в качестве формата контейнера данных.

Подробности

Сопоставление методов HTTP/s.

Плагины

Актуальная базовая структура плагина выглядит так:

plugins/
└── plugin_name/
    ├── data/
    ├── docs/
    ├── static/
    ├── script/
    ├── templates/
    ├── __init__.py
    ├── plugin.json
    └── README.md

Перечисленные каталоги и файл README.md необязательны. Новые или обновлённые плагины, распространяемые для установки, должны содержать __init__.py и допустимый UTF-8-файл plugin.json, где id совпадает с именем каталога. Уже установленные старые плагины без манифеста продолжают поддерживаться в режиме обратной совместимости.

Статические файлы доступны по адресу /plugins/plugin_name/static/.... Файлы скриптов доступны по адресу /plugins/plugin_name/script/...; страница плагина может загружать собственный JavaScript для вызова API OSPy и обновления отображения. Все файлы *.md из каталога docs отображаются в справке. Файл README.md, если он существует, становится первым пунктом справки и также может использоваться как описание плагина.

Доступные расширения:

  • Статистика использования (анонимная статистика использования системы OSPy)
  • LCD Display (ЖК-дисплей 16x2 символов, подключенный по шине I2C)
  • Pressure Monitor (контроль давления в трубопроводе - защита насоса)
  • Voice Notification (звуковые уведомления - воспроизведение mp3-файлов)
  • Pulse Output Test (тест выхода — используется для поиска определенного клапана в земле)
  • Button Control (управление системой OSPy с помощью 8 кнопок – используется для ручного запуска программ)
  • CLI Control (удаленное управление периферийными устройствами с помощью URL-команд — например, RF-сокетами)
  • Сторожевой таймер системы
  • Напряжение и Температура Монитор (измерение напряжения и температуры по шине I2C)
  • Удаленные уведомления (отправка данных на удаленный сервер с помощью PHP)
  • Системная информация (системная информация OSPy и Linux)
  • Монитор температуры и влажности воздуха (измерение температуры 6x DS18B20 и влажности DHT11 по шине I2C)
  • Wind Speed Monitor (измерение скорости ветра по шине I2C)
  • Задержка дождя в зависимости от погоды
  • Relay Test (проверка реле главного насоса)
  • Монитор ИБП (отслеживает сбой питания системы, отправляет электронную почту и выключает систему Linux)
  • Счетчик расхода воды (виртуальный расходомер воды на основе расчета пробега основной станции)
  • SMS-модем (дистанционное управление с помощью SMS и USB-модема)
  • Примеры сигнализации (пример уведомлений о «сигнале» в системе OSPy)
  • Уведомления по электронной почте (отправка электронных писем из системы - некоторые другие расширения также используют это расширение, например: Монитор скорости ветра, Монитор давления, Монитор температуры и влажности воздуха...)
  • Remote FTP Control (упрощенное удаленное управление OSPy с помощью сервера с PHP и FTP)
  • Обновление системы (используйте это расширение, чтобы легко обновлять систему OSPy из GIThub вместо системных команд)
  • Water Meter (измерение расхода водомером с импульсным выходом по шине I2C) Water Meter v1.1.1 выполняет непрерывные измерения с интервалом в одну секунду и каждую секунду обновляет отдельную страницу обзора. Обзор показывает текущие л/с, соответствующие л/мин, расход за текущую минуту и час, общий расход и график потока. Настройки управляют локальным журналом JSON и дополнительным журналом SQL, источником отображения, интервалом в секундах, пропуском нулевого потока и максимальным числом записей, где 0 означает отсутствие ограничения. Необязательное значение Home показывает текущие л/с (текущие л/мин), а мобильный API v1 предоставляет живые карточки и ограниченную историю из выбранного источника. Счётчик читается непосредственно из регистров PCF8583 0x01–0x03; ошибка настройки или измерения закрывает шину, автоматически повторяет инициализацию и отображается в обзоре.
  • Energy Meter Energy Meter v1.0.1 контролирует любое количество трёхфазных счётчиков Shelly Pro 3EM и Shelly 3EM-63T Gen3. Подключение по умолчанию и рекомендуемый вариант считывают устройство напрямую в локальной сети по IP-адресу или DNS-имени без облака и доступа к Интернету; альтернативно кэшированные данные может предоставить настроенное и запущенное расширение Shelly Cloud Integration. Каждому счётчику назначается роль подключения к сети, солнечной генерации, отдельной нагрузки или вспомогательного измерения, направление можно инвертировать. Обзор раздельно показывает потребление из сети и отдачу в сеть, L1–L3 и сумму, сегодня, вчера, месяц и год, стоимость, доход от отдачи, историю, графики и CSV. При наличии сетевого и солнечного счётчиков вычисляются потребление дома, собственное потребление, энергетическая независимость и экономия; одна только отдача в сеть никогда не обозначается как генерация. Атомарно сохранённые показания продолжаются после перезапуска OSPy и безопасно распознают сброс или замену счётчика. Цены и временные тарифы сохраняются в каждом интервале, история может использовать локальный JSON, SQL через Database Connector или оба хранилища, а данные доступны на Home, в диагностике и через мобильный API.
  • Монитор веб-камеры (съемка фотографий с веб-камеры USB)
  • Weather-based Water Level Netatmo (настройка количества воды для орошения с метеостанции Netatmo)
  • Прямые 16 релейных выходов (с помощью этого расширения мы можем управлять 16 реле (станциями), подключенными напрямую к Raspberry Pi, но некоторые другие расширения будут недоступны)
  • MQTT (отчет о состоянии OSPy по протоколу MQTT, управление станцией через MQTT...)
  • System Debug Information (информация о том, что происходит в системе OSPy, если у нас в настройках включена отладка "Включить отладку", то здесь в расширении отображается сохраненная запись)
  • Weather-based Water Level (установка количества воды для орошения на основе прогноза погоды)
  • Real Time и время NTP (расширение, устанавливающее системное время - Linux и HW RTC-время с NTP-сервера, HW RTC использует шину I2C)
  • Water Tank (измерение уровня воды с помощью ультразвука - например в колодце по шине I2C)
  • Ежемесячный уровень воды (настройка количества воды для отдельных месяцев)
  • Компрессоризатор (создание давления в насосе перед запуском программ)
  • Монитор Ping (измерение сбоев в сети)
  • Температурный переключатель (регулятор температуры, позволяющий создать 3 независимые зоны)
  • Pool Heating (регулирование температуры бассейна в зависимости от солнечного нагрева)
  • Программа чтения электронной почты (управление OSPy с помощью сообщений электронной почты)
  • Метеостанции (отображение значений из других расширений в стиле стрелок часов) версия 1.0
  • Telegram Bot (общайтесь с OSPy с помощью приложения telegram.org)
  • Door Opening (открытие дверного замка или сдвижных ворот)
  • Voice Station (звуковые уведомления по событиям станции - воспроизведение wav и mp3 файлов)
  • Управление жалюзи (это расширение отправляет примеры через REST API на реле Wi-Fi от Shelly или аналогичные реле)
  • Монитор скорости интернет-соединения (ответ, загрузка, выгрузка)
  • Уведомления по электронной почте SSL (отправка электронных писем из системы - некоторые другие расширения также используют это расширение, например: Монитор скорости ветра, Монитор давления, Монитор температуры и влажности воздуха...) Это расширение представляет собой более современный вариант оригинального расширения Уведомления по электронной почте (подключение через уровень SSL).
  • Sunrise and Sunset (расчет астрономических данных, таких как восход и заход солнца. Согласно этим расчетам позволяет в дальнейшем запускать программы).
  • PV котел (отопление котла от распределительной сети или фотоэлектрической электростанции).
  • IP-камеры (позволяет осуществлять мониторинг с IP-камер. В виде предварительного просмотра JPEG, изображения GIF или потока MJPEG с камеры).
  • CHMI (позволяет считывать текущую погоду с метеорадара CHMI и устанавливать временную задержку в соответствии с ней. Одновременно отображать статус погоды RGB на карте HW).
  • Следовательно (плагин по умолчанию для создания других новых плагинов. Плагин не делает ничего особенного, но объясняет, как он работает).
  • Label Maker (создание EAN и QR-кодов).
  • IP Scanner (поиск IP и MAC в сети).
  • Database Connector (подключение к базе данных для хранения данных с датчиков).
  • OSPy Backup (резервное копирование каталога данных всех расширений в zip-файлы).
  • MQTT Home Assistant (интеграция в HASS с помощью MQTT).
  • Интеграция с Shelly Cloud (получение состояний из облака производителя устройств Shelly).
  • Current Loop Tanks Mmonitor (измерение уровня от 4 датчиков).
  • Network Ping Monitor (мониторинг доступности 3-х устройств в сети).
  • Weather Dashboard (отображение значений из других расширений в стиле стрелок часов) версия 2.0
  • Thermostat

Выход из системы

После нажатия кнопки "Выход из системы" пользователь выйдет из системы.


Двухфакторная защита (2FA)

Двухфакторная аутентификация защищает основную учетную запись администратора вторым этапом после ввода пароля. Откройте Настройки → Двухфакторная защита → Настроить и выберите только один способ: Приложение-аутентификатор (TOTP), Код по электронной почте или Отключено. Оба способа нельзя использовать одновременно.

Для TOTP один раз выполните python setup.py install, если отсутствует поддержка QR. Отсканируйте QR-код с помощью Google Authenticator, Microsoft Authenticator, 2FAS, Aegis или другого приложения TOTP и введите текущий шестизначный код. OSPy активирует секрет только после подтверждения. Для TOTP необходимо правильное системное время.

Проверка по электронной почте доступна только тогда, когда E-mail Notifications SSL установлен, запущен и настроены SMTP-сервер, учетная запись, пароль и получатель. При включении OSPy немедленно отправляет код подтверждения. Коды входа действуют пять минут и никогда не помещаются в очередь повторной отправки плагина.

После включения надежно сохраните показанные одноразовые резервные коды. Каждый код может один раз заменить второй фактор, после чего удаляется; повторно коды не показываются. Изменение или отключение 2FA отменяет все запомненные входы браузеров. При потере телефона или недоступности почты используйте резервный код; без него восстановите резервную копию конфигурации либо локально сбросьте 2FA на устройстве OSPy.


Плагин Automation Rules

Необязательный плагин Automation Rules создает графические правила AND/OR из кэшированных значений плагинов мониторинга, включенных датчиков OSPy Pihrt или Shelly, локальной даты и времени и системных состояний OSPy, доступных только для чтения. Правило может ожидать устойчивого выполнения условий, повторять предупреждение и сообщать о возврате к норме через Home, браузер, электронную почту, Telegram или мобильные push-уведомления. Отдельный, по умолчанию выключенный переключатель управления разрешает защищенные действия: остановку выбранных станций, всех выходов или работающих программ, отключение планировщика, однократное либо ограниченное по времени циклическое включение конкретного выхода в ручном режиме, изменение глобального уровня воды или вызов действия, явно объявленного другим поставщиком. История действий записывает каждый запуск цикла, паузу, повторный запуск, ошибку и окончательную остановку с указанием причины. Water Meter 1.2.1 предоставляет первое конкретное действие поставщика для явного сброса накопленных счетчиков. Тестовый режим только имитирует действия и записывает результаты. Дополнительная блокировка инцидента требует подтверждения администратора после того, как все условия станут доступными и неактивными; разблокировка никогда не отменяет выполненное действие.

Совместимые работающие поставщики добавляют собственные защищенные действия. Venetian Blind может открыть, остановить, закрыть жалюзи или выбрать наклон 1–4; Water Tank Monitor может остановить регулирование и сбросить сохраненные минимум и максимум; Current Loop Tanks Monitor может остановить регулирование одного или всех резервуаров; OSPy Backup может создать архив данных плагинов.

Плагин Irrigation Safety

Необязательный плагин Irrigation Safety объединяет фактическое состояние станций и главных выходов OSPy с кэшированными значениями Water Meter, Pressure Monitor и мониторов резервуаров. Для каждой станции задаются ожидаемые минимальный и максимальный расход, задержка запуска и время подтверждения неисправности. Автоматическое обучение принимает образцы только после задержки запуска и только при работе одной станции, затем сохраняет устойчивый диапазон с настраиваемым запасом безопасности. Диапазоны полностью настроенных одновременно работающих станций суммируются. Плагин также обнаруживает расход без полива, недоступное измерение расхода, отсутствие давления и низкий или недоступный уровень резервуара.

При вводе в эксплуатацию используйте режим Только наблюдение. Активная защита может остановить все выходы, выключить отдельное главное реле, отключить планировщик и сохранять блокировку инцидента до подтверждения администратором после устранения неисправности. Ограниченный по времени обход подавляет управляющие действия, но сохраняет наблюдение и уведомления. Защитное действие выполняется до асинхронной отправки электронной почты или мобильного push. Страница обновляет измерения, активные станции, ход обучения, инциденты и историю в фоне.

Clone this wiki locally