Настройка почты для majordomo

Microsoft Outlook

Рассмотрим настройку почтового клиента Microsoft Outlook 2016.

Запустите Microsoft Outlook. Перейдите в меню «Файл»:

В диалоговом окне «Выбор службы» отметьте Протокол POP3 или IMAP . Нажмите кнопку «Далее»:

В следующем окне «Параметры учетных записей IMAP и POP » в разделе «Сведения о пользователе» введите Ваше имя и имя почтового ящика с указанием доменного имени. Если вы создаете, например, ящик test , то ваш адрес будет test@sitetest.ru, где sitetest.ru — имя вашего домена.

В разделе «Вход в систему» введите полностью имя создаваемого почтового ящика, например, test@sitetest.ru, а в поле «Пароль», соответственно, создайте пароль к этому почтовому ящику.

В разделе «Сведения о сервере», если был выбран протокол POP3 , в поле «Сервер входящей почты» укажите: pop3.majordomo.ru либо pop3.ваш_домен.ru Если Ваш потовый клиент требует указывать порт, укажите 110.

Если для работы учетной записи был выбран протокол IMAP , в поле «Сервер входящей почты» укажите: imap.majordomo.ru При необходимости указывать порт, введите значение 143.

В поле «Сервер исходящих сообщений» ( SMTP ) также введите smtp. majordomo . ru

Затем нажмите кнопку «Другие настройки». В открывшемся окне необходимо выбрать вкладку «Сервер исходящей почты» и поставить галочку «SMTP-серверу требуется проверка подлинности». После этого отметьте пункт «Аналогично серверу для входящей почты» и нажмите кнопку «OK»:

Затем нажмите кнопку «Далее». В появившемся окне «Проверка настройки учетной записи» Microsoft Outlook выполнит проверку корректности выставленных параметров и отправит тестовое письмо:

После успешно выполненного тестирования нажмите кнопку «Закрыть» . Настройка Microsoft Outlook закончена.

источник

Почта от Majordomo

Вкладка «Почта – Почта от Majordomo»

Для создания нового почтового ящика нажмите кнопку “Создать ящик”. При создании вы можете сразу задать параметры квоты и черные/белые списки, используя раздел расширенных настроек.

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

Удалить почтовый ящик можно либо кликнув по пиктограмме мусорного ведра, либо выбрав нужный адрес и кликнув по выпадающему меню “Управление”→Удалить.

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

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

источник

Состав и управление системой MajorDoMo

В сущности, система представлена специализированной web оболочкой, которая работает в пространстве домашнего web-сервера. Причем последний может функционировать под любыми операционными системами, Windows или Linux. Да и сама аппаратная составляющая центрального компьютера значения не имеет. Это вполне может быть не только IBM совместимый компьютер, но и RasberriPi или еще что-либо более экзотическое.

Клиентские устройства могут быть представлены практически всем производимым спектром оборудования, от устройств MQTT и до радиоуправления Broadlink RF (стандарт 433/315мГц). Взаимодействие с сетями Z-Wave, KNX, и оборудованием Sonoff, Livolo или Xiaomi – происходит через дополнительные модули, которые тем не менее объединяют эти устройства в единое пространство имен, классов, объектов и методов.

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} — удаление комнаты

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

Mozilla Thunderbird

Для работы с почтовым серверм по протоколу POP3: Входящие (Incoming): pop3.majordomo.ru либо pop3.ваш_домен.ru , например «pop3.ivanov.ru»; в выпадающем списке выберите «POP»; убедитесь что порт установлен «110»; шифрование нужно установить «Нет» или «None».

Для работы с почтовым серверм по протоколу IMAP: В выпадающем списке выберите IMAP, в качестве имени сервера укажите imap.majordomo.ru. Порт: 143. Шифрование (SSL) установить «Нет» или «None».

Нажмите кнопку «Re-test configuration» или «Перетестировать», если все введено правильно — кнопка «Create account» («Создать учетную запись») станет активной.

Учетная запись создана, почтовый ящик настроен. Проверяйте почту!

Если Thunderbird у вас работает некорректно, то следуйте следующим инструкциям:

Заходим в меню Инструменты — «Параметры учетной записи», потом в меню «Параметры сервера», и видим следующее:

Конечный результат должен выглядеть так:

Далее переходим в раздел «Сервер исходящей почты (SMTP)» — Изменить. Здесь мы видим следующее:

1. Проверяем, что домен указан на наших NS серверах или smtp.majordomo.ru 2. Выбираем напротив «Защита соединения» — «Нет» 3. Имя пользователя также должно быть полным — т.е smk@domainname.ru 4. Советуем выставлять порт 2525 , иногда порт 25 блокируют провайдеры

Итак, все должно быть приведено к следующему виду:

источник

4.5  Что значит «связанный» объект/свойство/метод?

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

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

Например, привязав свойство какого-то объекта к свойству выключателя в модуле ZWave можно обращаться к этому свойству для получения последнего состояния физического выключателя, а так же использовать это свойства для установки значения (включения нагрузки), таким образом создаётся прозрачная двухсторонняя связь между физическим устройством и объектом системы MajorDoMo. Одно свойство объекта может быть привязано к нескольким элементам, так, если рассматривать предыдущие два примера, то можно объединить их в один, когда и для привязки выключателя в меню и для привязки выключателя ZWave мы используем одно свойство. В таком случае мы получаем управляемый через меню физический выключтатель.

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

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

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

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

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

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

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

Порядок установки системы MajorDoMo

Конечно, можно использовать для «умного» дома любой старый компьютер. Но все же рекомендовано взять отдельно под эти цели RasberriPI. Стоит он не дорого, бесшумен, занимает минимум места. Прекрасная основа для MajorDoMo.

Итак, подразумевается, что система уже на RaberriPI стоит и сконфигурирована под использование интернета. Описаний, как ее поставить и настроить, множество в сети. Далее, нужно подключиться к нему при помощи терминала под root и обновить систему:

# apt-get update && apt-get upgrade

Следом необходимо скачать скрипт установки MajorDoMo (интернет должен быть настроен!) и запустить его:

# wget https://raw.githubusercontent.com/immortalserg/installmd/master/installmd# chmod +x installmd# ./installmd -t -c

После запуска он спросит пароли:

Введите пароль root для MariaDB (MySQL)>

Введите пароль пользователя pi (для системы и базы данных MajorDoMo)>

Кроме как после этих вопросов, нигде пароли устанавливать не нужно. Просто нажимается «ENTER».

По окончании установки система сообщит о необходимости перезагрузки:

Собственно, после установки и перезагрузки RasberriPI можно начинать настройки MajorDoMo. Делается это через любой web-браузер с подключением по адресу местонахождения мини-компьютера в сети.

Общие функции

DebMes($errorMessage, $logLevel) — записывает сообщение в главный лог файл. Параметр $logLevel не является обязательным, и по умолчанию установлен как «debug».

say($ph,$level,$from_user_id) — говорит фразу (использует глобальные переменные $voicemode» и $commandLine ).
$level — указывает уровень важности фразы (в зависимости от текущих настроек минимального уровня произношения, фраза может быть либо озвучена голосом либо просто записана в историю сообщений).
$from_user_id — от имени кого будет сказана фраза ($from_user_id в данном случае будет равен идентификатору текущего пользователя). sayTo (ФРАЗА, УРОВЕНЬ, НАЗНАЧЕНИЕ) — в качестве НАЗНАЧЕНИЯ можно использовать системное имя терминала и если это терминал на MajorDroid, то ему отправится команда для произношения

В любом случае из этой функции создаётся событие SAYTO (вида: processSubscriptions(‘SAYTO’, array(‘level’ => $level, ‘message’ => $ph, ‘destination’ => $destination));), которое может быть перехвачено сторонними модулями — на заметку тем, кто захочет создать свой модуль для организации работы с различными устройствами доставки сообщений на определённый канал

