Установка программы SmartHome FE

Для начала установки программы необходимо скачать и распаковать файлы архива в папку Вашего web-сервера. Для работы программы ей необходимо использование база данных MySQL. В файл config.php указываем параметры подключения к базе:

$mysql['host'] = 'localhost'; // IP-адрес расположения базы, для локальной базы localhost
$mysql['login'] = 'login'; // Логин подключения к базе
$mysql['pass'] = 'password'; // Пароль доступа к базе
$mysql['db'] = 'database'; // Название базы данных, где будут размещены таблицы программы

Для создания необходимых таблиц в базе данных запускаем установочный файл install.php В результате его работы вы должны увидеть нечто подобное:

Для создания таблиц нажимаем кнопку "Создать". Скрипт создаст в базе 4 таблицы:

bm_ports - ведение статистики включения / выключения портов управления;
bm_temp - статистика температурных датчиков за 24 часа;
bm_tday - статистика средних дневных значений температур;
bm_sensors - список температурных датчиков, их настройки.

После успешного создания таблиц в целях безопасности необходимо удалить файл install.php.

Для считывания значений температур с датчиков и управления внешними нагрузками используется скрипт bmcontrol.php. В самом начале файле находятся строки настройки подключения к базе MySQL, которые надо будет заполнить также, как и в файле config.php. Перед началом использования данного скрипта его рекомендуется переместить в папку, не доступную из web-сервера.

Так как скрипт берет данные о показаниях температурных датчиков из внешних программ, то для корректной работы ему необходимы установленные в системе программы:

lm-sensors - для получения температурных датчиков CPU, System и AUX.
hddtemp - получение температур с жестких дисков.
bmcontrol - получение значений с внешних температурных датчиков Dallas, а также управление нагрузками подключенных устройств.

Если вы не собираетесь использовать показания системных датчиков либо температур из жестких дисков, то соответствующие программы можно не устанавливать.
Для корректной работы программы bmcontrol она должна находится в папке /usr/local/bin/bmcontrol

Настройка программы SmartHome FE

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

Датчик. Указывается информация, необходимая для подключения к датчику. Для типа Dallas - это идентификатор датчика из 16 символов, для System - имя датчика температуры по выводу команды sensors, для типа HDD - путь к файлу устройства жесткого диска.
Название. Поле для именования датчика. Можно указать любое имя, которое будет характеризовать данный датчик.
Тип. Здесь можно выбрать три типа датчика: Dallas - датички, подключенные к устройству MP707, System - системные датчики, HDD - датчики жестких дисков.
Max. t. Максимальная температура срабатывания порта внешней нагрузки
Min. t. Минимальная температура срабатывания порта внешней нагрузки
Порт. Номер порта, на который подается управляющая команда
Флаг. Служит для указания максимальной либо минимальной температуры, при которой будет подаваться команда включения на указанный порт.

Пример заполненых установок датчиков температур:

Теперь необходимо настроить удобное положение температурных графиков на странице. Для этого открываем файл statist.php и находим следующие блоки кода:

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

Последним шагом настройки работы SmartHome FE является настройка периодичного запуска скрипта bmcontrol.php с помощью cron. Для этого в настройки cron добавляем следующую строку:

*/1 * * * * php -f путь/к/скрипту/bmcontrol.php

На этом настройку программы можно считать оконченной. Скрипт bmcontrol.php каждую минуту будет проверять показания всех настроенных датчиков и выполнять автоматическое управление внешними нагрузками. Температурные показатели в базу вносятся каждые 5 минут. Данные по температурам более двух суток удаляются из таблицы bm_temp, усредняются значения за день и усредненные данные заносятся в таблицу bm_tday.
В итоге должна получиться приблизительно следующая картина: