Установка и настройка главной сцены в majordomo

Что это такое

Majordomo — свободно распространяемая кроссплатформенная программа, предоставляющая все необходимы инструменты для организации смарт-жилища:

  • серверную часть;
  • плагины для различного оборудования;
  • поддержку сценариев;
  • работу с разнообразными существующими протоколами обмена данными.

«Мажордомо» умеет взаимодействовать с умными выключателями, розетками, датчиками и реле. Все элементы настройки и управления сведены в едином простом веб-интерфейсе, устанавливающемся на центральный хаб системы.

Таким образом, MajorDoMo — сервер «умного дома» обеспечивающий согласованную работу прочих его компонентов. Он может быть установлен как на обычный ПК, так и ноутбук или поддерживаемый микрокомпьютер (например, Raspberry Pi, Arduino и прочие). Программа получает данные от сопряженных с ней датчиков и отдает заданные владельцем команды, исполняемые конечными устройствами и контроллерами.

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

3.6  Что такое «циклы системы»?

Циклы — это программный код в файлах /scripts/cycles_ *.php . Данный код обеспечивает функционирование отдельных «фоновых» процессов, не связанных с непосредственным ответом на запрос пользователя, а именно: обновление системного времени, периодические операции, выполнение запланированных задач, опрос показаний отдельного оборудования. Корректный запуск системы предполагает одновременный запуск системных циклов. Часть циклов может быть закрыто автоматически после запуска в виду того, что их работа не актуальна в соответствии с имеющимся оборудованием или настройками пользователя.

Скидки и акции

На Majormodo постоянно запускаются новые длительные акции, которые позволяют значительно сэкономить на услугах хостера. Вот несколько действующих программ.

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

  • Продление домена на 2 года — скидка на виртуальный хостинг 5 %.
  • Продление на 5 лет — скидка 15 %.
  • Продление на 10 лет — скидка 30 %.

В акции участвуют международные домены (кроме .RU, РФ, SU, .IO, .LI, .BE). Большую часть можно суммарно продлить на 10 лет, некоторые (.FM и .CO) — только на 5 лет.

Кроме того, до 3 доменов в зоне .RU или .РФ можно получить в подарок.

  • 1 домен бесплатно при оплате виртуального хостинга на 3 месяца, 1-2 года (зависит от тарифа, условия указаны в описаниях) или 1 месяца VPS без администрирования.
  • 3 домена в подарок при оплате 1 месяца VPS с администрированием.

Домены в зоне .RU и .РФ также можно продлевать бесплатно. Для этого нужно оплатить 1 год виртуального хостинга на тарифах «Безлимитный», «Безлимитный+», «Бизнес» или «Бизнес+». Клиенты этих тарифов также могут получить SSL-сертификат для каждого домена бесплатно.

Если вы планируете запускать рекламную кампанию с помощью Google и Aori (инструмент для управления интернет-рекламой), то можете воспользоваться ещё одной акцией. Пополните аккаунт на 1000 рублей и потратьте их на рекламу. После этого вы получите на бонусный счёт 4000 рублей. При пополнении аккаунта на 10 000 рублей вы получите бесплатную настройку рекламной кампании Google. Предложение действительно только для новых аккаунтов.

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

Управление циклами (сервисами)

Интерфейс доступен через раздел XRay->Services
Для управления циклом использются глобальные переменные.
Например, есть цикл ./scripts/cycle_ping.php. Чтобы его остановить, достаточно выполнить команду в коде:setGlobal(‘cycle_pingControl’,’stop’); — ОстановкаsetGlobal(‘cycle_pingControl’,’start’); — запускsetGlobal(‘cycle_pingControl’,’restart’); — рестартsetGlobal(‘cycle_pingDisabled’,’1′); — Для запрета автозапуска (по-умолчанию он всегда разрешён)setGlobal(‘cycle_pingAutoRestart’,’1′); — Для включения авто-восстановления (по-умолчанию он всегда выключен)

1.1  Что такое Умный Дом?

Умный дом — это комплекс программных и аппаратных систем, выполняющих функции оптимизации жизнедеятельности и контроля функционирования технологических систем.
Основные сферы оптимизации:

  • Безопасность — повышение уровня безопасности за счёт постоянного контроля параметров работы технологических систем (отопление, водоснабжение, электричество и т.п.), а так же интеграция охранных компонентов (сигнализация, видео-наблюдение, GPS-трэкинг)
  • Экономия — поддержка оптимальных параметров энерго-потребления (электричество/тепло) и автоматический перевод систем в экономичный режим
  • Комфорт — централизованное управление всеми системами, автоматические сценарии последовательных действий, работа с мульти-медиа.

