nooLite F: MTRF-64, SLF-1-300. Часть 5. Обзор железок для новичков и заключительное изменение кода.

scheme7

Итак, после изготовления устройства, раскрытого в части 4, возвращаюсь к первоначальной концепции с определенными уточнениями.

Код уже прилично переработан. Основные изменения:

  1. другой алгоритм публикации сообщений, повышена стабильность и исключены пропуски;
  2. добавлен модуль имитации рассвета;
  3. добавлена обработка команд от датчиков на временное включение силовых блоков.

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

Что есть у nooLite для умного дома.

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

Что бы не говорилось на сайте производителя, железо проектируется исходя из необходимости решения двух вопросов, которые, по-видимому, постоянно сидят в голове производителя:

  • сокращение количества проводов;
  • легкий перенос выключателей освещения с места на место.

Эти две задачи устройства nooLite решают великолепно.

Работа железа была организована путем передачи команд по воздуху на частоте 433 МГц и, по-видимому, кто-то сообразил, что эта система ПДУ (пульт дистанционного управления, древнее название, пришедшее из времен, когда телевизоры нужно было включать, а также переключать каналы руками!!!) может быть названа модным словом «умный дом».

Ставить в вину такой ход мыслей сотрудникам не стоит — у нас каждая розетка, управляемая СМС, называется «умной», а тут целое стадо устройств, которые…

… которые делают дом не умным, а вполне удобным. А вот с умом — определенные вопросы.

Вопросы эти возникают, когда касаешься логики работы железа (повторюсь, оно очень-очень качественное) его документации. Разбираясь с API и особенностями его работы никогда не поверю, что проектируются они людьми, которые понимают что такое дом, который действительно «умный».

Умный не достает нас  вопросами, и, тем более, не требует «нажимания кнопок» что на экране смартфона, что на каком-нибудь сайте.

Умный дом — его присутствие как явления не замечаешь.

Исходя из сказанного, можно написать отдельную заметку о былых и теперешних странностях поведения продуктов nooLite, но занятие это неинтересное.

Давайте разберемся с железом, которого в у вас еще нет, и, заглянув на сайт Ноотехники, вы пытаетесь понять что же вам нужно.

Начнем с силовых блоков.

Их стоит различать принципиально по трем направлениям:

  • от типа управляемой нагрузки (светодиодные, энергосберегающие, обычные лампы, электроника);
  • от возможностей работы с этой нагрузкой (плавное управление / нет плавного управления);
  • от наличия обратной связи (блок F / все остальное).

Вот из этих трех магистралей вам придется выбирать свое пересечение. (Ясное дело, сюда прилепляется еще и вопрос о мощности нагрузки, но понять что к чему в нем не сложно).

По типу нагрузки смотрим таблицу на сайте .

Возможность работы с нагрузкой — это возможность плавного регулирования яркости или отсутствие таковой.

Обратная связь, она или есть или нет. В настоящее время то что имеет обратную связь не умеет управлять яркостью.

Что можно посоветовать. Если позволяет мощность и нет особой необходимости (здесь и сейчас) управлять яркостью — покупать новые силовые блоки типа F. А из них существует всего одна  модификация.

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

Команду эту можно будет передать на силовой блок с нашего (MTRF-64) устройства, но… потом. Потому что (может плохо смотрел?) я не смог найти у производителя пошаговых инструкций, как это делается.

(И вы будете утверждать, что это устройства nooLite — для умного дома? Производитель изготовил железо, а вы сами думайте что с ним делать! И таких косяков предостаточно.)

Тем не менее, силовые блоки F вполне перспективны для нашего дела.

Однако есть резон взять несколько силовых блоков с управлением яркостью. На них можно реализовать (наше устройство делает на уровне железа) сценарий светового будильника, который, как показывает статистика сайта, пользуется большой популярностью.

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

Есть интересный (полезный?) силовой блок SB111-150. Он ставится под обычный выключатель и управляет нагрузкой по командам этого выключателя. Одновременно, по радиоканалу также может передаваться команда. К сожалению, узнать текущее состояние силового блока нельзя.

Теперь поговорим о пультах.

Пульты командуют силовыми блоками — шлют им привет в своем формате — шифрованном или не шифрованном. Пока — не шифрованном, шифруются только модули и, как уже говорилось, блок F.

Параноики на гиктайме достали разработчика вопросами о шифровании, и, достоверно известно, что старый протокол  Ноотехники взломан, но не известно о случаях, когда что-то в связи с этим происходило нехорошее.

В общем, если вам жутко страшно — надо ждать пультов с шифрованием. А если вы хотите войти в когорту тех, кто никогда не столкнется с проблемами на эту тему — выбирайте!

Проблема не в шифровании, проблема — в другом. Опять в том, что устройства проектировались для экономии проводов.

Итак, пульты отправляют, а силовые блоки — управляются, целым роем команд. Чтобы изменить состояние блока, ему может быть передано целых семь, а для F — восемь, команд. Причем команды, с определенным (то есть с использованием MTRF-64 можно точно понять в какое состояние перешел блок) результатом только 2,5:

  • 0 — выключить;
  • 2 — включить;
  • 25 — включить на время. (это как раз 0,5  определенности — считать возвращение в выключенное состояние надо самостоятельно)

все остальные — изменить состояние. Так вот, если нам не известно предыдущее состояние, то и новое состояние нам будет не известно.

Возьмем команду 4 — включить, если выключено, выключить — если включено.

Если система проектируется под бег с выключателем по комнате — проблем нет: нажал — включилось, нажал еще раз — выключилось.

Если же под умный дом — это серьезная проблема. И не говорите мне, что по-иному нельзя! Полторы минуты размышлений приведет нас к простейшему решению: одна и та же кнопка пульта управления может последовательно передавать команду на включение и на выключение: разработчик, измени пару строк в исходниках. Результат на выходе тот-же, а дом будет знать, что там у того или иного блока творится.

Команды 1,3,5 — работа с изменением яркости. Узнать яркость можно будет только у блока F, и то, когда его сделают.

Правда, есть одно «но». Для наших целей все эти три команды можно принять как «силовой блок включен». Почему? Потому что, о Боже, командой 1 (снижать яркость) нельзя выключить силовой блок — он замрет в самом неярком состоянии,  но не выключится. То же касается команды 5 (изменить яркость), когда оная снижается.

Хотелось бы верить, что этот хинт (с невыключением) был сделан в интересах умного дома — пусть знает. Но что-то мне не верится — так случайно, видимо, получилось.

UPD 02.06.2017. А вот и нет! Более пристальное изучение режима изменения яркости показало, что при изменении яркости вниз блок все таки выключается, если удерживать кнопку подольше.

Яркостные блоки запоминают последнее значение яркости при выключении и включаются именно на нем. Но если снижать яркость долго, то:

  • блок все таки выключится
  • запомненная яркость внутри блока восстановится до 100%

Так что принимать команды изменения яркости за «включено» можно с некоторыми допущениями.

Поговорим о моделях пультов. Они различаются внешне — это понятно. Но есть более существенные отличия, о которых надо знать.

Разные пульты отправляют на силовые блоки разные команды. На старых есть обозначения, которые раскрывают суть. Вот это самый хреновый, для целей умного дома(!!!), а не вопросов качества или работоспособности, пульт управления:

ool

Этот пульт отправляет лишь две команды: изменить яркость и изменить вкл/выкл, правда в одном пульте здесь аж три выключателя. Вот и работай с ними…

А что подойдет? Вот что (кружок с затемнением слева — сценарная команда, чистый кружок — выключить, черточка — включить, стрелочки — увеличить или уменьшить яркость):

switch01

Есть и новый вариант:

switch02

Хорошая разработка — может работать в любых возможных режимах, как настроишь. Одно и двуклавишный.

Устройство двуклавишного таково, что по четырем углам клавиши стоят подпружиненные кнопки. Поэтому, на самом деле это одна клавиша с полоской посредине. Полоска начерчена краской в бороздке, как долго краска будет там держаться — вопрос.

В общем, прежде чем покупать «двуклавишник» — обязательно посмотрите на него, повертите в руках и проверьте на соответствие вашим дизайнерским запросам.

Есть еще один тип пультов: пульты под выключатели. Они прячутся под обычные, старые выключатели и управляются ими.  Тоже вариант.

Имеющийся у меня РК314 для нашего дела подходит  — передает команды на включение и выключение, чем сильно упрощает работу OpenHab.

Готовятся к выходу и вот такие пульты:

Что это и как: поживем — увидим.

Итого, пульты управления шлют силовым блокам команды разных мастей: или на изменение состояния, или на включение и выключение. Последние предпочтительнее для умного дома, но и с остальными можно жить, но придется что-то придумывать уже на уровне системы, управляющей умным домом, чтобы не запутаться в ситуации.

Разобраться в обозначениях на выключателях несложно:

  • кружок — выключено (команда 0)
  • черточка — включено (команда 2)

все остальное: кружок с черточкой посредине и все все все — команды на изменение состояния.

Из управляющих явлений есть еще датчик движения. Датчик как датчик — реагирует на движение в темноте — подает команду включения на определенное время. Чувствительность, освещенность и время включения регулируются.

swf

Наше устройство правильно обрабатывает команду этого датчика. При срабатывании — посылает в брокер сообщение о включении, одновременно запускается таймер в соответствии с установками датчика движения. По истечении расчетного времени отправляется сообщение о выключении.

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

  • управляемые датчики: командой от MTRF датчик  превращается в охранный — реагирует на движение при любом освещении;
  • придумайте такую форму, чтобы можно было установить сверху любой мебели — это увеличит гибкость.

Да, предложенное увеличит стоимость датчика, но одновременно решит вопрос безопасности. Любое устройство умного дома может оповещать хозяина о проникновении — что мешает совместить датчики движения и охраны? Датчики и ставятся, обычно, в тех местах, откуда приходят званые и незваные гости.

Я знаю точно: будь такой датчик — взял бы 4 штуки на все хозяйство не задумываясь.

Есть еще два датчика — температуры и температуры и влажности. Датчики и датчики — устройство принимает от них информацию и пересылает брокеру.

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

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

MTRF

Еще кое-что о MTRF-64+ESP-8266.

Все файлы, в количестве 11 штук выложены на  github. В предыдущих частях я достаточно подробно описал процессы загрузки файлов и подачи управляющих команд.

С тех пор добавилась лишь одна команда на запуск светового будильника. Выглядит она так:

rise

Для ее работы, в файле rise.lua найдите строку local risesteptime = 10

10 — это десять секунд между очередным повышением ярости на 5%.  Меняйте как считаете нужным.

Кстати, если в момент изменения яркости нажать на кнопку пульта, привязанного к этому силовому блоку — рассвет будет прекращен: спим дальше, чего мучиться.

Заключение.

Полагаю, это все. Не исключаю, что код будет вычищаться, так что обновление вполне возможно.

Насколько хватает моей сообразительности, все функциональные возможности управления железом nooLite описанным здесь устройством охвачены. Исключения два: дистанционная привязка  блоков F и вся работа со светодиодной лентой.

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

Спасибо за терпение, будут вопросы — задавайте.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s