Представляю вашему вниманию очередное обновление системы домашней автоматизации WebHomePi. Что бы не утомлять вас долгим и скучным описанием, очень сжато и кратко расскажу только обо всех внесенных изменениях по отношению к предыдущей версии (08_2018), тем более, что их на первый взгляд в плане функциональности системы, оказалось не так уж и много. Изменения коснулись в первую очередь оптимизации структуры web-интерфейса, добавления некоторых новых функций, а также исправления выявленных ошибок.
Web-интерфейс в текущей версии в текущей версии состоит из восьми страниц (рис.1).
Рис. 1
На главную страницу (index.html) добавлена функция вывода до шести датчиков DHT22с контроллера метеостанции, связанной с Raspberry Pi по интерфейсу RS485. Количество подключенных к метеостанции и выводимых на главную страницу датчиков можно настроить в меню конфигурирования. Добавлена кнопка сброса позиционирования датчиков в исходное состояние. Эта кнопка, а также кнопки выбора планировки и записи параметров по умолчанию (при загрузке страницы) скрыты, и для получения доступа к ним необходимо кликнуть по логотипу «WebHomePi» на главной странице (рис.2).
Рис. 2
Изменения на странице sensors.html затронули порядок размещения датчиков и графиков. Теперь каждый график для более наглядной визуализации размещается рядом со «своим» датчиком (рис.3). Необходимо отметить, что на страницу sensors.html, аналогично как и на главную страницу, выводятся только те датчики, которые активированы в меню конфигурирования на странице config.html. Еще раз напомню, что для корректной работы системы, никогда не активируйте в меню датчики и устройства, которые физически не подключены к Raspberry Pi.
Рис. 3
На страницу remote.html добавлены интерфейсы управления двумя типами релейных модулей, работающих по шине RS485 (в предыдущей версии для них использовались отдельные страницы интерфейсов). Интерфейсы релейных модулей на странице remote.html будут отображаться только в случае их активации в меню конфигурирования системы (рис.4)
Рис. 4
Расширен функционал интерфейса управления по MQTT – реализована поддержка контроллера на ESP8266, позволяющего управлять 4 выходами, контролировать состояние 4-х входов и получать данные с датчика температуры и влажности DHT22 (рис.5). Обращаю внимание, что для настройки работы по MQTT пользователю теперь нет необходимости вручную прописывать в скрипте mqtt.py свой IP адрес сервера (Raspberry Pi) – данный параметр считывается из системы автоматически.
Рис. 5
Дополнительно предусмотрена функция установки пользователем в меню конфигурирования тайм-аута периодической записи показаний датчиков в базу данных для построения графиков. Тайм-аут задается в минутах в диапазоне от 1 до 59 минут.
Также в процессе работы над текущей версией был исправлен ряд выявленных ошибок, в частности, сброс в исходное состояние сохраненных позиций расстановки объектов на планировке при случайной записи, отображение в web-интерфейсе remote.html пустых «строк» входов и выходов GPIO в случае их отключения в меню конфигурирования, устранены ошибки в макросе работы с датчиками DHT22, выполнена оптимизация кода.
Ниже приведена небольшая видеоинструкция по первичной настройке системы после развертывания образа на SD карте: