===== Первое включение ===== По-умолчанию, контроллер получает динамический адрес локальной сети по DHCP При этом, он записывает его в энергонезависимую память. И если при очередном перезапуске, DHCP сервер не доступен - он будет использовать последний известный IP адрес. Если надо определить статический адрес (а, также, GW, DNS, NetMask), это можно сделать при помощи команды ip в [[cli_интерфейс]] Адрес будет сохранен в энергонезависимую память контроллера. При включении, контроллер сначала проверяет наличие записанного в памяти конфигурационного файла. (У нового контроллера, а также, после перезаливки прошивки, конфигурационный файл отсутствует (кроме mega2560, в случае этого контроллера, конфигурация не утрачивается в процессе перепрошивки)). Затем контроллер поднимает сетевые интерфейсы, подключается к интернету, идет на сайт lazyhome.ru и пытается скачать конфигурационный файл JSON для своего МАС-адреса. ====Создание конфигурационного файла ==== Для того чтобы начать, можете просто использовать примеры [[https://www.lazyhome.ru/dokuwiki/doku.php?id=примеры_конфигураций]], а затем доработать их по своему усмотрению Чтобы загрузить/отредактировать конфигурацию контроллера есть несколько методов: ==== Простой метод настройки - через портал lazyhome.ru ==== Для создания конфигурационного файла заходим на lazyhome.ru в свой аккаунт (после регистрации на сайте) и на странице [[https://www.lazyhome.ru/portal|Личный Кабинет]] создаем конфигурационный файл для своего контроллера, нажав кнопку "создать" и указав его [[mac_адрес]] Тогда контроллер при перезагрузке получит настройку и сможет начать работать в этой конфигурации. Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки с сайта lazyhome.ru. Для того, чтобы быстро начать работу, этого достаточно. В дальнейшем, Автоматическую загрузку конфига можно отменить при помощи команды get OFF в [[cli_интерфейс]] или изменив конфиг через web интерфейс контроллера ==== Автономный метод настройки - веб интерфейс/плагин браузера ==== Также, редактировать конфигурацию, управлять режимами, перегружать контроллер можно, зайдя в веб интерфейс на адрес контроллера по http через браузер (рекомендован firefox) или установив плагин браузера Chrome (рекомендуется) Подробности тут: [[интерфейс_настройки]] ==== Дополнительные возможности ==== Также можно разместить настройки на своем собственном http сервере, в папке cnf. Формат имени файла: http://MY_CONFIG_SERVER/cnf/12-12-12-12-12-12.config.json (вместо 12-12-12-12-12-12 ваш mac адрес) После этого выполнить через CLI команду get Контроллер запомнит ваш сервер и далее, будет загружать обновление конфига из этого источника. (на платформах STM, NRF пока не сохраняется) ===== Сохранение настроек в постоянную память контроллера ===== По-умолчанию, успешно загруженный конфиг автоматически сохраняется в энергонезависимую память контроллера. После этого контроллер готов к автономной работе. При загрузке конфигурации проверяется наличие изменений - если в памяти сохранен тот же конфиг, что имеется на портале, повторная загрузка и сохранение не происходит. Данное поведение можно изменить при помощи команды save в [[cli_интерфейс]] save ON - включить автосохранение конфига (по умолчанию) save OFF - выключить автосохранение конфига save - сохранить текущий конфиг Есть три способа подключения к контроллеру для управления: по USB, через MQTT и через HTTP [[api]]. Рассмотрим их подробнее. ===== Подключение по USB ===== Подключаем контроллер USB кабелем к ноутбуку. Открываем эмулятор терминала (например для Макбука использую minicom, который устанавливается через homebrew). Для улучшения читаемости ответов контроллера в minicom нажимаем комбинацию Esc+U ''$ minicom -D /dev/tty.usbmodem14201'' Для windows можно использовать putty или терминал, входящий в среду разработки PlatfrmIO Параметры подключения - 115200 бод, N-8-1 После подключения, контроллер отвечает: Got IP address:192.168.88.44, Default config server used: lazyhome.ru Config URI: http://lazyhome.ru/cnf/de-71-d5-9a-93-96.config.json HTTP Status code: 404 Config retrieving failed Loading Config from EEPROM No stored config Видим, что контроллер пытается считать конфиг для своего MAC-адреса de-71-d5-9a-93-96.config.json, и его там не находит (404 ошибка). После того как мы сформировали конфиг на портале lazyhome.ru, контроллер нам ответит что все хорошо и сохранит конфиг. ===== Подключение по MQTT ===== Если контроллер уже успешно подключен к MQTT брокеру, то команду CLI можно направить в топик $command. см [[работа_с_mqtt#служебные_топики]] ===== Рабочий режим ===== During normal operation, controller: * Accepting incoming MQTT message flow and retrieving item name from topic name. For example, /myhome/in/item1 will control "item1" * Controlling items. * Most commands, accepted on INTOPIC passed throw to OUTTOPIC after interpretation. Interpretation is converting of high level commands like ON OFF HALT REST to low-level commands with real values. OUTTOPIC publishing uses "persistent" flag to allow retrieving recent status from MQTT broker after restart of controller * Polling: Normally, Modbus devices and 1-wire thermometers are polled with reasonable interval. Retrieved values are publishing to OUTTOPIC ===== Цветовая индикация режимов работы ===== Контроллер LightHub имеет трехцветный светодиод, который наглядно показывает текущий режим работы контроллера * красный - отсутствует подключение по локальной сети * желтый - контроллер подключен к локальной сети но не подключен к MQTT брокеру * зеленый - контроллер подключен к брокеру * вспышки синего - получены инструкции по MQTT * вспышки красного - ошибки в процессе работы (изучить отладотчный лог) * постоянное свечение - конфигурация не загружена * мигание с интервалом 2-3 секунды - конфигурация загружена и в работе То есть, например, мигание красным цветом с интервалом 2-3 секунды означает, что контроллер отключен от локальной сети, но продолжает локальную работу по имеющемуся на борту файлу конфигурации