Умная WI-FI розетка Broadlink SP3.
В сегодняшней и следующей статьях мы поговорим, наверное, о самой востребованной функции MajorDoMo. А именно, включении/выключении/запуске, чего либо, что не имеет пульта ДУ. Проще говоря, мы сделаем умнее пару неуправляемых бытовых устройств. На данном этапе мы затронем, пока, лишь, тему реле. В частности, в данной статье мы коснемся готовых WI-FI розеток Broadlink SP3 и SP3S. В следующей статье мы, уже сами, сделаем эту самую WI-FI розетку, но применим ее немного по другому, а именно, будем ей нажимать на кнопку кофемашины.
Чайник и кофе машина. 🙂
Часто, те кто занимаются домашней автоматикой, да и я в том числе, шутят на тему умного чайника или кофеварки. Не подумайте, это совсем не из за фарса или пренебрежения к данному вопросу, просто «чайник» это уже притча во езыцех и причем во всех отношениях. 🙂
Тем не менее, не смотря на то что автоматизация данных предметов вызывает, у бывалых, улыбку, она набирает все большую популярность в том числе и в промышленных масштабах. Реализация, виду своей простоты, позволяет получить быстрый результат, стимулируя новичка двигаться дальше. Раскрывает суть элементарного управления. И наконец, открывает некоторые важные аспекты. К последнему, например, относится понимание того, какие именно нагревательные приборы следует использовать для данной цели, а какие нет и как. Что в дальнейшем избавит вас от многих проблем и совершенно ненужных трат. С конца, пожалуй и начнем.
Не делайте ошибок!
Сразу скажу, этот абзац коснется обоих статей, а может даже и многих последующих. Здесь я вкратце опишу чего стоит делать а чего нет.
- Первое и наверное самое главное! Место где вы будете экспериментировать должно обладать всеми средствами электробезопасности, в зависимости от примененной в нем системы нейтрали. (Автоматические выключатели (АВ), УЗО и т. д.). Крайне желательно, чтобы продублированы были не только такие элементы как АВ, но также и такие как УЗО особенно в системе TT. Более того, я бы настоятельно рекомендовал их тестировать перед проведением работ с применением домашней электросети. Вся эта защита, реально, жизненно необходима.
- Не производите, данные работы в одиночестве! Не надо пугать своих близких до полусмерти, что вот, мол если меня долбанет и я отключусь… Тем не менее человек присутствующий рядом должен быть способен оказать вам элементарную первую помощь.
- Знаю тот момент, да и любой, электрик, электронщик или электромеханик, меня в этом поддержат, что практически нереально отработать более менее серьезную задачу на полностью обесточенном оборудовании. Всегда нужно что то подрегулировать, до тестировать, до выявить, подтянуть и т. п. Но все же. Еще раз вас попрошу, старайтесь это делать, максимально, на обесточенном оборудовании, а если уж случилось, будьте максимально осторожны! Не забывайте что в устройствах бывают конденсаторы которым, даже после выключения устройства, еще некоторое время свойственно держать заряд и порой весьма не хилый.
- Не суйте при тестировании руки в «мясорубку», даже если вы юморист по круче нашего и решили удивить свою бабушку подобным ноу-хау. Мясорубка, в кавычках не просто так, помните, что любая шестерня или вал легко могут превратиться в эту самую мясорубку или что еще хлеще в костедробилку. Поэтому будьте весьма осторожны, думайте головой!
- Все о чем далее пойдет речь, суть, электронагревательные приборы. Этим приборам свойственно нагреваться, перегреваться и загораться. Следовательно, второе обязательное правило которое следует соблюдать, это: Используйте только те устройства которые имеют исправную, встроенную, заводскую, защиту! Например, если это чайник, то он при закипании должен отключится штатными средствами, а не поджечь вам дом, предварительно выпарив всю воду и расплавившись.
- Все устройства обязаны иметь исправную автоматику безопасности!
- Автоматика безопасности остается как есть, полностью выполняя свои функции, в своей работе мы в нее ни коим образом не вмешиваемся!
- Забегая вперед, для тех кому не терпится чего то более серьезного нежели чайник, это касается, всякого рода, обогревателей, котлов и т. п. механизмов. Имейте ввиду, там наверняка есть всякого рода нюансы которые вы должны предварительно изучить и знать!
Например, сделанный вами термостат для котла, в случае какой то, в нем, неисправности, должен переводить котел в обычный режим работы и никак иначе! Если по простому, обычно в котле там куда подключается термостат, стоит перемычка, следовательно у вас, вместо этой перемычки, должны быть Нормально Замкнутые (NC) контакты реле. Если говорить вообще по простому, то, чтобы не случилось с термостатом, реле отпустив свои контакты, должно вернуть ваш котел в то состояние в котором он был до вашего вмешательства. В противном случае, как минимум, будете, в панике, бегать и отогревать «мамкиным» феном размороженные трубы. 🙂
- Реле, с запасом, должны выдерживать ток подключаемого к нему электронагревательного прибора. Обидно будет в короткий срок, потерять довольно дорогую WI-FI розетку. Вы ее конечно почините, реле перепаять несложно. Но думаю лучше это предусмотреть и избежать.
- Реле о которых у нас пойдет речь в следующей статье, имитируют выключатели и кнопки, следовательно, модернизируемое оборудование, на начальном этапе и в целях простоты реализации, должно иметь органами управления именно эти самые кнопки и выключатели. Например, для модернизации, нам вряд ли подойдет кофемашина с рычагом, под которым установлен электромеханический таймер, ибо с помощью реле вы, попросту, не приведете его в действие.
Какое готовое устройство выбрать?
На рынке сейчас огромная масса различного рода модулей и розеток способных дистанционно включать и выключать наш «чайник». Это и устройства с инфракрасным (IR) управлением и устройства управляемые с радио пульта (RF), и. и. и… Я же, для наших целей, настоятельно, рекомендую устройства с обратной связью. Не имитацией, которую мы без труда можем реализовать средствами MJD, а именно полноценной обратной связью. Например, такой как реализована в WI-FI розетках и модулях.
Это позволит нам дистанционно видеть реальное состояние нашего чайника и исключить ошибки в управлении.
Допустим, подъезжая к дому вы включили чайник, но вспомнили что чаю попить то и не с чем, выключили чайник и преспокойно пошли в магазин. Выйдя из магазина вы снова включили чайник, а приехав домой обнаружили что он холодный, по той причине что у вашей RF розетки что то там сбойнуло, а MajorDoMo все это время вешал вам лапшу на уши показывая имитируемые, им же самим, статусы. А теперь, представьте, что при этом вы не один, а с девушкой или даже гостями перед которыми хотели похвастаться. В общем, страшное дело… Понятное дело, я излагаю в шуточной манере, но поверьте с этим, к сожалению, куда больше серьезных ситуаций чем, вот таких вот, шуточных. Вот, чтобы не случалось подобных разочарований используйте устройства с обратной связью, так вы будете иметь абсолютно точный статус ваших устройств.
Резонный вопрос.
Что же мне теперь, выкинуть все мои RF, IR устройства?
Ни в коем случае, они еще послужат вам долго, верой и правдой, но в тех местах где вы, заведомо, имеете над ними визуальный контроль. Впредь же, мой вам добрый совет, переходите на устройства с обратной связью.
От теории к практике.
Итак, мы решили делать умный чайник и управлять им с помощью WI-FI розетки с обратной связью. Далее нам предстоит выбрать эту самую розетку. И здесь все зависит от тех путей, которые вы ищите. А их, по сути, два.
- Выбирая сложный путь вы можете приобрести любую розетку. Далее вам предстоит, получить ее команды, написать сценарий или даже целый модуль и управлять ей себе на здоровье. Насколько это «просто» 🙂 сделать, а особенно новичку, вы можете почерпнуть, начав читать с самого начала ветку про Модуль MJD Broadlink там совсем немножко, на данный момент всего 234 странички. 😀
- Второй, более разумный и легкий путь, особенно для новичка, это воспользоваться уже готовым модулем, например, все тем же Broadlink или недавно анонсированным Xiaomi …
В данной статье мы с Вами рассмотрим интеграцию в MJD Wi-FI розетки от Broadlink, тем более, что у некоторых уже установлен RM.
Умные розетки от Broadlink.
Broadlink поставляет на рынок несколько разновидностей WI-FI розеток. Главное их отличие это конструктив вилки/розетки. Попросту, они выполнены для разных стран. На первый взгляд, все они и у нас, способны, без проблем, работать, при условии применения определенных переходников. Например, у меня сейчас трудятся и SP2 и SP mini (Австралия). Брал я их очень давно и очень дешево, когда моделей с европейскими вилками не было и в помине, да и сам стартап был еще под вопросом. Но, несмотря на то что они великолепно себя зарекомендовали и мной лично испытаны на протяжении относительно долгого времени, советовать их вам я, на отрез, не буду.
Дело в том, что это «на первый взгляд» имеет два огромных недостатка!
- Первый, это громоздкость использования их с переходниками, да и сами, китайские, универсальные переходники с пластмассовым наполнителем внутри вилки, далеко оставляют желать лучшего.
- Второй, но тем не менее первостепенный, это конечно же безопасность. Несмотря на то что в обе эти модели, без труда, можно вставить европейскую вилку, заземление потребителя остается болтаться в воздухе. Следовательно, при пробое на корпус, УЗО не сработает автоматически! Сработает оно лишь в том случае если вы коснетесь этого самого корпуса и заземленного предмета. Проще говоря, через вас. С исправным УЗО вас конечно же не убьет, но тем не менее маленечко тряхнет, что есть не очень приятно. 🙂
Поэтому, у меня в планах постепенно все это дело привести в должный порядок. Ну, а мы с вами, уже, продолжим говорить именно о моделях с европейскими (нашими), полноценными, вилко-розетками 🙂 .
Выбираем розетку Broadlink SP3 или Broadlink SP3S?
На данном этапе Broadlink предлагает нам две розетки Broadlink SP3 (ССЫЛКА) и Broadlink SP3S (ССЫЛКА). Они различаются тем что SP3S помимо стандартной функции ВКЛ/ВЫКЛ имеет у себя на борту еще и Power meter, если по простому, счетчик электроэнергии. Т. е. помимо того что вы можете вскипятить ваш чайник, вы еще можете и посмотреть сколько он при этом потребил электроэнергии.
Здесь мое мнение таково, разница в их цене ~ 400 рублей В большом количестве ИМХО Broadlink SP3S брать конечно не стоит, но хотя бы одну взять будет совсем не лишним. Локальный, переносной измеритель мощности никогда не помешает, тем более что единожды его интегрировав, повторно этого делать не нужно. Вставляй в любую домашнюю розетку и меряй. Кстати, позднее, в теме Питание, мы с вами рассмотрим и стационарный (на весь дом) Power meter. Забегая вперед скажу, на основе сопоставления их показаний, можно будет делать весьма интересные сценарии и индикацию.
Интеграция в MajorDoMo.
Интеграция, элементарна.
- Штатно привязываем розетку к домашней WI-FI сети с помощью e-control.
- Устанавливаем модуль Broadlink из Маркета дополнений, если этого еще не было сделано на этапе интеграции RM.
- Заходим в модуль: Главное меню администрирования/УСТРОЙСТВА/broadlink.
- Кликаем кнопку: Сканировать устройства и в появившемся окне нажимаем кнопочку со значком + справа от найденной только что, нашей розетки.
Все, розетка добавлена, теперь она в общем списке устройств Broadlink. Далее мы можем, для удобства, ее переименовать, например в Чайник (кнопка EDIT (значок карандаш), справа от описания розетки). И наконец, вскипятить наш первый умный чаек 🙂 (кнопка DATA (три полоски) справа от описания розетки, а там уже кнопка со значком Молнии напротив поля Status), эта же кнопка, при необходимости, и отключит чайник.
Отлично, но это далеко еще не все, мы же не будем каждый раз лазить в админку чтобы попить чайку, поэтому продолжим.
Привязываем розетку к классу.
Создаем класс.
Читайте, пожалуйста, этот абзац внимательно и запоминайте, это основополагающая и универсальная информация. Именно непонимание этого и отталкивает, новичков от такой замечательной системы как MajorDoMo! На самом же деле здесь все, до безобразия, просто.
Теперь самое время, на живом примере показать, зачем нам в модуле Broadlink списки Связанный объект и Связанное св-во. А так же, как строить структуру Класс-Объект-Свойство, помните, я об этом говорил в статье Структура MajorDoMo? Так вот, настоятельно рекомендую в это вникнуть!
Приступим. Идем в Главное меню администрирования/ОБЪЕКТЫ/Объекты и кликаем кнопку +Добавить новый класс. В открывшемся окошке, вкладка Основное должно быть:
- Родительский класс: —no-
- Название: Broadlink
- Описание: Все устройства от Броадлинк.
- Жмем кнопку: Сохранить
Мы только что создали свой первый класс, в котором у нас будут располагаться все наши устройства (объекты) от фирмы Broadlink.
Создаем Объект.
Собственно, один такой объект, а именно нашу розетку, мы и создадим. Открываем вкладку Объекты и кликаем кнопку: Добавить новый объект. Откроется новая группа со своими вкладками. Просто, пока, обратите на это внимание и давайте в преть верхнюю группу вкладок называть вкладкми класса, а нижнюю группу вкладками объекта. Так вот, сейчас мы находимся в окне редактирования объекта, на вкладке Детали.
Заполняем поля.
- Название: Sp3_1
- Класс: Broadlink
- Описание: Розетка SP3 №1 (чайник).
- Местоположение: — *на данном этапе это поле не трогаем, по сути оно предназначено для фильтрации по местоположению.
- Жмем кнопку: Сохранить.
На данном этапе мы создали объект: Розетка SP3 №1, к которому мы позднее и привяжем нашу физическую, умную розетку.
Создаем свойство.
Настало время поговорить о тонком моменте. Сейчас мы видим две вкладки Свойства, в верхнем ряду, во вкладках класса и в нижнем ряду, во вкладках объекта. Я об их разнице говорил в статье про структуру, здесь же, просто, повторюсь. Если мы сейчас создадим свойство воспользовавшись вкладкой класса, то данное свойство впредь, автоматически, будет появляться во всех вновь создаваемых объектах. Если же мы создадим свойство непосредственно во вкладке объекта, то оно создастся только для этого объекта.
Караул 😀 что же выбрать???
Все просто, если то свойство которое мы создаем, заведомо будет встречаться во всех (большинстве, многих) наших устройствах Broadlink, то смело создаем его во вкладке класса и это облегчит нам дальнейшую жизнь. Если свойство персонально (встречается редко), то создаем его во вкладке объекта.
Что будет если мы создадим свойство во вкладке класса, а его нет в некоторых наших устройствах?
Абсолютно ничего страшного, у вас, просто, будет пустое, не на что не влияющее, поле в свойствах тех устройств где оно не предусмотрено.
Продолжаем на нашем примере.
Сейчас мы создадим свойство status, которое присутствует абсолютно во всех розетках, но отсутствует в RM и А1(которые есть и работают, например, у меня).
Лично мне очень нравится когда чистый код и и вид, в общем, нигде, ничего лишнего не телепается. Поэтому несмотря на то что у меня аж целых 13 розеток, я сделаю 13 персональных свойств status, тем более что в отличии от класса и объекта в свойство мне придется записать одно единственное слово. Т.е. это сделается быстро, на всех 13 розетках, элементарным копи/пастом.
Вы же можете поступить абсолютно так как вам больше нравится. Но, помните одну деталь, даже если Вы сделаете свойство в классе, и оно будет нуждаться в предварительном заполнении его значения, вам придется идти в свойство объекта и уже там заполнять. Значения видно и можно менять лишь в свойствах объекта. Проще говоря, делая свойство в классе мы лишь создаем его шаблон, а уже в объекте этому шаблону присваиваем значение и оно может быть от объекта к объекту абсолютно разным.
Впрочем, это так, для понимания сути вещей, в нашем же примере в status, 0 или 1 запишется автоматически, поэтому мы просто создаем свойство без заполнения его значения.
Делаем.
- Пререходим во вкладку объекта свойства (вы можете сделать это и в классе) и в открывшемся окне, внизу записываем в поле Свойство: status
- Кликаем кнопку: Добавить
Все, мы только что создали всю необходимую нам структуру, с которой впредь и будем работать.
Обратите внимание. Вверху, слева у нас появилась полное название свойства Sp3_1.status это оно, то самое, и есть! То заветное, полное имя которое мы теперь можем использовать, где только захотим, и в сценариях, и на сценах, и в меню, и в методах, и в индикаторах, и в голосовых командах и.и.и… Но, перед этим, чтобы все заработало мы привяжем к нашему виртуальному свойству, свойство физическое.
Привязываем физический статус нашей розетки к свойству status объекта SP3_1.
Не забыли еще про списки: Связанный объект и Связанное св-во в Data(три полоски) нашего чайника, где мы его в первый раз включали, значком Молнии, чтобы вскипятить? Так вот, ввиду того что мы только что создали необходимую нам структуру Класс-Объект-Свойство, а точнее: Broadlink- SP3_1-status теперь у нас есть что выбрать в этих списках:
- Связанный объект: SP3_1- Розетка SP3 №1 (чайник).
- Связанное св-во: status
- Ну и по традиции, внизу, кликаем кнопочку: Сохранить.
Вот по такой, собственно, аналогии и создаются абсолютно все структуры. Достаточно раз попробовать и все становится просто и понятно, до нельзя. 🙂 Зато чтобы объяснить «воды» приходится лить немерено. Но главное, теперь вам все известно и вы наверняка не забросите уже MajorDoMo, что не может, не радовать. 🙂
В случае с другими, новыми, устройствами от Broadlink, вам больше не придется создавать класс. Нужно будет, лишь, добавлять в уже имеющийся, объекты и необходимые им свойства. А если свойства уже прописаны в классе, то они добавятся автоматически.
Когда вы зайдете в свойства объекта, вы с легкостью поймете что было создано в классе, а что в объекте. То что создано в классе будет выделено жирным шрифтом, а то что в объекте нет. Свойство созданное в объекте можно там же и удалить. Свойство созданное в классе нужно удалять в классе, на уровне объекта его не удалить, ибо оно распространяется не только на этот объект. Разжевал все как только мог. Практикуйте и вы все поймете и увидите.
Некоторые другие структуры уже созданы по умолчанию, для примера, всегда можно обратиться к ним и посмотреть что да как там устроено.
Считаю данный материал исчерпанным и в преть, я вас не стану утомлять, а просто буду говорить, создайте структуру Класс-Объект-Свойство: значение(если нужно), Свойство: значение(если нужно)… Ну а вы уж там сами. 🙂
Оживим чайничек!
Пришло время, сделать наш чайник послушным. На данном этапе, мы сделаем две вещи:
- Заставим наш чайник слушаться нашего голоса.
- И включаться/выключаться по клику на его значке в сцене.
А по аналогии вы уже сами добавите его в меню, чтобы можно было управлять чайником из MajorDroid. Если у кого то, возникнут с этим проблемы, милости прошу в комментарии, будем разбираться.
Включаем/Выключаем чайник голосом.
Ввиду того что я раньше уже рассказывал как сделать простую голосовую команду, в этот раз мы все немножко усложним. Более того мы не станем делать общий сценарий для голосовых команд и для кнопок на сцене. Вместо этого, для сцен, мы сделаем два метода чтобы стало понятно, что сценарий это не единственное место хранения кода. И порой, куда более, целесообразнее разместить его в другом месте. Методы работают, отчасти, так же как и свойства. Т.е. создав их единожды в классе мы их автоматом получим во всех объектах класса. Ну, а уж применять их или нет в конкретном объекте это наше личное дело.
В общем, сейчас, пока, Алиса у нас станет немного умнее и будет переспрашивать команду если она ее не поняла. Наконец, с ней можно будет работать в режиме диалога. Ну а методы мы рассмотрим чуть ниже.
- Создадим шаблон поведения с контекстом: Главное меню администрирования / ОБЪЕКТЫ/Шаблоны поведения, клик по кнопке: +Добавить новую запись.
- Название: Включи или выключи
- Шаблон: (включи|выключи)
- Точку на Код, точку на PHP
- В поле код:
sayReply(‘Что именно ‘.$original.’ть?’,5); setTimeOut(«answer_»,»runScript(‘AutoRemoteMessage’);»,3);
- Галочку в: использовать как контекст
- Время ожидания команды: 10
- По истечении времени выполнить:
sayReply(‘Ну, не хотите как хотите…’,5);
- Клик по кнопке: Сохранить
Поля о которых не сказано оставляем пустыми.
Обратите внимание, что теперь в контекст верхнего уровеня (Включи или выключи) вы можете помещать любой шаблон, т. е. это может быть все что угодно что нужно включать или выключать. Ниже (пункт 2) мы рассмотрим это на примере нашего чайника, но туда же может быть помешен и обогреватель и увлажнитель и.и.и…
- Создадим шаблон поведения с контекстом. Главное меню администрирования / ОБЪЕКТЫ/Шаблоны поведения, клик по кнопке +Добавить новую запись.
- Доступно в контексте: Включи или выключи
- Название:мой чайник
- Точку на Код, точку на PHP
- В поле код:
if (preg_match(‘/включи/uis’,$original)) { sg(‘Sp3_1.status’, 1); // включаем. sayReply(«Я уже грею водичку»,10); } elseif (preg_match(‘/выключи/uis’,$original)) { sg(‘Sp3_1.status’, 0); // выключаем. sayReply(«Передумали, выключаю чайник»,10); } else { sayReply(‘Непонятно, что нужно сделать: ‘.$original,10); }
- Клик по кнопке: Сохранить
Поля о которых не сказано оставляем пустыми.
Готово. Пробуем управлять.
Вариант 1(стандартный).
Запрос: -Алиса, включи мой чайник. (повторяйте в микрофон не стесняйтесь 🙂 )
Ответ: -Я уже грею водичку.
Включается чайник.
Запрос: -Алиса, выключи мой чайник.
Ответ: -Передумали, выключаю чайник.
Выключается чайник.
Вариант 2(диалоговый).
Запрос: -Алиса, включи,
Ответ: -Что именно включить?
Запрос: -Алиса, мой чайник,
Ответ: -Я уже грею водичку.
Включается чайник.
Запрос: -Алиса, выключи,
Ответ: -Что именно выключить?
Запрос: -Алиса, мой чайник,
Ответ: -Передумали, выключаю чайник.
Выключается чайник.
В обоих вариантах если Алиса не поймет команду, она ее переспросит: — Непонятно, что нужно сделать… ?
Во втором варианте, если после вопроса Алисы -Что именно включить?, вы промолчите, то через 10 секунд она скажет -Ну, не хотите как хотите… и ничего не произойдет.
Включаем/Выключаем чайник со сцены.
Первым делом, как и обещал, добавим два метода, во вкладку класса: Broadlink-Методы.
- Имя: turnOff Код: $this->setProperty(«status»,0);
- Имя: turnOn Код: $this->setProperty(«status»,1);
Добавляем к нашей сцене (одна уже создана по умолчанию) наш чайник.
Главное меню администрирования / ОБЪЕКТЫ/Сцены, кнопка со значком карандаша справа (клик), вкладка Элементы, далее клик по +Добавить новый элемент.
- Название:Чайник
- Тип:Выключатель
- Кликаем по кнопке: Сохранить
- Расширенная настройка:Да
- Стиль:Выбираем значок чайника.
Обратите внимание, в подразделе Состояния будет два состояния On и Off жирным выделено Off (текущее состояние), далее контролируем чтобы все было как у меня, чего нет выбираем:
- State Название: Off
- Код:Чайник
- Выполнить при клике:Запускать Объект Метод
- Запускать Объект.Метод:SP3_1- Розетка SP3 №1 (чайник).
- Метод(то что между двумя #): turnOn
- Связанный объект:SP3_1- Розетка SP3 №1 (чайник).
- Связанное св-во: status
- Условие: <>
- Значение:1
- Кликаем по кнопке: Сохранить.
Идем далее.
В подразделе Состояния будет два состояния On и Off, жирным выделено Off, кликаем по On, жирным должен стать On (теперь текущие настройки будут для On), далее контролируем чтобы все было как у меня:
- State Название: On
- Код:Чайник
- Выполнить при клике:Запускать Объект Метод
- Запускать Объект.Метод:SP3_1- Розетка SP3 №1 (чайник).
- Метод(то что между двумя #): turnOff
- Связанный объект:SP3_1- Розетка SP3 №1 (чайник).
- Связанное св-во: status
- Условие: =
- Значение:1
- Кликаем по кнопке: Сохранить.
Мы только что создали работающий выключатель включающий и выключающий наш чайник, дело за малым, красиво разместить его на сцене.
Ставим наш чайник в нужное место сцены.
Поднимаемся в самый верх и переходим на вкладку Просмотр & Редактировать.
Откроется внешний вид сцены и все кнопочки на ней будут в синих рамочках. Находим наш чайник и перетаскиваем его в нужное место с помощью мышки. Положение сохраняется автоматически. Выходим из просмотра кликнув на пункте: Главное меню администрирования / ОБЪЕКТЫ/Сцены.
Теперь на нашей сцене есть значок чайника и он в нужном месте!
Кликаем по нему, он подсветится желтым и наш чайник включится. Соответственно, кликнув еще раз мы выключим наш чайник и его индикация вернется в первоначальное состояние.
При включении/выключении с помощью голосовой команды или даже кнопкой на физической розетке, индикация на сцене так же будет работать.
Когда вы сделаете выключатель в меню, при условии что вы сделаете его правильно, абсолютно вся индикация у вас будет работать синхронно. Включили чайник голосом или кнопкой на розетке, это отобразится и в меню, и на сцене.
Я не фанат того чтобы Алиса болтала без умолку, поэтому голосовые ответы Алисы реализованы лишь при запросе голосом. Если Вы хотите чтобы она болтала еще и при работе с кнопкой на сцене или меню, то скопируйте соответствующие строчки Say… из шаблонов поведения в поля кода Состояний On и Off сцены или меню. Если хотите чтобы она болтала везде, то соответствующие строчки Say… целесообразнее скопировать в поля кода, методов turnOff и turnOn тем самым добавив их в конец кода. Не забывайте сохранять изменения.
Заключение.
Кошмар, умудрился растянуть бодягу аж на 8 страниц, но зато теперь одним махом Вы научились работать и с устройствами, и с объектами, и со сценами, научились строить диалоги сделав, Алису чуточку умнее! Не плохо, не правда ли?
А в следующей статье, ввиду того что ребята с VPNKI обновили свой API, мы немножко передохнем и реализуем: Контроль за нашими VPN тоннелями.