Публикация обработчиков запросов

Механизм взаимодействия платформы умного дома Яндекс со сторонними системами (провайдерами) реализуется посредством вебхуков (webhook). Облако Яндекс для запроса состояния устройств и управления ими посылает POST- и GET- запросы на конечные точки (endpoint) вебхуков и получает ответы от них. Таким образом, для корректной работы этого механизма необходимо обеспечить постоянную доступность вебхуков из сети Интернет со стороны облака Яндекс.

Согласно API платформы умного дома Яндекс требуется реализовать три типа конечных точек:

  1. URL авторизации (authorization endpoint) — страница, на которой авторизуется пользователь, чтобы разрешить навыку доступ к своему аккаунту.
  2. URL для получения и обновления токена (token endpoint) — адрес, на который отправляются запросы с авторизационным кодом, чтобы получить OAuth-токен доступа, и запросы для обновления ранее полученного токена.
  3. URL обработчика навыка (smarthome endpoint) — основной вебхук, который отвечает непосредственно за работу с устройствами.

В модуле Yandex Home все три типа конечных точек реализованы в виде отдельных файлов: authorize.php, token.php и smarthome.php, размещаемых в директории /modules/yandexhome.

# Назначение вебхука URL вебхука
1 URL авторизации /modules/yandexhome/authorize.php
2 URL для получения и обновления токена /modules/yandexhome/token.php
3 URL обработчика навыка /modules/yandexhome/smarthome.php

Чтобы опубликовать эти три вебхука в сеть Интернет и обеспечить тем самым их доступность со стороны облака Яндекс, необходимо выполнить ряд условий.

Условие №1. Публичный (глобальный, белый) IP-адрес, выдаваемый интернет-провадером.

Белый IP-адрес при этом может быть как статическим, так и динамическим. В случаях, когда невозможно получить белый адрес у интернет-провайдера, возможны варианты использования сторонних сервисов. Например, некоторые производители роутеров предоставляют их владельцам сервис по доступу к ресурсам домашней локальной сети (KeenDNS от Keenetic и др). Либо использовать VPN-сервисы на подобие vpnki.ru или собственный VPN-сервер, развернутый на VPS.

Условие №2. Доменное имя (DNS), привязанное к публичному IP-адресу.

Это требование в большинстве случаев закрывается классическими сервисами динамических DNS, которых представлено в сети в большом ассортименте, как платных, так и бесплатных. Большинство современных роутеров уже имеют встроенную поддержку сервисов Dynamic DNS. При использовании сервисов удаленного доступа типа KeenDNS или VPNKI это условие выполняется автоматически — доменное имя выбирается и присвается в ходе регистрации и подключения услуги.

Условие №3. Валидный SSL-сертификат на DNS-имя.

По требованиям платформы умного дома Яндекс весь обмен трафиком между их облаком и MajorDoMo должен идти в зашифрованном виде по протоколу HTTPS, что обеспечивается либо установкой SSL-сертификата на веб-сервер с MajorDoMo, либо услугами сервисов удаленного доступа (см. выше). Бесплатный SSL-сертификат можно получить у удостоверяющего центра  сроком на 3 месяца, затем его нужно будет регулярно обновлять. Сертификат устанавливается либо на тот же виртуальный сервер Apache, который обслуживает MajorDoMo, либо на отдельный виртуальный сервер (Apache или Nginx), выступающий в роли обратного прокси (reverse proxy) для MajorDoMo.

Корректность установки сертификата и доступность вашего сервера из сети Интернет по HTTPS можно проверить с помощью специализированных сервисов, например:

API

GET

/api/data/<OBJECT> — список всех свойств и значений объекта <OBJECT>/api/data/<OBJECT>.<PROPERTY> — значение свойства <OBJECT>.<PROPERTY>/api/method/<OBJECT>.<METHOD> — вызов метода <OBJECT>.<METHOD>/api/method/<OBJECT>.<METHOD>?param1=value1&param2=value2 — вызов метода <OBJECT>.<METHOD> с параметрами/api/script/<SCRIPT> — вызов сценария <SCRIPT>/api/script/<SCRIPT>?param1=value1&param2=value2 — вызов сценария <SCRIPT> с параметрами/api/events/<PATH/TO/EVENT>?param1=value1&param2=value2 — сохранения события с параметрами/api/devices — список (простых) устройств/api/rooms — список комнат/api/rooms/<ID> — детали комнаты с кодом <ID>

