Ситуация нечастая, но если происходит, то выбешивает зверски.
Устройства на даче «висят» на брокере, находящемся в городской квартире. За последние лет десять, если и были сбои в этой связке, то на стороне дачного интернета.
В предыдущем сообщении рассказано, как залить Lua прошивку в ESP32, и без повторения нам не обойтись, после чего продолжим изготовление этого устройства:
Железо nooLite, как и устройство на ESP-8266, описанное ранее, работает у меня более двух лет и никаких проблем с ним не выявлено. Батарейки заменил только в датчике движения, все остальное — от производителя. Кроме обычных силовых блоков, на улице трудятся два SR-2-1000, а также датчики PT111, PT112 и PМ112.
Свое отношение к продукции nooLite высказывал два года назад. Отличное железо и … да кто там знает, что в голове его разработчиков на тему умного дома. Сейчас поразмышляем.
В силу качества устройств, для тех кто дружен с такой-то матерью и напильником, nooLite в хозяйстве умного дома применять можно и нужно, особенно с выходом силовых блоков с (1)шифрованным протоколом и (2)обратной связью типа F. Эти блоки передают отчет о своем состоянии, если получают команду на его изменение. Но, не все так просто.
Решение простое, почему раньше не додумался — ума не приложу.
Исходная обстановка — делаем таблицу для отправки на брокер. Вариантов два:
data = {
t = 25.0,
hume = 45
}
Второй
data = {
{"t", 25.0},
{"hume", 45}
}
В чем смысл? Пишем обычную функцию отправки данных на брокер и вызываем в callback(е) рекурсивно саму себя. Данные из таблицы извлекаем путем удаления элементов:
Руки дошли, накидал модуль. Оный узнает три длительности нажатия, короткое, среднее и (никогда не догадаетесь!) длинное.
Короткое до секунды, среднее — более секунды, длинное — более 2,5. Или сами настроите.
При удержании более 2,5 с оно срабатывает без дальнейшего выяснения физических возможностей нажимающего.
Можно применять не все или пропускать применение нажатия.
Про MTRF-64 много, про SLF-1-300 — еще ничего толком.
Перечислим отличия этого блока от всех остальных:
шифрованный протокол, параноики могут вздремнуть;
ответ на запрос о состоянии, а также подтверждение состояния, если команда пришла от MTRF-64;
«Управление с адаптера или модуля MTRF-64. Блок SLF-1-300 может принимать команды управления/настройки от указанных устройств. Для настройки используется специальное сервисное ПО, которое позволяет выполнять настройку силового блока.»
«возможно подключение клавишного выключателя или кнопки к блоку, … режим работы входа можно изменить, отправив на блок команду с новыми настройками. Доступны следующие режимы: кнопка; выключатель; переключающий выключатель; отключение входа.»
Привязываем на прием к ячейке 61 и работать это станет так:
То есть при нажатии правых кнопок (коротком, длинном) мы получим четыре посылки на mqtt брокер типа fromnoo01/61/scen17, где 61 — ячейка привязки, а scen16 — scen19 четыре топика, в которые выдается сообщение «ON».
Мне нужен был дополнительный выключатель света в коридоре (тот, что в предыдущем посте), причем из такого места, где текущее состояние силового блока видно не будет. Следовательно, левой нижней кнопкой изменения состояния блока я воспользоваться не могу. Решение — на правую верхнюю сделать включение, на правую нижнюю — выключение.
Давайте последовательно решим такую задачу: в коридоре установим лампочку под управлением старого блока SU-1-300, добавим выключатель и датчик движения и заведем все в OpenHab.
Управление блоками, которые могут регулировать яркость нагрузки, осуществляется с привязкой к ячейкам 0-10 нашего устройства. Действуем.
1. Связываем ячейку 00 на прием с пультом, который будет управлять силовым блоком:
2. Связываем ячейку 00 на передачу с силовым блоком: