Files
lighthub/documentation/reference/dokuwiki-2026-10-02/примеры_конфигураций.txt
T
andry 718e6cb603 docs: add dokuwiki snapshot 2026-10-02 as verification baseline
Frozen copy of the official wiki (lazyhome.ru) used as the audit reference
while the repo documentation is brought in line with the code.
2026-10-03 00:41:24 +03:00

141 lines
8.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Для того, чтобы настроить Контроллер умного дома LightHub достаточно просто зайти в [[https://www.lazyhome.ru/portal|Личный Кабинет]] (после регистрации на сайте), добавить свой контроллер, используя его MAC адрес и создать его настройку в JSON онлайн-редакторе.
Для того чтобы начать, можете просто использовать примеры ниже, а затем доработать их по своему усмотрению
Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки из Личного Кабинета. После того, как вы убедитесь, что все работает, можно будет сохранить настройки в постоянную память контроллера (команда save в CLI) и сделать его независимым от наличия доступа в интернет.
Для тех, кто не доверяет - можно разместить настройки на своем собственном http сервере, в корне. Формат имени файла: http://MY_CONFIG_SERVER/cnf/12-12-12-12-12-12.config.json
После этого выполнить через CLI команду <code>get <MY_CONFIG_SERVER></code>
Хотя это не так удобно.
Для переключения контроллера на свой собственный MQTT брокер с общедоступного из примера, используйте настройку:
<code>
"mqtt":["controller_name","host",port,"user","pass"]
</code>
controller_name - уникальное имя вашего контроллера. К одному и тому же брокеру не может быть подключено два контроллера с одним и тем же именем
Несмотря на то, что в настройке можно задать пароль вашего брокера, мы не рекомендуем это делать по соображениям безопасности. MQTT пароль желательно задавать через CLI команду pwd
После этого он сохраняется в памяти вашего устройства (на ESP32 пока не сохраняется, но сделаем)
**Пример 1: Плата ESP32-EVB**
При нажатии на кнопку, переключаем оба реле и отправляем команду в MQTT топик __myhome/in/light__
Реле собраны в группу __relays__, но каждое доступно индивидуально
<code>
{
"items": {
"relay1":[6,32],
"relay2":[6,33],
"relays":[7,["relay1","relay2"]]
},
"in":{
"34":{"item":"relays","emit":"myhome/in/light","scmd":"TOGGLE","rcmd":""}
},
"mqtt":["LHexample01","test.mosquitto.org"]
}
</code>
**Пример 2: Сенсор CO2 CCS811 и влажности HD1080 на ESP82**
<code>
{
"in":{
"1":{"T":5,"emit":"myhome/s_out/1"},
"2":{"T":6,"emit":"myhome/s_out/2"}
},
"mqtt":["LHexample02","test.mosquitto.org"]
}
</code>
**Пример 3: Управление диммером, RGBW лентой, реле из Node Red, контроль протечек и счетчик воды**
(Node-Red логика для данного примера [[http://lazyhome.mircloud.ru|развернута тут]]). [[http://lazyhome.mircloud.ru/ui|а тут дашборд]].
Это наиболее сложный пример.
Диммеры света подключены по DMX, Датчик протечки - к аналоговому входу A0 (PIN#54) а шаровый кран перекрытия воды висит на A15 (PIN#69) - (подробнее про то, какие аналоговым входам соответствуют номера PIN указано [[входы_выходы|тут]])
Вход №38 напрямую управляет реле, которое подключено на выход 22
Вход №41 - Master Switch - позволяет выключить сразу все или вернуть в первоначальное положение
Потенциометр, подключенный на аналоговый вход A7 (PIN#61) одновременно с NodeRed управляет DMX диммером (см 5-й параметр массива map - если значение считанное с аналогового входа, изменилось более чем на 10 пунктов, значение преобразовывается из диапазона 0-850 в диапазон 0-100 и передается на диммер)
на PIN#44 и 45 подключены контакты счетчиков воды (дальнейший подсчет потребления происходит в Node Red)
Также, на шину I2C подключены датчики температуры-влажности-CO2-летучих смесей
<code>
{
"dmx":[3,6],
"topics":{"root":"myhome"},
"items": {
"relay":[6,22],
"water":[6,69],
"dimmer":[0,1],
"led":[1,2],
"all":[7,["dimmer","water","relay","led"]]
},
"in":{
"41":{"T":0,"emit":"myhome/in/all","scmd":"HALT","rcmd":"REST"},
"54":{"T":66,"emit":"alock_leak","item":"water","map":[50,800],"scmd":"OFF","rcmd":"ON"},
"38":{"item":"relay"},
"61":{"T":66,"emit":"myhome/in/a07","item":"dimmer","map":[0,850,0,100,10]},
"10":{"T":5,"emit":"myhome/s_out/airq1"},
"20":{"T":6,"emit":"myhome/s_out/humidity1"},
"44":{"emit":"acount_hot"},
"45":{"emit":"acount_cold"}
},
"mqtt":["lighthub-07","m2m.eclipse.org"]
}
</code>
**Пример 4: Два термостата, управляющие реле на выходах 24 и 36**
Предустановлена температура 33 и 32 градуса
Термостаты собраны в группу "__floor__" через которую ими можно управлять одновременно. (И это настроено в Node-Red в зависимости от времени суток)
Третий термометр ничем не управляет, просто передает температуру в MQTT
Также, на PIN29 повешено реле "relay", включаемое сразу после загрузки и управляемое входом #38
А на входе 41 - мастер-выключатель, при переключении которого в топик myhome/in/all передаются команды "HALT" и "REST"
При этом они отработают как на данном контроллере (через MQTT и группу "__all__") так и на всех контроллерах, подписанных на __myhome/in/all__
Настройка topics позволяет определить как формируются MQTT топики у данного контроллера
Например тут:
Топики для управления: **myhome/in/<имя item>** и **myhome/LHexample03/<имя item>**
Топик, в который отправляются статусы: **myhome/s_out/<имя item>**
(это же соответствует настройкам по-умолчанию)
<code>
{
"mqtt":["LHexample03","test.mosquitto.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","relay","dimmer"]],
"h_bath1":[5,24,33],
"h_bath2":[5,36,32],
"relay":[6,29,1,1]
},
"in":{
"41":{"T":0,"emit":"myhome/in/all","scmd":"HALT","rcmd":"REST"},
"38":{"item":"relay"},
}
}
</code>