/api/history/<OBJECT>.<PROPERTY>/<PERIOD> — история значений свойства за указанный период

<PERIOD> может принимать значения: N (число, кол-во часов), day, week, month, year, Ndays, Nweeks, Nmonths, Nyears
например, ссылка /api/history/switch1.status/2days вернёт все значения switch1.status за два дня

/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/max — максимальное значение за период/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/min — минимальное значение за период/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/avg — среднее значение за период/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/sum — сумма значений за период/api/history/<OBJECT>.<PROPERTY>/<PERIOD>/count — количество значений за период

POST

/api/data/ — получение значений нескольких свойств (по полному названию типа <OBJECT>.<PROPERTY> или только по названию объекта <OBJECT>)
Request:

JavaScript

{«properties»: }

1 {«properties»»ThisComputer.timeNow»,»Relay10″}

Response:

JavaScript

{
«data»: {
«ThisComputer.timeNow»: «10:56»,
«Relay10.isActivity»: «0»,
«Relay10.groupEco»: «0»,
«Relay10.groupSunrise»: «0»,
«Relay10.loadType»: «curtains»,
«Relay10.groupEcoOn»: «0»,
«Relay10.icon»: false,
«Relay10.groupSunset»: false,
«Relay10.status»: «0»,
«Relay10.alive»: «1»,
«Relay10.linkedRoom»: «Bedroom»,
«Relay10.updated»: «1555607461»,
«Relay10.updatedText»: «20:11»,
«Relay10.aliveTimeout»: «»,
«Relay10.StatusLowBattery»: false
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

{

«data»{

«ThisComputer.timeNow»»10:56»,

«Relay10.isActivity»»0»,

«Relay10.groupEco»»0»,

«Relay10.groupSunrise»»0»,

«Relay10.loadType»»curtains»,

«Relay10.groupEcoOn»»0»,

«Relay10.icon»false,

«Relay10.groupSunset»false,

«Relay10.status»»0»,

«Relay10.alive»»1»,

«Relay10.linkedRoom»»Bedroom»,

«Relay10.updated»»1555607461»,

«Relay10.updatedText»»20:11»,

«Relay10.aliveTimeout»»»,

«Relay10.StatusLowBattery»false

}

}

/api/data/<OBJECT>.<PROPERTY> — установка значения свойства <OBJECT>.<PROPERTY>

/api/rooms/setOrder — изменение очерёдности комнат
Request

JavaScript

{«id»: «7»,»priority»: 0},
{«id»: «4»,»priority»: 1}

1
2

{«id»»7″,»priority»},

{«id»»4»,»priority»1}

Response

JavaScript

{result: true}

1 {resulttrue}

result — true/false

/api/room — добавление/редактирование комнаты
Request

JavaScript

{«id»: «2»»title»: «Название комнаты»}

1 {«id»»2″»title»»Название комнаты»}

(если в request задан id, то происходит)
Response

JavaScript

{«id»: «2»,»title»: «Название комнаты»,»object»: «Room2″,»priority»: 1}

1 {«id»»2″,»title»»Название комнаты»,»object»»Room2″,»priority»1}

DELETE

/api/room/{id} — удаление комнаты

Поделитесь в соц сетях

Что такое «Умный дом»

Система «Умный дом» Majordomo — проект по адаптации и автоматизации жилого помещения, который пока что доступен только небольшому кругу людей из-за довольно высокой стоимости.

Понятие «Умный дом» («Мажордомо») или smart home можно — это простой набор контроллеров и датчиков. Такие приспособления могут срабатывать на движения (например, автоматическое открытие дверей в торговых центрах) либо же на тепловую энергию. Обычно такие наборы контролируют работу бытовой и кухонной техники внутри дома, системы коммуникации или безопасности. Но и это ещё не всё. Системы уровнем выше способны сами включать и выключать отопление в определённое время года или суток, включать нагревание воды или готовить еду без вмешательства человека.

Cистема домашней автоматизации MajorDoMo

Работа таких датчиков и контроллеров мало чем отличается от работы обычных систем безопасности, таких как «сигнализация», которые так же реагирует на движение. Оборудование же «Умного дома» может считывать информацию с движения, резких звуков, температуры. После этого система обрабатывает его при помощи специальной программы и передаёт команду непосредственно на техническое устройство, отвечающее за выполнение операции.

Majordomo — это бесплатная общедоступная программа, которая поможет быстро обучиться комплексному управлению «Умным домом». Благодаря поддержке двух основных платформ (Windows или Linux) такая система может быть установлена фактически на любой персональный компьютер, поскольку потребляет относительно мало ресурсов. Даже имея малопроизводительный ПК, вы сможете позволить себе пользоваться этой системой.

Система управления “Умным домом” MajorDoMo

Сделать из своего дома «умный» объект довольно просто — вам не нужно обладать какими-либо знаниями языков программирования или прилагать к этому особые усилия. С системой «Мажордомо» вы можете программировать просто с помощью мышки, перетаскивая готовые блоки команд. Либо найти на официальном сайте Majordomo в разделе объявлений исполнителя, который будет готов помочь вам с вашим проектом на базе нашей адаптационной платформы Majordomo.

Запланированные задачи и события

AddScheduledJob(‘title’,’commands’,$datetime, $expire=60); — $expire в секундах

ClearScheduledJob(‘title’); — может использоваться маска типа «title%»

SetTimeOut(‘title’,’commands’, $timeout); — $timeout в секундах (аналог AddScheduledJob(‘title’,’commands’,time()+$timeout));

ClearTimeOut(‘title’); — аналог ClearScheduledJob(‘title’);

timeOutExists(‘title’); — возвращает идентификатор запланированной задачи (или 0, в случае отсутствия)

registerEvent($eventName, $details=»,$expire_in=365); — регистрация события $eventName

registeredEventTime($eventName); — возвращает время последней регистрации события $eventName (-1 если еще не было такого события)

Функции и возможности

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

Электронный «мажордом» способен управлять многочисленными умными устройствами:

  • розетками;
  • лампами;
  • бытовой техникой;
  • домашним мультимедиа;
  • кондиционерами;
  • отопительными системами;
  • охранными комплексами;
  • инженерным и сантехническим оборудованием, и так далее.

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

Для продвинутых пользователей существует возможность дописывать модули и сценарии на языке программирования PHP. В системе также присутствует встроенный визуальный конструктор Blockly, обеспечивающий простое создание алгоритмов:

Комплекс наверняка станет интересен начинающим и продвинутым программистам. Разработка ПО под MajorDoMo не отличается высоким порогом входа, необходимо лишь обладать пониманием языка PHP и некоторых смежных дисциплин (таких, как JS, CSS). С них и следует начинать осваивающим разработку под эту платформу джуниор-кодерам.

Функционал Public Calls в Connect-е

В разделе CONNECT панели управления есть закладка Public Calls

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

Ссылку можно открывать просто в браузере или даже из скрипта.

К ссылке можно добавлять свои параметры и они будут доступны в методе в массиве $params Важно: очень аккуратно используйте эту опцию и старайтесь не «раскидываться» ссылками, которые могут навредить, попадая в

Идеи использования:

  1. Обмен данными между несколькими системами MajorDoMo (одна система через getURL может инициировать событие в другой, причём у первой даже может не быть аккаунта в Connect-е)
  2. Интеграция со сторонними системами и интернет-сервисами (сторонняя система «дёргает» ссылку и MajorDoMo об этом узнаёт)
  3. Выдача прав на использование некоторых функций системы третьим лицам (передайте ссылку кому-нибудь, попросите добавить в закладки и объясните, что будет происходить при переходе — реализация сценария полностью на ваше усмотрение)

getURLBackground(‘URL’); — Запрос URL в фоне (если не важен результат

Техническая поддержка

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

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

Дополнительные услуги

Majordomo предлагает целый ряд дополнительных услуг, полезных бизнесу.

Почта Mail.ru на домене

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

Бесплатный сервис от Mail.ru позволяет создать до 5000 адресов на одном домене. Есть и другие преимущества:

  • объём почтовых ящиков не ограничен;
  • используется привычный интерфейс Mail.ru;
  • каждый пользователь получает 25 ГБ в облаке Mail.ru;
  • поддерживается мультиавторизация для удобного переключения между почтовыми ящиками.

SSL-сертификаты

Для шифрования данных при передачи трафика между сервером и клиентом используется SSL-сертификат. Majordomo предлагает приобрести сертификаты Comodo — одного из ведущих центров. Все доступные варианты совместимы с современными браузерами. Стоимость сертификатов — от 990 до 25 000 рублей в год.

Защита от спама и вирусов

В эту услугу входит выполнение сразу трёх задач.

  • Антивирусная проверка входящих сообщений.
  • Защита от спама. Вы можете установить правила (пропускать или не пропускать спам), а также настроить уровень придирчивости к письмам (слабый, средний, сильный). Также доступны белый и чёрный список адресов.
  • Настройка фильтрации писем на сервере. Это позволит получить сообщения в одни и те же папки на разных устройствах.

Защита от спама и вирусов — платная услуга. Стоимость — 49 рублей в месяц.

SEO-аудит сайта

В услугу входит проверка сайта на соответствие требованиям поисковых систем, оценка удобства использования, оптимизация главной страницы, поиск ошибок и подготовка рекомендаций по продвижению. Стоимость SEO-аудита — 5490 рублей.

Рекламные возможности

Majordomo предлагает услуги специалистов по настройке контекстной рекламы и рекламных кампаний в соцсетях.

  • Базовая настройка контекстной рекламы — 5990 рублей. Работа в Яндекс.Директ или Google Adwords. Доступно до 30 ключевых запросов и до 20 объявлений.
  • Премиальная настройка контекстной рекламы — 12 990 рублей. Работа в Яндекс.Директ или Google Adwords. Доступно до 200 ключевых запросов и до 50 объявлений, плюс 1 месяц ведения и контроля рекламной кампании.
  • Настройка таргетированной рекламы во «ВКонтакте» — 12 990 рублей. Услуга включает анализ предложения и аудитории, разработку стратегии продвижения, создание до 50 объявлений и баннеров, запуск до 5 рекламных кампаний, отслеживание эффективности и внесение правок в течение 1 месяца.

Аренда программы 1С в облаке

Majordomo предлагает облако с установленной программой 1С, с которой можно работать с любого устройства, имеющего доступ в интернет. В пакет услуг входит:

  • Бесплатный перенос 1С на облако.
  • Бесплатная круглосуточная поддержка.
  • Финансовые гарантии работоспособности.
  • Бесплатные консультации.

Есть два тарифа: «Лайт» и «Оптимальный». Между собой они различаются возможностями для изменения и доработки, доступными клиентами, объёмом дискового пространства и конфигурациями 1С. На тарифе «Лайт» за каждого пользователя нужно платить 950 рублей в месяц (760 рублей в месяц при оплате на год). На «Оптимальном» каждый пользователь обойдётся в 1299 рублей в месяц (1040 рублей в месяц при оплате на год).

Функции и характеристики MajorDoMo

Основными возможностями систем Majordomo являются:

  • быстрая и понятная установка даже для начинающих пользователей;
  • поддержка основных платформ (Linux/Windows);
  • бесплатное персональное использование вне зависимости от масштабов организации;
  • существование сообщества, принимающего активное участие в жизни проекта, разбавляющее его разными интересными нововведениями;
  • поддержка всевозможных видов оборудования;
  • многоязыковой интерфейс (русский/английский);
  • наличие маркета — своеобразного онлайн-магазина, где вы можете приобрести дополнения.

«Мажордомо» является системой адаптации международного уровня. Она может предложить своим пользователям множество приятных бонусов. К ним относятся интеграции с посторонними веб-сайтами и сервисами, мультимедийное управление, уведомления о новоизобретённых новшествах «Умного дома». Majordomo поддерживает модель безопасности с разграничением полномочий пользователей на просмотр информации. Это позволяет каждому сделать настройки конфиденциальности по своему предпочтению.

Список возможностей и преимуществ Majordomo можно перечислять очень долго. Однако основное различие «Умного дома» от обычного вы сможете почувствовать лишь тогда, когда сами окунетесь в этот невероятный мир. Вы самостоятельно будете программировать и регулировать каждый шаг в своей жизни, обеспечите её максимальный комфорт.

Безопасность

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

  • Защита от вирусного заражения и взлома.
  • Проект под наблюдением специалистов, которые в течение двух суток реагируют на обнаруженную угрозу и устраняют неприятные последствия.
  • Дополнительные средства борьбы с вирусами и спамом за 49 руб/месяц.
  • Сканер вредоносного кода за 99 руб/месяц.

Резервные копии создаются автоматически и хранятся неделю. Увеличить количество дней можно, но это платная услуга. Также можно приобрести доступ к резервным копиям, которые были сделаны за последний месяц. Всё это актуально для Shared-хостинга. Пользователи с проектами на VPS и физических серверах могут настроить сохранение бэкапов на сторонних облачных хранилищах.

Работа с шаблонами

PHP

$new_pattern=array();
$new_pattern=1; // флаг того, что шаблон будет одноразовый
$new_pattern=1; // флаг того, что шаблон не будет реагировать на системные уведомления, только пользовательские
$new_pattern=’say(«‘.$matches.'»,0,’.$from_user_id.’);’; // код реакции нашего шаблона
addPattern($matches,$new_pattern,1); // добавляем описанный шаблон
say(«Добавлена реакция на слово \»».$matches.»\»»,2); // подтверждаем то, что реакция добавлена

1
2
3
4
5
6

$new_pattern=array();

$new_pattern’ONETIME’=1;// флаг того, что шаблон будет одноразовый

$new_pattern’SKIPSYSTEM’=1;// флаг того, что шаблон не будет реагировать на системные уведомления, только пользовательские

$new_pattern’SCRIPT’=’say(«‘.$matches2.'»,0,’.$from_user_id.’);’;// код реакции нашего шаблона

addPattern($matches1,$new_pattern,1);// добавляем описанный шаблон

say(«Добавлена реакция на слово \»».$matches1.»\»»,2);// подтверждаем то, что реакция добавлена

context_activate($id); — Активировать вручную нужный контекст (ступень шаблона) (вместо $id нужно вставить цифровой код шаблона — он виден в ссылке при редактировании шаблона/контекста). context_clear(); — позволяет сбросить текущий контекст у текущего пользователя.clearTimeOut(‘user_’.context_getuser().’_contexttimeout’); — удаление таймера события при не ответеcontext_getuser(), по всей видимости возвращает id текущего пользователя.
Если нам для чего то потребуется имя, то зная id достать его из базы данных не трудно.
Полный код команды Забудь:

PHP

context_clear();
clearTimeOut(‘user_’.context_getuser().’_contexttimeout’);
say(‘Контекст забыт.’);

1
2
3

context_clear();

clearTimeOut(‘user_’.context_getuser().’_contexttimeout’);

say(‘Контекст забыт.’);

Предназначение, функции и возможности системы MajorDoMo

Сила системы MajorDoMo в ее модульности. Все примитивы классов, свойств, методов и объектов вводятся в нее специализированными дополнениями. Для конкретного пользователя это означает то, что ему не нужно знать в каждом, конкретном случае нюансы протоколов обмена устройств или их внутренние свойства или методы. MajorDoMo предоставит единый интерфейс и общность по классам для различного оборудования.

Если возможностей стандартного интерфейса кому-либо не хватит, то можно, в рамках комплекса, дописывать свои части сценариями на языке PHP. Причем обращение к устройствам будет производиться в рамках его синтаксиса и их объектных имен.

Если же кто-то не умеет программировать, то можно воспользоваться функцией создания своих сценариев при помощи внутреннего конструктора Blockly. Это инструментарий так называемого «визуального программирования», когда вместо создания кодовых последовательностей применяются графические их представления, а для построения алгоритма достаточно составить их в необходимом порядке.

Пример кода в Blockly:

Хотелось бы вспомнить и о такой возможности MajorDoMo, как интеграция с компьютерным помощником «Алиса». Благодаря ей, в диалоговом режиме можно задавать расписания включения, управлять оборудованием при помощи голоса или производить еще миллион действий, которые в своей основе будут выполняться в качестве дополнительных, возможностями умного помощника. В общем виде голосовая команда «Алиса. Завтра в 7 утра мигнуть 5 раз лампой у кровати», при правильно настроенной системе, приведет к созданию в расписании аналога представленного выше кода.

Это еще не все, что может MajorDoMo. В рамках системы представлена возможность осуществлять парсинг с других web-страниц. То есть брать данные из сети и использовать их в сценариях оболочки. Это пригодиться может, к примеру, если на синоптическом сайте в прогнозе потепление. Можно настроить MajorDoMo, чтобы в зависимости от этих данных он давал команду на общее или частичное снижение температуры в здании, для избегания общей духоты.

Итог

Советовать Majordomo можно — хостинг неплохой, проверенный временем. И это не странно, учитывая, что речь идёт о создателе очень популярного конструктора сайтов Nethouse. Хотя и проблем хватает, но это, можно сказать, обычный уровень подобного вида услуг, где без форс-мажорных ситуаций ну никак.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector