Инструменты пользователя

Инструменты сайта


примеры_конфигураций

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
примеры_конфигураций [2019/04/14 11:16]
admin создано
примеры_конфигураций [2021/09/13 09:56]
216.244.66.245 старая версия восстановлена (2021/06/29 16:51)
Строка 1: Строка 1:
-**Пример 1: Плата ESP32-EVB** +Для того, чтобы настроить Контроллер умного дома LightHub достаточно просто зайти в [[https://www.lazyhome.ru/portal|Личный Кабинет]] (после регистрации на сайте), добавить свой контроллер, используя его MAC адрес и создать его настройку в JSON онлайн-редакторе. 
-При нажатии на кнопку, переключаем оба реле и отправляем команду в MQTT топик myhome/in/light +Для того чтобы начать, можете просто использовать примеры ниже, а затем доработать их по своему усмотрению 
-Реле собраны в группу relays, но каждое доступно индивидуально+ 
 +Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки из Личного Кабинета. После того, как вы убедитесь, что все работает, можно будет сохранить настройки в постоянную память контроллера (команда save в CLI) и сделать его независимым от наличия доступа в интернет. 
 + 
 +Для тех, кто не доверяет - можно разместить настройки на своем собственном http сервере, в корне. Хотя это не так удобно. Формат имени файла: http://MY_CONFIG_SERVER/cnf/12-12-12-12-12-12.config.json 
 +После этого выполнить через CLI команду <code>get <MY_CONFIG_SERVER></code> 
 +Контроллер запомнит ваш сервер и далее, будет загружать обновление конфига из этого источника. (на ESP32, STM, NRF пока не сохраняется, но сделаем) 
 + 
 +Для переключения контроллера на свой собственный MQTT брокер с общедоступного из примера, используйте настройку: 
 +<code> 
 +"mqtt":["controller_name","host",port,"user","pass"
 +</code> 
 + 
 +controller_name -  уникальное имя вашего контроллера. К одному и тому же брокеру не может быть подключено два контроллера с одним и тем же именем. Используя общедоступный брокер, не забывайте задать свое уникальное имя. 
 + 
 +Несмотря на то, что в настройке можно задать пароль вашего брокера, мы не рекомендуем это делать по соображениям безопасности. MQTT пароль желательно задавать через CLI команду pwd 
 +После этого он сохраняется в памяти вашего устройства (на ESP32, STM, NRF пока не сохраняется, но сделаем) 
 + 
 +===== Пример 1: Плата ESP32-EVB ===== 
 +При нажатии на кнопку, переключаем оба реле и отправляем команду в MQTT топик __myhome/in/light__ 
 + 
 +Реле собраны в группу __relays__, но каждое доступно индивидуально
 <code> <code>
 { {
Строка 12: Строка 32:
           "34":{"item":"relays","emit":"myhome/in/light","scmd":"TOGGLE","rcmd":""}           "34":{"item":"relays","emit":"myhome/in/light","scmd":"TOGGLE","rcmd":""}
          },          },
-  "mqtt":["LHexample01","m2m.eclipse.org"]+  "mqtt":["LHexample01","test.mosquitto.org"]
   }   }
 </code> </code>
  
-**Пример 2: Сенсор CO2 CCS811 и влажности HD1080 на ESP82**+===== Пример 2: Сенсор CO2 CCS811 и влажности HD1080 на ESP82 =====
 <code>   <code>  
   {   {
Строка 22: Строка 42:
           "1":{"T":5,"emit":"myhome/s_out/1"},           "1":{"T":5,"emit":"myhome/s_out/1"},
           "2":{"T":6,"emit":"myhome/s_out/2"}           "2":{"T":6,"emit":"myhome/s_out/2"}
-         },66 +         }, 
-  "mqtt":["LHexample02","m2m.eclipse.org"]+  "mqtt":["LHexample02","test.mosquitto.org"]
 } }
 </code> </code>
  
