nooLite 2019. ESP32+MTRF64: mqtt Hub.

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

В предыдущем сообщении на рассказано, как залить Lua прошивку в ESP32, и без повторения нам не обойтись, после чего продолжим изготовление этого устройства:

Читать далее «nooLite 2019. ESP32+MTRF64: mqtt Hub.»

nooLite 2019. Дежавю. ESP32+MTRF64.

Железо nooLite, как и устройство на ESP-8266, описанное ранее, работает у меня более двух лет и никаких проблем с ним не выявлено. Батарейки заменил только в датчике движения, все остальное — от производителя. Кроме обычных силовых блоков, на улице трудятся два SR-2-1000, а также датчики PT111, PT112 и  PМ112.

Свое отношение к продукции nooLite высказывал два года назад. Отличное железо и … да кто там знает, что в голове его разработчиков на тему умного дома. Сейчас поразмышляем.

В силу качества устройств, для тех кто дружен с такой-то матерью и напильником, nooLite в хозяйстве умного дома применять можно и нужно, особенно с выходом силовых блоков с (1)шифрованным протоколом и (2)обратной связью типа F. Эти блоки передают отчет о своем состоянии, если получают команду на его изменение. Но, не все так просто.

Читать далее «nooLite 2019. Дежавю. ESP32+MTRF64.»

ESP-8266: отправка многих данных на брокер MQTT.

Решение простое, почему раньше не додумался — ума не приложу.

Исходная обстановка — делаем таблицу для отправки на брокер. Вариантов два:

data = {
    t = 25.0,
    hume = 45
}

Второй

data = {
    {"t", 25.0},
    {"hume", 45}
}

В чем смысл? Пишем обычную функцию отправки данных на брокер и вызываем в callback(е) рекурсивно саму себя. Данные из таблицы извлекаем путем удаления элементов:

Читать далее «ESP-8266: отправка многих данных на брокер MQTT.»

Модуль антидребезга для ESP-8266 (lua debounce)

Руки дошли, накидал модуль. Оный узнает три длительности нажатия, короткое, среднее и (никогда не догадаетесь!) длинное.

Короткое до секунды, среднее — более секунды, длинное — более 2,5. Или сами настроите.

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

Вот модуль с именем debMod.lua:

Читать далее «Модуль антидребезга для ESP-8266 (lua debounce)»

nooLite F: MTRF-64, SLF-1-300. Часть 8. SLF-1-300 — попытка въехать в ситуацию.

Про MTRF-64 много, про  SLF-1-300 — еще ничего толком.

Перечислим отличия этого блока от всех остальных:

  1. шифрованный протокол, параноики могут вздремнуть;
  2. ответ на запрос о состоянии, а также подтверждение состояния, если команда пришла от MTRF-64;
  3. «Управление с адаптера или модуля MTRF-64. Блок SLF-1-300 может принимать команды управления/настройки от указанных устройств. Для настройки используется специальное сервисное ПО, которое позволяет выполнять настройку силового блока.»
  4. «возможно подключение клавишного выключателя или кнопки к блоку, … режим работы входа можно изменить, отправив на блок команду с новыми настройками. Доступны следующие режимы: кнопка; выключатель; переключающий выключатель; отключение входа.»
  5. дистанционная привязка/отвязка;

Прогуляемся по пунктам.

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 8. SLF-1-300 — попытка въехать в ситуацию.»

nooLite F: MTRF-64, SLF-1-300. Часть 7. Применяем бестолковые пульты.

Совсем дешево, мимоходом (ну, да. виноват) приобрел вот такой пульт:

77722114

Он предназначен для управления rgb-лентами с соответствующим силовым блоком. Этого блока у меня нет, а пульт- есть.

Дорабатываем слегка файл analiaze.lua и вот у нас  новая возможность применить этот пульт, например, в сценариях или как обычный выключатель.

Привязываем на прием к ячейке 61 и работать это станет так:

7773003

То есть при нажатии правых кнопок (коротком, длинном) мы получим четыре посылки на mqtt брокер типа fromnoo01/61/scen17, где 61 — ячейка привязки, а scen16 — scen19 четыре топика, в которые выдается сообщение «ON».

Мне нужен был дополнительный выключатель света в коридоре (тот, что в предыдущем посте), причем из такого места, где текущее состояние силового блока видно не будет. Следовательно, левой нижней кнопкой изменения состояния блока я воспользоваться не могу. Решение — на правую верхнюю сделать включение, на правую нижнюю — выключение.

Делаем итем:

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 7. Применяем бестолковые пульты.»

nooLite F: MTRF-64, SLF-1-300. Часть 6. Последовательность действий. Пример.

Собрано, налажено, проверено.

Давайте последовательно решим такую задачу: в коридоре установим лампочку под управлением старого блока SU-1-300, добавим выключатель и датчик движения и заведем все в OpenHab.

Управление блоками, которые могут регулировать яркость нагрузки, осуществляется с привязкой к ячейкам 0-10 нашего устройства. Действуем.

1. Связываем ячейку 00 на прием с пультом, который будет управлять силовым блоком:

bind0001

2. Связываем ячейку 00 на передачу с силовым блоком:

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 6. Последовательность действий. Пример.»