Это старая версия документа!
Для того, чтобы настроить Контроллер умного дома LightHub достаточно просто зайти в Личный Кабинет (после регистрации на сайте), добавить свой контроллер, используя его MAC адрес и создать его настройку в JSON онлайн-редакторе. Для того чтобы начать, можете просто использовать примеры ниже, а затем доработать их по своему усмотрению
Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки из Личного Кабинета. После того, как вы убедитесь, что все работает, можно будет сохранить настройки в постоянную память контроллера (команда save в CLI) и сделать его независимым от наличия доступа в интернет.
Для тех, кто не доверяет - можно разместить настройки на своем собственном http сервере, в корне. Формат имени файла: http://MY_CONFIG_SERVER/12-12-12-12-12-12.config.json После этого выполнить через CLI команду
get <MY_CONFIG_SERVER>
Хотя это не так удобно. Для переключения контроллера на свой собственный MQTT брокер с общедоступного из примера, используйте настройку:
"mqtt":["mqtt_id","host",port,"user","pass"]
Несмотря на то, что в настройке можно задать пароль вашего брокера, мы не рекомендуем это делать по соображениям безопасности. MQTT пароль желательно задавать через CLI команду pwd После этого он сохраняется в памяти вашего устройства (на ESP32 пока не сохраняется, но сделаем)
Пример 1: Плата ESP32-EVB При нажатии на кнопку, переключаем оба реле и отправляем команду в MQTT топик myhome/in/light
Реле собраны в группу relays, но каждое доступно индивидуально
{ "items": { "relay1":[6,32], "relay2":[6,33], "relays":[7,["relay1","relay2"]] }, "in":{ "34":{"item":"relays","emit":"myhome/in/light","scmd":"TOGGLE","rcmd":""} }, "mqtt":["LHexample01","m2m.eclipse.org"] }
Пример 2: Сенсор CO2 CCS811 и влажности HD1080 на ESP82
{ "in":{ "1":{"T":5,"emit":"myhome/s_out/1"}, "2":{"T":6,"emit":"myhome/s_out/2"} }, "mqtt":["LHexample02","m2m.eclipse.org"] }
Пример 3: Два термостата, управляющие реле на выходах 24 и 36
Предустановлена температура 33 и 32 градуса
Термостаты собраны в группу «floor» через которую ими можно управлять одновременно.
Третий термометр ничем не управляет, просто передает температуру в MQTT Также, на PIN29 повешено реле «spots_en», включаемое сразу после загрузки и управляемое входом #38
А на входе 41 - мастер-выключатель, при переключении которого в топик myhome/in/all передаются команды «HALT» и «REST» При этом они отработают как на данном контроллере (через MQTT и группу «all») так и на всех контроллерах, подписанных на myhome/in/all
Настройка topics позволяет определить как формируются MQTT топики у данного контроллера
Например тут: Топики для управления: myhome/in/<имя item> и myhome/LHexample03/<имя item>
Топик, в который отправляются статусы: myhome/s_out/<имя item>
(это же соответствует настройкам по-умолчанию)
{ "mqtt":["LHexample03","m2m.eclipse.org"], "topics":{"root":"myhome","bcst":"in","out":"s_out"}, "ow":{ "284811170400005B":{"emit":"t_entr"}, "28FFF95533160459":{"emit":"t_bath1","item":"h_bath1"}, "286164123C776A7D":{"emit":"t_bath2","item":"h_bath2"} }, "items":{ "floor":[7,["h_bath1","h_bath2"]], "all":[7,["floor","spots_en"]], "h_bath1":[5,24,33], "h_bath2":[5,36,32], "spots_en":[6,29,1,1] }, "in":{ "41":{"T":0,"emit":"myhome/in/all","scmd":"HALT","rcmd":"REST"}, "38":{"item":"spots_en"}, } }