sayTo (ФРАЗА, УРОВЕНЬ, НАЗНАЧЕНИЕ) — в качестве НАЗНАЧЕНИЯ можно использовать системное имя терминала и если это терминал на MajorDroid, то ему отправится команда для произношения. В любом случае из этой функции создаётся событие SAYTO (вида: processSubscriptions(‘SAYTO’, array(‘level’ => $level, ‘message’ => $ph, ‘destination’ => $destination));), которое может быть перехвачено сторонними модулями — на заметку тем, кто захочет создать свой модуль для организации работы с различными устройствами доставки сообщений на определённый канал.

sayReply(ФРАЗА, УРОВЕНЬ, ОТВЕТ_НА_ЧТО) — последние два параметра не обязательны. Эта функция ведёт себя следующим образом:

  1. Если указан параметр ОТВЕТ_НА_ЧТО, то система попытается найти терминал, с которого был запрос, содержащий данную фразу
  2. Если не указан параметр ОТВЕТ_НА_ЧТО, то система выберет терминал, с которого был любой запрос в течении последних 5 секунд
  3. Если терминал найден, то ответ будет направлен на него (с помощью той же функции sayTo)
  4. Если терминал не найден, то ответ будет озвучен в обычном порядке (аналогично просто использованию функции say).

processCommand($command) — отправляет текстовую команду на исполнение (например, «скажи сколько время»). Сами команды настраиваются методе ThisComputer->commandReceived.

getGlobal($varname); — получения значения глобального свойства

setGlobal($varname,$value); — установка глобального свойства

processLine($line); — запуск скрипта синхронизации

getRandomLine($filename); — взятие случайной строки из текстового файла. $filename может быть сокращённым, например file1 и тогда будет браться файл ./texts/file1.txt

playSound($filename); — проигрывание файла (mp3,wav,etc.). $filename может быть сокращённым, например file1 и тогда будет браться файл ./sounds/file1.mp3

playMedia($path); — играть музыку из каталога $path

runScript($id,$data); — выполняет скрипт с заданным id. В качестве id может использоваться имя

runScriptSafe($id,$data); — выполняет скрипт безопасно в фоне

isOnLine($host) — проверяет доступность хоста из Устройства OnLine (1/0).

Домены

Вкладка «Домены — Управление»

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

Для редактирования DNS-записей домена или поддомена необходимо нажать на название основного домена, после этого откроется окно «Управление DNS-записями». Если необходимо добавить запись для основного домена, поле «Доменное имя» нужно оставить пустым (а не @ как требуют во многих руководствах). Необходимо указать тип и значение DNS-записи и нажать зеленую галочку.

Поддерживаются следующие типы записей: — A — предназначена для указания IP-адреса, обычно адрес сервера, на котором работает сайт; — AAAA — предназначена для указания IP-адреса для протокола IPv6; — MX — адрес почтового сервера; — CNAME — позволяет перенаправить на другое доменное имя; — TXT — любой текст, часто используется для подключения домена к стороннему сервису, задания разрешенных адресов для отправки почты (SPF-запись); — SRV — позволяет задать имя хоста и номер порта определенных служб.

Изменение NS-записей для делегирования домена на другой хостинг возможно либо через контрольную панель регистратора домена, либо по запросу на адрес domain@majordomo.ru.

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

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

При окончании срока регистрации домена появится кнопка «Продлить», при наведении на которую будет указана стоимость продления домена. Возможно включить автоматическое продление домена, установив галочку в столбце «Автопродление».

Включить бесплатный SSL-сертификат от Let’s Encrypt можно, нажав на кнопку «настроить» в строке SSL, после чего перейти на вкладку Let’s Encrypt и нажать кнопку «установить». Генерация сертификата возможна только в случае, если домен делегирован на NS-серверы Majordomo (ns.majordomo.ru, ns2.majordomo.ru, ns3.majordomo.ru). SSL-сертификаты для поддоменов работают, если поддомен создан вручную и для него создан сайт в разделе «Сайты».

Вкладка «Домены — Подключение»

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

В подразделе «Подключение имеющихся доменов» можно добавить уже зарегистрированный домен. Чтобы домен заработал, он должен быть делегирован на NS-серверы Majordomo (ns.majordomo.ru, ns2.majordomo.ru, ns3.majordomo.ru).

Вкладка «Домены — Персоны для регистрации»

источник

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

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

Добавление любых устройств через web-интерфейс достаточно единообразно, поэтому рассмотрим процедуру на примере выключателя Xiaomi.

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

Итак, после установки и запуска выбирается в программе регион «материковый Китай» (это важно). Язык самого интерфейса – устанавливается любой.. Далее настройка самого шлюза

Жмем «+» сверху, справа. Потом заполняем все, что запрашивает мастер по установке. В главном окне создается кнопка с названием шлюза. Заходим в нее, потом выбираем «Дополнительные опции».

Далее настройка самого шлюза. Жмем «+» сверху, справа. Потом заполняем все, что запрашивает мастер по установке. В главном окне создается кнопка с названием шлюза. Заходим в нее, потом выбираем «Дополнительные опции».

На открывшейся странице, сверху справа необходимо тапнуть на три точки и выбрать «сведения». Внизу есть надпись «Plug-in version», на которую необходимо несколько раз потапать, пока не создастся новая вкладка «Wireless communication protocols». Необходимо в нее зайти, активировать доступ по протоколу WIFI. Пароль будет указан внизу на этой же странице.

Далее выполняется настройка уже самого MajorDoMo. Открываем браузер, подключаемся к установленному серверу с программой, управляющей умным домом. Добавляем модуль «Xiaomi Home». Переходим в разделе Устройств «Xiaomi Home».

Видим в списке гейт к самому выключателю. Производим нажатие на изображение карандаша и попадаем в свойства соединения. В «Key:» указывается пароль из MiHome. Следом «Сохранить». Подключенные устройства будут видны в разделе «Устройства» → «Xiaomi Home» 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 если еще не было такого события)

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

Интерфейс доступен через раздел 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′); — Для включения авто-восстановления (по-умолчанию он всегда выключен)

Что такое MajorDoMo?

Высокие технологии все глубже входят в жизнь человека. Это касается не только его труда, медицины или городской инфраструктуры. Абсолютно все жизненное окружение получает определенный «ум»: выключатели, системы климат-контроля помещений, различные датчики (открывания-закрывания, дыма, движения). Все объединяется в стройные логические системы при помощи цифровых управляющих контуров и контроллеров оборудования. Общность такого слияния называется «умный дом», который и предоставляет возможности единого управления и наблюдения за всем комплексом устройств в него входящего. Причем контроль может осуществляться как в ручном режиме через какой-либо общий интерфейс, так и автоматическими возможностями, наподобие выполнения определенных сценариев, реакции на показания датчиков или даже голосовыми командами.

Самое, наверное, простое и удобное, что стоит вспомнить про «умные» системы в быту – это управление светом. К примеру, выключатель, как ручной прибор, становится не нужен (хотя и возможен). Можно представить себе, что свет включается сам, если датчик в помещении определил наличие человека. Причем, в зависимости от времени суток, включается только то освещение, которое в текущий момент необходимо.

Самое простое – человек один, вечер. Зашел в зал. Зачем зажигать люстру? Автоматически загорается только бра. А вот если зашло несколько людей – тогда да, включается люстра. Опять же. Ночью пошел человек в туалет. Зачем зажигать все освещение? Достаточно включить подсветку ему по дороге, да свет в самом туалете.

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

Одна из наиболее доступных, открытых и удобных из подобных – умный дом MajorDoMo. Кросс платформенный OpenSource проект, активно развивающийся и имеющий достаточно низкий порог вхождения. Основа его удобства – относительно простая страница — конфигуратор всего комплекса на домашнем или рабочем web-сервере.

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

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

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

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

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

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

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

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

Компоненты системы MajorDoMo

Основное понятие, вводимое цифровым домом «MajorDoMo» – объект, множество которых в свою очередь делится на различные классы. И каждый из них имеет свои свойства и методы взаимодействия. К примеру, класс «лампочки», в который могут относиться объекты «люстра в зале», «подсветка зеркала», «свет на кухне». У каждого есть свойство «статус» со значением «включено» и «выключено», а также метод «зажечь» и «погасить».

Это наиболее простой вид объяснения разделения всего комплекса связанного оборудования в пределах понятий MajorDoMo. То есть, методы и свойства распределяются в зависимости от класса объекта и принадлежат только подобным ему.