-**Пример 3: Два термостата, управляющие реле на выходах 24 и 36**+===== Пример 3: Управление диммером, RGBW лентой, реле из Node Red, контроль протечек и счетчик воды ===== 
 + 
 +(Node-Red логика для данного примера  [[http://lazyhome.mircloud.host|развернута тут]]).  [[http://lazyhome.mircloud.host/ui|а тут дашборд]].  
 + 
 +Это наиболее сложный пример, использующий большинство возможностей контроллера LightHub 2.2 . 
 + 
 +Диммеры света подключены по DMX, Датчик протечки - к аналоговому входу A6 (PIN#60) а шаровый кран перекрытия воды висит на A15 (PIN#69) - (подробнее про то, какие аналоговым входам соответствуют номера PIN указано [[входы_выходы|тут]]) 
 + 
 +Вход №38 напрямую управляет реле, которое подключено на выход 22 
 +Вход №39 - Master Switch - позволяет выключить сразу все или вернуть в первоначальное положение 
 + 
 +Потенциометр, подключенный на аналоговый вход A5 (PIN#59) одновременно с NodeRed управляет DMX диммером (см 5-й параметр массива map - если значение считанное с аналогового входа, изменилось более чем на 10 пунктов, значение преобразовывается из диапазона 0-850 в диапазон 0-100 и передается на диммер) 
 + 
 +на PIN#34 и 36 подключены контакты счетчиков воды (дальнейший подсчет потребления происходит в Node Red) 
 + 
 +Также, на шину I2C подключены датчики температуры-влажности-CO2-летучих смесей 
 +NB: Конфигурация такого объема не уместится в Mega2560 и требует контроллера DUE 
 + 
 + 
 +<code> 
 +
 +  "dmx":[3,60], 
 +  "dmxin":["led5","led6","led7","led8"], 
 +  "topics":{"root":"myhome"}, 
 + "ow":
 +                 "2861641227C1EFED":{"emit":"t_1","item":"thermostat"}, 
 +                 "28EE504E161601C7":{"emit":"t_2"
 +        }, 
 +  "items":
 +    "mbusdim1":[4,[1,0,3,100]], 
 +    "mbusdim2":[4,[1,1,3,100]], 
 +    "mbusdim3":[4,[1,2,3,100]], 
 +    "mbusdim4":[4,[1,3,3,100]], 
 +                "relay":[6,22], 
 +                "thermostat":[5,23,33], 
 +                "pout2":[6,24], 
 +                "pout3":[6,25], 
 +                "pout4":[3,9], 
 +                "pout5":[3,8], 
 +                "pout6":[3,11], 
 +                "pout7":[3,12], 
 +                "pwm0" :[3,4], 
 +                "pwm1" :[3,5], 
 +                "pwm2" :[3,6], 
 +                "pwm3" :[3,7], 
 +                "pwm10":[3,10], 
 + "water":[6,69], 
 + "unprot0":[6,33], 
 + "unprot1":[6,32], 
 + "unprot2":[6,31], 
 + "unprot3":[6,30], 
 + "unprot4":[6,29], 
 + "unprot5":[6,28], 
 + "unprot6":[6,27], 
 + "unprot7":[6,26], 
 + "led": [1,1], 
 + "led2":[1,5], 
 + "led3":[1,9], 
 + "led4":[1,13], 
 + "led5":[1,17], 
 + "led6":[1,21], 
 + "led7":[1,25], 
 + "led8":[1,29], 
 + "dimmer" :[0,33], 
 + "dimmer2":[0,34], 
 +   "dimmer3":[0,35], 
 + "dimmer4":[0,36], 
 + "dimmer5":[0,37], 
 + "dimmer6":[0,38], 
 + "dimmers":[7,["dimmer","dimmer2","dimmer3","dimmer4","dimmer5","dimmer6"]], 
 + "leds":[7,["led","led2","led3","led4","led5","led6"]], 
 + "mbuses":[7,["mbusdim1","mbusdim2","mbusdim3","mbusdim4"]], 
 + "all":[7,["dimmers","uouts","relays","leds"]], 
 + "relays":[7,["relay","thermostat","pout2","pout3","pout4","pout5","pout6","pout7"]], 
 + "uouts":[7,["unprot0","unprot1","unprot2","unprot3","unprot4","unprot5","unprot6","unprot7"]] 
 +    }, 
 + "in":
 +   "42":{"emit":"in0"}, 
 + "44":{"emit":"in1"}, 
 + "46":{"emit":"in2"}, 
 + "49":{"emit":"in3"}, 
 + "43":{"emit":"in4"}, 
 +    "45":{"emit":"in5"}, 
 +    "47":{"emit":"in6"}, 
 +    "48":{"emit":"in7"}, 
 +    "34":{"emit":"acount_hot"}, 
 +    "36":{"emit":"acount_cold"}, 
 +    "38":{"emit":"in10","item":"relay"}, 
 +    "40":{"emit":"myhome/in/in11","scmd":"TOGGLE","rcmd":""}, 
 +    "35":{"emit":"in12","item":"all","scmd":"REST","rcmd":"HALT"}, 
 +    "37":{"emit":"myhome/in/in13","scmd":"ON","rcmd":"OFF"}, 
 +    "39":{"emit":"myhome/in/all","scmd":"HALT","rcmd":"REST"}, 
 +    "41":{"emit":"in15"},   
 +     
 +                "54":{"T":64,"emit":"myhome/in/a00","map":[0,1024,0,1024,10]}, 
 +                "55":{"T":64,"emit":"myhome/in/a01","map":[0,1024,0,1024,10]}, 
 +                "56":{"T":64,"emit":"myhome/in/a02","map":[0,1024,0,1024,10]}, 
 +                "57":{"T":64,"emit":"myhome/in/a03","map":[0,1024,0,1024,10]}, 
 +                "58":{"T":64,"emit":"myhome/in/a04","map":[0,850,0,100]}, 
 +                "59":{"T":66,"emit":"myhome/in/a05","item":"dimmer","map":[0,920,0,100,5]}, 
 +                "60":{"T":66,"emit":"alock_leak","item":"water","map":[200,700],"scmd":"ON","rcmd":"OFF"}, 
 +                "61":{"T":66,"emit":"myhome/in/a07","map":[0,1024,0,1024,5]}, 
 +                "62":{"T":64,"emit":"myhome/in/a08","map":[0,1024,0,1024,5]}, 
 +                "63":{"T":64,"emit":"myhome/in/a09","map":[0,1024,0,1024,5]}, 
 +                "64":{"T":64,"emit":"myhome/in/a10","map":[0,1024,0,1024,5]}, 
 +                "65":{"T":64,"emit":"myhome/in/a11","map":[0,1024,0,1024,5]}, 
 +                "66":{"T":0,"emit":"myhome/in/d12"}, 
 +                "67":{"T":2,"emit":"myhome/in/d13"}, 
 +                "68":{"T":0,"emit":"myhome/in/d14"}, 
 +                 
 +                "10":{"T":5,"emit":"myhome/s_out/airq1"}, 
 +                "20":{"T":6,"emit":"myhome/s_out/humidity1"
 +         }, 
 +  "mqtt":["lh22-test-0","m2m.eclipse.org"
 +  } 
 +   
 +</code> 
 + 
 +===== Пример 4: Два термостата, управляющие реле на выходах 24 и 36 ===== 
 + 
 Предустановлена температура 33 и 32 градуса Предустановлена температура 33 и 32 градуса
-Термостаты собраны в группу "floor" через которую ими можно управлять одновременно.+ 
 +Термостаты собраны в группу "__floor__" через которую ими можно управлять одновременно. (И это настроено в Node-Red в зависимости от времени суток) 
 Третий термометр ничем не управляет, просто передает температуру в MQTT Третий термометр ничем не управляет, просто передает температуру в MQTT
 +Также, на PIN29 повешено реле "relay", включаемое сразу после загрузки и управляемое входом #38
 +
 +А на входе 41 - мастер-выключатель, при переключении которого в топик myhome/in/all передаются команды "HALT"  и "REST"
 +При этом они отработают как на данном контроллере (через MQTT и группу "__all__") так и на всех контроллерах, подписанных на __myhome/in/all__
  
 Настройка topics позволяет определить как формируются MQTT топики у данного контроллера Настройка topics позволяет определить как формируются MQTT топики у данного контроллера
 +
 Например тут: Например тут:
 Топики для управления: **myhome/in/<имя item>** и  **myhome/LHexample03/<имя item>**  Топики для управления: **myhome/in/<имя item>** и  **myhome/LHexample03/<имя item>** 
 +
 Топик, в который отправляются статусы: **myhome/s_out/<имя item>**  Топик, в который отправляются статусы: **myhome/s_out/<имя item>** 
 +
 (это же соответствует настройкам по-умолчанию) (это же соответствует настройкам по-умолчанию)
  
 <code> <code>
 { {
-  "mqtt":["LHexample03","m2m.eclipse.org"],+  "mqtt":["LHexample03","test.mosquitto.org"],
   "topics":{"root":"myhome","bcst":"in","out":"s_out"},   "topics":{"root":"myhome","bcst":"in","out":"s_out"},
   "ow":{   "ow":{
Строка 51: Строка 200:
    
         "floor":[7,["h_bath1","h_bath2"]],         "floor":[7,["h_bath1","h_bath2"]],
 +        "all":[7,["floor","relay","dimmer"]],
         "h_bath1":[5,24,33],         "h_bath1":[5,24,33],
-        "h_bath2":[5,36,32]+        "h_bath2":[5,36,32], 
 +        "relay":[6,29,1,1]
          },          },
    "in":{    "in":{
           "41":{"T":0,"emit":"myhome/in/all","scmd":"HALT","rcmd":"REST"},           "41":{"T":0,"emit":"myhome/in/all","scmd":"HALT","rcmd":"REST"},
-          "38":{"item":"spots_en"},+          "38":{"item":"relay"},
          }          }
 } }
 +
 </code> </code>
  
примеры_конфигураций.txt · Последнее изменение: 2021/09/25 04:16 — 176.31.125.95