Файл конфигурации settings.php

Файл конфигурации settings.php является хранилищем основных настроект системы. Пример файла конфигурации приведён в файле settings.sample.php. При установке системы необходимо скопировать этот файл в settings.php и произвести необходимые изменения. Файл представляет из себя скрипт php, который должен возвращать массив с данными настроек системы.

Раздел site

Раздел состоит из одного параметра

Параметр title

Наименование сайта

Параметр url

"url"=>"http://127.0.0.1"

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

Завершающий слеш не нужен.

Параметр daemon-ip

"daemon-ip"=>"127.0.0.1"

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

Раздел fail2ban

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

"fail2ban"=>true

Раздел pdo

Параметры подключения к базе данных.

"pdo"=>[
    "dsn"=>"pgsql:host=localhost;dbname=shcc",
    "username"=>"shcc",
    "password"=>"shcc",
    "init"=>[
        "SET TIMEZONE=\"Asia/Yekaterinburg\""
    ]
]

Параметр dsn

Должен содержать тип базы данных pgsql (другие БД не поддерживаются), адрес хоста и имя базы данных (shcc).

Поля username и password

Задают реквизиты пользователя для подключения к базе данных.

Поле init

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

Раздел session

Задаёт параметры для работы с веб-сессиями.

"session"=>[
    "name"=>"shcc-session",
    "uid"=>"shcc-uid",
    "token"=>"shcc-token",
    "time"=>2592000,
    "path"=>"/"
]

Параметр name

Имя сессионной cookie. Сайт использует механизм сессий который предоставляет язык PHP.

Параметр uid

Имя cookie хранящей уникальный идентификатор пользовательской сессии.

Параметр token

Имя cookie хранящей токен пользовательской сессии. Используется совместно с uid для восстановления сессии PHP без необходимости ввода логина и пароля.

Параметр time

Время жизни сессии пользователя в секундах. В качестве примера в файле settings.sample.php указано число 2592000, что составляет 30 дней.

Параметр path

Путь, ко которому будут расположены и доступны cookie. Должен быть всегда “/”.

Раздел tts

Настройки касающиеся модуля синтеза речи tts.

"tts"=>[
    "pre_sound"=>"dingdong.mp3",
    "play_sound_cmd"=>"mpg123 -q %s"
]

Параметр pre_sound

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

Параметр play_sound_cmd

Команда для воспроизведения звука. Должна содержать одно включение %s, которое будет заменено на путь к воспроизводимому файлу. Может отсутствовать. По умолчанию значение “mpg123 -q %s”.

Раздел home

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

"home"=>[
    "city"=>"Екатеринбург",
    "city_en"=>"Yekaterinburg",
    "lat"=>56.83827,
    "lon"=>60.60345
]

Параметр city

Наименование населённого пункта. В настоящее время не используется.

Параметр city_en

Наименование населённого пункта на английском языке (может потребоваться, например, при запросе погоды). В настоящее время не используется.

Параметры lat и lon

Широта и долгота. Используется для вычисления времени восхода и захода солнца.

Параметр timezone

Часовой пояс умного дома. Используется для задания часового пояса в настройках PHP.

"timezone"=>"Asia/Yekaterinburg"

Параметр log_dir

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

"log_dir"=>"/log/shcc"

Параметр pid_dir

Необязательный параметр. Путь до папки для хранения pid файлов демонов.

"pid_dir"=>"/tmp/shcc/pid"

Параметр cache_dir

Необязательный параметр. Путь до папки для хранения кеша.

"cache_dir"=>"/tmp/shcc/cache"

Параметр debug

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

"debug"=>true

Параметр device_memory_storage

Необязательный параметр. Задаёт объём разделяемой памяти для хранения информации об устройствах.

Параметр admins

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

"admins"=>['admin']