Объекты

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

В качестве аппаратной составляющей выступает как оборудование самостоятельной сборки, так и выпускаемое некоторыми производителями уже в комплекте, к примеру фирмой Xiaomi. «Умный» дом MojorDomo поддерживает массу протоколов обмена – MQTT, Z-Wave, Broadlink (без возврата состояния) и множество других.

Классы

Как уже говорилось, класс объединяет объекты одного типа. К примеру, класс «выключатели» с состояниями (включено/выключено) и двумя методами (включить/погасить). Или класс «датчики движения» со свойством, у которого значения изменяются в пределах «присутствует движение/нет движения».

Есть и возможность дополнительного разветвления в одной общности – введение подкласса. Самым понятным примером станут выключатели. Бывают контроллеры света, которые не только умеют включать и выключать напряжение, но и плавно его изменять. То есть в парадигме понимания системы умного дома мажордомо у класса «выключатели» конкретного типа есть еще и дополнительное свойство «яркость». В общем виде можно расписать эту взаимосвязь следующим образом:

Класс «выключатели»

Свойства: Статус = включен|выключен

Методы: Включить|Выключить

«Свет в кухне»

«Свет в прихожей»

«Свет в ванной»

Подкласс «ВыключателиСДиммером»

Наследуемые свойства: Статус = включен|выключен

Наследуемые методы: Включить|Выключить

собственное устанавливаемое свойство: Яркость = значение

«Свет в спальне»

«Свет в зале»

Свойства

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

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

Методы

В рамках системы, «методы» — это те управляющие действия, которые могут быть произведены с каким-либо входящим в ее состав устройством. К примеру, у класса «выключатели» это «включить»| «выключить», у «двери» – «открыть»| «закрыть» и тому подобные.

Почта Majordomo – управление аккаунтом

Почта от Majordomo — сервис, который позволяет подключить электронную почту к вашему домену. Для подключения почты от Majordomo необходимо внести в панели управления аккаунта следующие DNS записи:

1. Имя — оставьте пустым. Тип — MX Значение — mmxs.majordomo.ru TTL — 3600 Приоритет — 10

2. Имя — mail Тип — CNAME Значение — mail.majordomo.ru TTL — 3600 Приоритет — оставьте пустым.

3. Имя — smtp Тип — CNAME Значение — smtp.majordomo.ru TTL — 3600 Приоритет — оставьте пустым.

4. Имя — pop3 Тип — CNAME Значение — pop3.majordomo.ru TTL — 3600 Приоритет — оставьте пустым.

5. Имя — оставьте пустым. Тип — TXT Значение — v=spf1 include:_spf.majordomo.ru -all TTL — 3600 Приоритет — оставьте пустым.

Инструкция по добавлению DNS-записей расположена здесь.

Обращаем ваше внимание, что данные DNS записи необходимо прописывать на стороне текущих DNS серверов. Для доступа к почте вы можете воспользоваться WEB-Интерфейсом

Для доступа к почте вы можете воспользоваться WEB-Интерфейсом.

Управление почтовыми ящиками (создание/редактирование и т.д.) осуществляется в панели управления аккаунта в разделе «Почта» подразделе «Почта от Majordomo»

источник

Вывод данных (информация)

Вывод информации в меню в большинстве случаев осуществляется через стандартную конструкцию вида

%Объект.Свойство%

1 %Объект.Свойство%

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

Вышеприведённая конструкция, как правило применяется в html-блоках, надписях и тексте ссылок…но ничего не мешает её использовать, скажем, в тексте выключателя. Она универсальна. Может располагаться внутри html-тегов, и даже в качестве свойств (классов, стилей) этих тегов (например таких, как цвет текста).

Заключение

Мы рассмотрели все способы изменения, модификации и смены оформления меню, для разных уровней знаний, для разной глубины кастомизации, от установки картинок, до апгрэйда движка jquery и использования собственных тем. Думаю вывод понятен — менять можно всё и везде)) главное знать, что нужно для этого сделать, и обладать необходимым уровнем знаний для изменения оформления на разных уровнях «доступности».

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

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий