Страница 3 из 102

Очень интересно, но ничего непонятно!

Добавлено: 05 янв 2018, 21:50
Ruslan
«Пощелкаем» телевизором через ИК ПЕРЕДАТЧИК

Захотелось мне интегрировать в систему УД управление телевизором. Первое, что услышал по поводу идеи: «а на кой?! Есть же пульт!» Сразу вспомнился диалог двух героинь из известного новогоднего фильма.
-- Послушайте, я вам все сейчас объясню. Вчера Женя пошел в баню.
-- Девушка,… какая баня?! У него в квартире есть ванная!
Ну, собственно, основной задачей, которую хотелось воплотить, было автоматическое выключение телевизора, когда в помещении длительное время никого нет. Тут можно поступить проще, обесточив на несколько секунд потребителя. Но это в наш современный век выглядит совсем уж по-варварски.

Кроме того, полноценное управление открывает перед нами и другие возможности. Например, становится возможным использовать любой телевизор с пультом дистанционного управления как будильник, даже если в нем самом функции включения по времени не предусмотрено. Если при входе в калитку фотография входящего отправляется на телевизор, можно его включать на какое-то время для показа картинки с входящим посетителем (при условии, что в помещении с телевизором недавно наблюдалось движение). Если используется SIP-телефония, при начале разговора можно автоматически немного «приглушать» звук и возвращать громкость в исходное состояние по окончании разговора. Различных сценариев можно «насочинять» много. Но как говорили классики марксизма-ленинизма -– это все «надстройка». А нам надо для начала разобраться с «базисом», т.е. ИК передатчиками и командами.

Современными телевизорами можно управлять не только через ИК передатчик. Вот, например, реализовано управление через HDMI-порт (https://majordomo.smartliving.ru/forum/ ... =23&t=3853). Но я буду писать только о том, что использовал сам. А это были 2 варианта.


Вариант 1

Если кто не в курсе, Мега прекрасно умеет управлять техникой по ИК каналу (https://ab-log.ru/smart-house/ethernet/megad-2561-ir). Основная сложность, с которой я столкнулся – поиск команд для моего телевизора. С электроникой и паяльником, имею лишь «шапошное» знакомство. Поэтому мастерить самостоятельно ИК-приемник и распознавать команды пульта какой-нибудь Ардуиной даже не пытался.

На приведенном в статье Андрея ресурсе по командам LIRC нужные команды для моего старенького телевизора Panasonic найти не удалось. Однако указанная Андреем для примера команда, переключающая его телевизор Panasonic на 2-й канал, сработала и у меня. В итоге нашел на ресурсе LIRC команды очень похожие на сработавшую, которые отличались от нее длиной (в них отсутствовал фрагмент начальной части). Кроме того, предлагаемые паузы были другими (https://sourceforge.net/p/lirc-remotes/ ... lircd.conf). Для конструирования команд для остальных кнопок помогла операция по «скрещиванию» начальной части сработавшей команды с четырьмя последними символами найденных команд.

Выложу на всякий случай получившиеся команды, вдруг кому пригодится.

KEY_POWER - BFFBFEFF4342 (команду повторять несколько раз подряд)
1 - BFFBFEFFF7F6
2 - BFFBFEFF7776
3 - BFFBFEFFB7B6
4 - BFFBFEFF3736
5 - BFFBFEFFD7D6
6 - BFFBFEFF5756
7 - BFFBFEFF9796
8 - BFFBFEFF1716
9 - BFFBFEFFE7E6
0 - BFFBFEFF6766
KEY_102ND - BFFBFEFF2322
KEY_CHANNELUP - BFFBFEFFD3D2
KEY_CHANNELDOWN - BFFBFEFF5352
KEY_VOLUMEUP - BFFBFEFFFBFA
KEY_VOLUMEDOWN - BFFBFEFF7B7A
KEY_MUTE - BFFBFEFFB3B2

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


Вариант 2

Незадолго до того, как Андрей разместил свою статью про управление техникой через ИК канал и сочинил соответствующую «железяку», в моих руках оказалась изделие от небезызвестной фирмы Broadlink. Для управления телевизором я приобрел самое простое и недорогое устройство из их линейки -– RM3 mini (https://ru.aliexpress.com/item/433-Broa ... 0.0.ZvzP4v). В нем есть ИК передатчик, ИК приемник (для обучения командам от пультов) и Wi-Fi-модуль.

Для использования по назначению первым делом устройство надо «ввести в сеть». Потребуется смартфон или планшет (с iOS или Android), на котором скачивается и устанавливается приложение E-control. Устройство находится, скачивается понравившийся пульт, путем обучения кнопкам виртуального пульта назначаются команды реального пульта. И, собственно, мы получаем управление нашим телевизором со смартфона/планшета.

Только система УД пока еще у нас оказалась не при чем. Попробуем интегрировать в нее все это хозяйство.


Интеграция устройства Broadlink в Мажордомо

Для интеграции оборудования Broadlink в Мажордомо есть специальный модуль с одноименным названием (https://majordomo.smartliving.ru/forum/ ... 16d6b7ebc4). Устанавливаем модуль (Панель управления >>> СИСТЕМА >>> Маркет дополнений >>> Вкладка «Оборудование»). После этого в разделе «УСТРОЙСТВА» появляется «Broadlink». Выбираем режим работы «PHP only». Если в результате сканирования устройство не обнаружилось автоматически, его надо добавить вручную. При этом указывается:
Тип устройства;
Название;
IP устройства;
Марка устройства;
MAC-адрес.
Изображение

Сканирование в моем случае (Win10) к добавлению устройства не привело, поэтому все параметры я внес вручную. Поскольку у меня Windows, IP-адрес и MAC-адрес устройства мне помогла узнать команда «arp –a» (клавиша Майкрософт + "R" >>> команда cmd, а потом >>> arp –a). Данные для поля «Марка устройства» можно взять отсюда (http://majordomo.smartliving.ru/forum/v ... 446#p44446) или отсюда (/modules/dev_broadlink/broadlink.class.php). Для RM3 mini у меня подошло 0x273d. Кстати, в обновленной версии модуля и на другом компьютере (Win7) мое устройство после сканирования появилось автоматически и с другой кодировкой марки устройства.

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

В коде (в методах, в сценариях, в PHP-коде у различных объектов) полученные команды надо использовать так (пример).

Код: Выделить всё

brLinkCommand('TV_Panasonic_1_Mute');
«TV_Panasonic_1_Mute» в приведенном примере -– это название команды в модуле Broadlink. А еще лучше формировать имя команды, комбинируя имя объекта с конечной частью названия нужной команды в модуле Broadlink. Вот так:

Код: Выделить всё

brLinkCommand($this->object_title."_Mute");
А вот пример того, что содержится внутри посылаемой модулем команды (такая переключает мой телевизор на 9-й канал).

Код: Выделить всё

26006600713a0d100c2d0c100d100d0f0d100d0f0d100d0f0d100d0f0d100d100c2d0c100d100c100d100c100d100c100d100c100d2c0d100d0f0d100d0f0d100d0f0d100d100c100d100c100d2c0d2c0d100c100d100c100d100d0f0d2c0d2c0d100d0f0d2d0c000d050000
Если бы кто-то смог подсказать, как перевести эту команду в команду, пригодную для Меги (т.е. BFFBFEFFE7E6), цены бы ему не было.

По поводу присвоения названий командам в модуле для себя пришел к следующим выводам. Названия команд в пределах всего модуля Broadlink должны быть уникальными. Название у меня будет содержать указание на конкретный управляемый объект (например, «TV_Panasonic_1») и начинаться с имени этого объекта в Мажордомо (например, «TV_Panasonic_1_Mute», «TV_Panasonic_1_7_Channel» и т.д.). Это мне позволит использовать общеклассовые методы Мажордомо, что значительно упростит добавление новых управляемых устройств. Если я захочу управлять другим телевизором, к примеру, Samsung, то объект в классе получит имя «TV_ Samsung_1», а команды в модуле будут названы по аналогии: «TV_Samsung_1_Mute», «TV_Samsung_1_7_Channel» и т.д.


Рисуем пульт в Мажордомо

Попадались мне варианты красивых пультов, реализованных средствами html/css/javascript. Но поскольку повторить сеи шедевры мне не под силу, пойдем рабоче-крестьянским путем. Раздобудем нужные иконки-кнопки в интернете. Для номеров каналов мне приглянулась такая картинка.
Изображение

Вырезаем нужные фрагменты в графическом редакторе. Остальные кнопки тоже найдем в интернете или нарисуем. Выложу архив с использованными иконками.
Архив с иконками (TV-remote).rar
Архив с иконками
(63.45 КБ) 233 скачивания
Изображение
Видно, что пульт занимает немало ценного места. Поэтому я решил, что было бы полезно скрывать/отображать пульт с помощью клика по отдельной кнопке (Изображение).
Изображение
Еще бы хотелось видеть даже при скрытом пульте, включен телевизор или выключен. Значит у нашей кнопки будет 2 состояния (Изображение / Изображение).
Еще у нас будет пара сложных кнопок с 2-мя состояниями (хотя, по факту вышло с 4-мя). Это вкл/выкл (Изображение / Изображение) и отключение звука (Изображение / Изображение).
Четыре состояния такие.
Для кнопки вкл/выкл:
0 – телевизор выключен, пульт отображается (Изображение);
1 – телевизор выключен, пульт скрыт (иконка на сцене не отображается);
2 – телевизор включен, пульт отображается (Изображение);
3 – телевизор включен, пульт скрыт (иконка на сцене не отображается).

Для кнопки отключения звука:
0 – звук выключен, пульт отображается (Изображение);
1 – звук выключен, пульт скрыт (иконка на сцене не отображается);
2 – звук включен, пульт отображается (Изображение);
3 – звук включен, пульт скрыт (иконка на сцене не отображается).

Чтобы получить такой же результат, проще всего выполнить следующую последовательность действий (в качестве ИК передатчика я буду использовать Broadlink RM3 mini).

1. Поместить использованные иконки по пути C:\_majordomo\htdocs\cms\scenes\styles\images

2. Импортировать класс «TV» (Объекты >>> Инструменты [кнопка внизу] >>> Выберите файл [выбираем файл «TV.txt»] >>> Импортировать). Для теста можно сделать это вместе с объектами.
TV.rar
Класс "TV" (для broadlink)
(2.18 КБ) 210 скачиваний
3. Импортировать элементы сцены (Сцены >>> Вкладка «Элементы» >>> Выберите файл [выбираем файл «Elements.elements»] >>> Импортировать).
Elements.rar
Элементы сцены (ТВ-пульт)
(65.95 КБ) 198 скачиваний
4. Импортировать позиции меню (Меню управления >>> Инструменты [кнопка внизу] >>> Выберите файл [выбираем файл «items.menu»] >>> Указываем «Родительский пункт меню» [я выбрал «Управление»] >>> Импортировать).
items.rar
Пункт меню (ТВ-пульт)
(2.07 КБ) 205 скачиваний
Если в первой строке иконок иконка для переключения каналов вниз (Изображение) «перепрыгнула» на другую строку, то в HTML-блоке надо уменьшить ширину картинок (Изображение и Изображение), указав вместо width="24", другое значение (например, ="22"). У меня такое было в IE и в Opera на Win7. А в такой же Опере на Win10 все умещалось.

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

5. Установить в Мажордомо модуль Broadlink (если он еще не установлен) и обучить командам от пульта. Поскольку команды вызываются (из метода класса) по названию, приведу перечень использованных в моем примере названий.
TV_Panasonic_1_0_Channel
TV_Panasonic_1_1_Channel
TV_Panasonic_1_2_Channel
TV_Panasonic_1_3_Channel
TV_Panasonic_1_4_Channel
TV_Panasonic_1_5_Channel
TV_Panasonic_1_6_Channel
TV_Panasonic_1_7_Channel
TV_Panasonic_1_8_Channel
TV_Panasonic_1_9_Channel
TV_Panasonic_1_Channel_Down
TV_Panasonic_1_Channel_Up
TV_Panasonic_1_Mute
TV_Panasonic_1_NN
TV_Panasonic_1_On_Off
TV_Panasonic_1_Sound_+
TV_Panasonic_1_Sound_-
(Жаль, не нашел, как можно спрятать это хозяйство под спойлер.)


А как быть, если вместо устройства Broadlink применить ИК передатчик от Андрея? В данном случае модуль Broadlink нам не понадобится и придется несколько переделать коды методов, заменив броадлинковские команды на команды для Меги, а также расширить состав свойств в классе. Выложу экспортированный класс «TV» с командами для Меги.
TV_(MegaD_cmd).rar
Класс "TV" (для MegaD)
(2.65 КБ) 184 скачивания
Теперь наша тестовая команда,

Код: Выделить всё

http://192.168.0.14/sec/?pt=12&ir=BFFBFEFF7776&irp0=3450&irp1=1740&irp2=400&irp3=470&irp4=1300
которая переключает мой телевизор на 2-й канал, будет вызываться так (естественно, все свойства в объекте должны быть заполнены):

Код: Выделить всё

file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('2_Channel')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
Ну а где же, спросит меня внимательный читатель, автоматическое выключение «забытого» в одиночестве телевизора?


Автовыключение «забытого» телевизора

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

Можно, конечно, «вывернуться» так. В моих командах на переключение на 1-й канал (и для broadlink и для Меги) имитируется длительное нажатие на кнопку (удержание клавиши). При этом происходит включение телевизора. Т.е. мы можем таким образом выполнить включение телевизора, а потом выполнить команду его выключения. Но как-то не хочется подвергать лишний раз телевизор пиковым нагрузкам. Так что нужно обеспечить установление факта работы телевизора «средствами объективного контроля».

На форуме по Мажордомо кто-то предложил неплохую, на мой взгляд, идею. Можно отследить факт работы телевизора по наличию питания на его USB-порту. Т.е. понадобится протащить к телевизору две жилы провода и подключить U-sensor, который поможет «отловить» напряжение 5В (https://ab-log.ru/smart-house/ethernet/u-sensor). Правда, при длине проводов в несколько десятков метров неизбежно будет падение напряжения и справится ли в этой ситуации U-sensor с возложенной на него миссией, можно будет сказать только по результатам «натурных испытаний». В моем случае не поможет даже положительный результат, поскольку телевизор произведен во времена, когда о USB-портах еще слыхом не слыхивали.

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


Итак, «железки» приехали.
Изображение
На фото -- датчики тока ТП03С-0,1А-00-З/0 (ОК) (клеммы). Радует, что это отечественный производитель (http://www.eltranstech.ru/products/izme ... t03s-200a/). Вдвойне радует, что там работают, как оказалось, адекватные люди. А то как иногда бывает, обращаешься к производителю, чтобы приобрести что-нибудь или сделать, а они «меньше восьми вагонов в одни руки не отгружаем» или «щас прям разбежались из-за вас производственную линию переналаживать». А тут пишу им, объясняю ситуацию. Мол, хорошие датчики делаете, удобные для подключения. И тот, что выпускаете серийно (ТП03С-0,35А-00-З/0 (ОК) подходит в большинстве случаев (стиральные машины, кондиционеры, скваженные насосы), в том числе и для моего телевизора, который всяко потребляет ватт 200-250, поскольку порог срабатывания у датчика примерно 80 Вт (при 220 В). Но вот куплю я более энергоэффективный, современный телевизор, который может потреблять ватт 60-70, как тогда быть? В то же время отслеживать «абсолютный ноль» мне тоже не нужно, поскольку телевизор обычно находится в режиме «standby» и потребляет несколько ватт (современные модели) или ватт 10 в моем случае. Спрашиваю, сможете сделать для меня датчик с порогом срабатывания 0,07 А (15 Вт)? Они взяли небольшую паузу для изучения технических деталей и ответили «ЗАПРОСТО». Спросили, устроит ли меня датчик с порогом 100 mA, чтобы не применять более крупный (и более дорогой) корпус? Говорю, да, вполне устроит. С учетом доставки датчик мне обошелся примерно в 480 руб./шт. Еще говорю им, поскольку тема УД становится все более популярной, может быть вашим маркетинговым службам стоит рассмотреть вопрос о включении такого датчика в линейку производимых «серийно»? Они как-то засомневались, думают, что не будет пользоваться существенным спросом. Ну, им, наверное, виднее.

Но, вернемся к нашим бара… телевизору. Теперь его состояние (включен или выключен) мы можем отследить «вооруженным глазом», пропустив через датчик фазную или нулевую жилу питающего телевизор провода и подключив сам датчик к обычному входу Меги. Очевидный момент, но я все же отмечу, что телевизионная розетка должна «висеть» на отдельном питающем проводе. И если розетка двойная для правильности картины не следует от нее запитывать других потребителей, иначе датчик будет измерять ток «набрудершафт».

Статус телевизора в интерфейсе будем теперь не просто менять по нажатию на кнопку «Вкл./Выкл.», но и верифицировать по состоянию датчика. Поскольку он может быть подключен к другой Меге, чем та, к которой подключен ИК передатчик, добавим несколько новых свойств в класс «TV», которые помогут организовать опрос датчика:
ChkPower_ipAddress
ChkPower_Password
ChkPower_Port

Вынесем выставление статуса телевизора в отдельный метод «StatusSet» со следующим кодом.

Код: Выделить всё

$state = file_get_contents("http://".$this->getProperty('ChkPower_ipAddress')."/".$this->getProperty('ChkPower_Password')."/?pt=".$this->getProperty('ChkPower_Port')."&cmd=get");
$state = substr($state,0,2);
if ($state == "ON") {
If ($this->getProperty('RemoteVisible') <> 0) {
  $this->setProperty('Status', 2); 
} else {
  $this->setProperty('Status', 3); 
}
} else {
If ($this->getProperty('RemoteVisible') <> 0) {
  $this->setProperty('Status', 0); 
} else {
  $this->setProperty('Status', 1); 
}
}
Выполним настройку в модуле «MegaD», чтобы этот метод запускался при срабатывании датчика. Режим работы порта «P&R». В моем случае датчик тока подключен к порту P3.
Изображение
Также будем запускать этот метод при выполнении метода «turn_On_Off». Допишем в конец метода «turn_On_Off» строчку

Код: Выделить всё

SetTimeOut($this->object_title."_StatusCheck_Timer","$this->callMethod('StatusSet');",3);
Таким образом будет определяться фактическое состояние телевизора. 3-секундная задержка нужна, чтобы дать время системе на выполнение команды (работа СУБД, web-сервер, сетевой трафик и т.д.), плюс для выключения телевизора команду надо подавать секунду-полторы (удержание клавиши на физическом пульте).

Еще в класс «TV» надо добавить методы
turnOn

Код: Выделить всё

$state = file_get_contents("http://".$this->getProperty('ChkPower_ipAddress')."/".$this->getProperty('ChkPower_Password')."/?pt=".$this->getProperty('ChkPower_Port')."&cmd=get");
$state = substr($state,0,3);
if ($state == "OFF") {
//Команда на вкл./выкл., подаваемая на Мегу (повторенная несколько раз, как имитация удержания кнопки пульта)
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
usleep(50000);
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
usleep(50000);
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
usleep(50000);
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));

//или на устройство Broadlink, если для управления используется оно
//brLinkCommand($this->object_title."_On_Off");
}
turnOff

Код: Выделить всё

$state = file_get_contents("http://".$this->getProperty('ChkPower_ipAddress')."/".$this->getProperty('ChkPower_Password')."/?pt=".$this->getProperty('ChkPower_Port')."&cmd=get");
$state = substr($state,0,2);
if ($state == "ON") {
//Команда на вкл./выкл., подаваемая на Мегу (повторенная несколько раз, как имитация удержания кнопки пульта)
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
usleep(50000);
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
usleep(50000);
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));
usleep(50000);
file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('Port')."&ir=".$this->getProperty('On_Off')."&irp0=".$this->getProperty('irp0')."&irp1=".$this->getProperty('irp1')."&irp2=".$this->getProperty('irp2')."&irp3=".$this->getProperty('irp3')."&irp4=".$this->getProperty('irp4'));

//или на устройство Broadlink, если для управления используется оно
//brLinkCommand($this->object_title."_On_Off");
}
А вот такой код выключит сразу все телевизоры, перечисленные в классе «TV».

Код: Выделить всё

$objects=getObjectsByClass("TV");
foreach($objects as $obj) {
   callMethod($obj['TITLE'].".turnOff");
}
А теперь мы наконец-то дошли до того, ради чего все затевалось -– автовыключения телевизора.
Срабатывание датчика движения будет запускать таймер на 50 минут. И если таймер завершит свой отсчет (а не перезапустится в результате нового срабатывания датчика движения), то будет выполнена команда на выключение конкретного телевизора. Допишем строчку в тот код, который запускается при срабатывании датчика (в моем случае -- это Объект.Метод «MotionSensor2.statusChanged»).

Код: Выделить всё

SetTimeOut("TV_Panasonic_1_OffTimer","callMethod('TV_Panasonic_1.turnOff');",60*50);

Re: Очень интересно, но ничего непонятно!

Добавлено: 02 фев 2018, 19:19
Voviks99
Добрый все день , вечер
Я тут новичок, вопросов много, много не поняток.
Большое спасибо Руслану за его кропотливый труд, умение донести понимания всего это, хотя многое еще не укладывается в голове, много еще что нужно осознать.
А теперь по существу вопроса, зачем так усложнять выключение телевизора с помощью датчика, да его можно установить как альтернативный вариант с минимальными затратами.
А если посмотреть на этот вопрос с другой стороны. Организовать на дверях на ИК датчиках счетчик посетителей, и на его данных о количестве людей зашедших в комнату и вышедших из комнаты выключать телевизор и свет или сразу или с задержкой. Здесь уже можно поиграться с разными сценариями. Например выкл света сразу, а TV через 5 минут (с учетом того, что комнату все покинули, а ты вышел взять телефон и вернулся обратно ну и т.д), а можно добавить и включение света и TV если кто-то входит в комнату.
Ну что-то типо того

Re: Очень интересно, но ничего непонятно!

Добавлено: 02 фев 2018, 22:16
Ruslan
Voviks99 писал(а):
02 фев 2018, 19:19
Добрый все день , вечер
Я тут новичок, вопросов много, много не поняток.
Вопросы можно задавать, люди на форуме собрались культурные, в меру сил и знаний подскажут, разъяснят, если что непонятно. Единственное, просьба, пользоваться поиском, очень многие вопросы затрагивались или подробно обсуждались.
Когда я начал читать материалы этого замечательного ресурса, у меня тоже была масса вопросов. Дин-рейка...? А что это? UTP...? Это из какой оперы? Тем более по образованию и роду занятий я настолько далек от этого, что даже не передать. Но потихоньку в голове все утряслось.
Voviks99 писал(а):
02 фев 2018, 19:19
Большое спасибо Руслану за его кропотливый труд, умение донести понимания всего это, хотя многое еще не укладывается в голове, много еще что нужно осознать.
Спасибо за положительную оценку. У каждого свой мотив, по которым он решил что-то написать или поделиться с другими. Мой основной посыл, который я хочу донести до читателя, что значительную часть функционала УД они смогут легко сделать самостоятельно (раз смог даже такой "чайник" как я). Сейчас появилась такая замечательная штука, как Мега. "По железу" за тебя уже все хорошо продумали и тщательно протестировали. Бери готовое и пользуйся.
По софту такая же картина. Ну вот реально в том же Мажордомо настроить, скажем, освещение из 10 эл.цепей (без сложных сценариев) займет минут 15-20, если картинку с планом помещений вы уже нарисовали. Ну еще несколько минут потребуется для установки самой программы. Надо будет совсем чуть-чуть поразбираться в PHP и можно браться за более сложные сценарии.

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

Второй мотив -- донести для новичков принципы работы с Мегой и типичными "железками", которые совместно с ней применяются. Я уже относительно давно интересуюсь темой УД, а вот те, кто впервые натыкаются на эту тему, порой испытывают трудности из-за обилия материала. Вроде написано всего много, а как все работает -- непонятно. Вот и пытаюсь коротенько пояснить все это в стиле "чайник для чайника". Надеюсь удается.
Voviks99 писал(а):
02 фев 2018, 19:19
А теперь по существу вопроса, зачем так усложнять выключение телевизора с помощью датчика, да его можно установить как альтернативный вариант с минимальными затратами.
А если посмотреть на этот вопрос с другой стороны. Организовать на дверях на ИК датчиках счетчик посетителей, и на его данных о количестве людей зашедших в комнату и вышедших из комнаты выключать телевизор и свет или сразу или с задержкой. Здесь уже можно поиграться с разными сценариями. Например выкл света сразу, а TV через 5 минут (с учетом того, что комнату все покинули, а ты вышел взять телефон и вернулся обратно ну и т.д), а можно добавить и включение света и TV если кто-то входит в комнату.
Ну что-то типо того
Организация счетчика посетителей для меня очень сложная задача. Вопрос об этом затрагивался на форуме (https://ab-log.ru/forum/viewtopic.php?f ... &start=140). Там много неоднозначных нюансов.
Считаю, что для определения наличия людей в помещении можно обойтись и более простыми во всех смыслах "железками" -- датчиками движения. Про автовыключение "забытого" света и про автоматическое его включение я писал в своей заметке про датчик движения. Если будет создано более "продвинутое" и недорогое устройство (совместимое с Мегой), которое позволит с большей точностью по сравнению с датчиком движения идентифицировать факт наличия людей в помещении, я с удовольствием им воспользуюсь.

Re: Очень интересно, но ничего непонятно!

Добавлено: 03 фев 2018, 16:23
Voviks99
Я понял ход мысли, значит надо думать как решить этот вопрос, потому, что мне не совсем нравиться использование датчика движения или присутствия.
Сейчас на данном этапе мне как начинающему найти на форуме информацию и определиться какую систему использовать довольно сложно, очень много всего.
Понятно что у каждого свои требования к УД, но система УД именно для частного дома и для квартиры разные, а здесь на форуме все свалено в кучу.
Одни делают проводку с нуля в новострое, другие при ремонте, а третие внедряют все уже после ремонта. Как по мне, на форуме много профессионалов которые прошли все этапы и продолжают дальше внедрять свои проекты, вот они могли бы рассказать не в общих чертах, а подробно рассказать с чего начинали и на основании их опыта организовать FAQ именно для новичков с рассмотрением основных вопросов которые возникают у новичков. Скажу честно эту тему на форуме нашел совсем случайно.
Андрею за его статьи большое человеческое спасибо, но в них много информации технического характера, которые для новичка еще больше забивает голову.
Я сам сейчас на этапе разработки проекта поумневшей квартире(новострой), и понимаю что в первую очередь мне надо проложить проводку, чтобы в дальнейшем реализовать все свои хотелки и очень сложно найти ответы на форуме. Поэтому хотел попросить модераторов все же сделать полноценный FAQ именно для новичков.
И Руслан твоя тема стало бы первой темой FAQ, в которой ты могбы продолжать делиться своими наработками, подсказывать новичкам которые решили остановиться на твоей системе.
Практически все сценарии в УД "+" "-" одинаковые со своими нюансами, которые хотелось бы по обсуждать. Создать тему или раздел в FAQ-е в котором новички и не только могли бы обсуждать все плюсы и минусы этих сценариев ну и т.д.
Создать тему проводки, оборудования, с чего все начинать.
Тогда это позволит многим новичкам избежать не нужных и глупых вопросов, которые обычно раздражают.

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

Re: Очень интересно, но ничего непонятно!

Добавлено: 03 фев 2018, 18:30
Ruslan
Voviks99 писал(а):
03 фев 2018, 16:23
Мне твоя система нравиться и я хотел бы ее у себя ее организовать, но встал вопрос как же правильно все организовать, чтобы начать с минимума и в дальнейшем наращивать. Т.е. я рассматриваю в начале создание децентрализованое управление освещением, отоплением, протечками, быт и охраной, а потом все таки связать все это в одно целое.
Вот здесь и возникает вопрос по выбору оборудования(минимум) и дальнейшая его модернизация, при этом без необходимости прокладки новых сетей.
Называть все описанное мною "твоя система" было бы большим преувеличением. Автор "железного" мозга системы (Меги) -- Андрей, автор программной платформы УД (Мажордомо) -- Сергей. Я просто взял готовые решения, придуманные талантливыми людьми и использовал. Любой может взять то же железо, по моим инструкциям вставить тот же код в те же места и все будет работать.

У Сергея (автора Мажордомо) есть хороший ролик, где он рассказывает о чем надо подумать заранее, перед тем как заниматься организацией УД (https://www.youtube.com/watch?v=RfrqHxXq4Ao).
Недавно ув.Andrew_A рассказал про свою систему УД (https://ab-log.ru/forum/viewtopic.php?f=1&t=1400) и там есть примечательная фраза: "Практически вся моя профессиональная карьера так или иначе была связана с технологиями беспроводной передачи данных, по большей части в сфере IoT. Поэтому мой умный дом, конечно же, я сделал полностью ... проводным !".
Есть на форуме ветка и про организацию проводки (https://ab-log.ru/forum/viewtopic.php?f=3&t=229).
Voviks99 писал(а):
03 фев 2018, 16:23
Прошу извинить за много букв, может где-то и повторился, может где-то кто-то уже все это писал, но не смог пока осилить весь форум.
Веток, где люди пытались сформулировать свои пожелания по организации УД, а потом шло обсуждение этого, довольно много (вот перечень, сформированный по результатам беглого просмотра первых 10 страниц данного раздела форума):
https://ab-log.ru/forum/viewtopic.php?f=3&t=1371
https://ab-log.ru/forum/viewtopic.php?f=1&t=1305
https://ab-log.ru/forum/viewtopic.php?f=1&t=1200
https://ab-log.ru/forum/viewtopic.php?f=1&t=1230
https://ab-log.ru/forum/viewtopic.php?f=1&t=893
https://ab-log.ru/forum/viewtopic.php?f=1&t=1210
https://ab-log.ru/forum/viewtopic.php?f=1&t=1168
https://ab-log.ru/forum/viewtopic.php?f=1&t=752

Не совсем понял мысль про "я рассматриваю в начале создание децентрализованое управление освещением, отоплением, протечками, быт и охраной, а потом все таки связать все это в одно целое". Тут надо понять, объекты управления у вас будут управляться (прошу прощения за тавтологию) через оборудование для УД или нет. Если так, то не совсем ясно, что имелось ввиду под "децентрализованным" управлением. Ведь подключены все "железки" все равно будут одинаково, по определенной схеме. И не важно будет у вас сервер или нет.

В общем как всегда сначала надо определиться с "хотелками", а потом со способами их реализации. Посмотреть, есть ли место для размещения ящика/щитка (желательно в отдельном помещении, удаленном от спален).
Ну вот, к примеру, для отслеживания температуры использование датчиков DS18B20 стало своего рода "стандартом" (дешево, надежно и удобно, т.к. поддерживается Мегой на уровне прошивки). Где устанавливать датчики в помещениях -- на "ненаружной" стене на высоте 1,5-1,6 м от уровня пола. Как это может выглядеть? Например, вот так (https://ab-log.ru/smart-house/ethernet/ ... dapter-box). Откуда я все это знаю? Читаю статьи Андрея и форум.

В любом случае разбираться придется, ведь сайт называется "Умный дом своими руками". Это означает, что и "поддерживать" его в дальнейшем надо будет самостоятельно. Если вы твердо намерены реализовать УД, рекомендовал бы приобрести для пробы БП, Мегу и пару исп.модулей (R и 14IN), а также интересующие вас датчики, выключатель без фиксации. Поподключать все это, понять, как все устроено. В любом случае, все это железо вам однозначно потом пригодится. Ведь как гласит японская пословица "знания приходят через руки".

Re: Очень интересно, но ничего непонятно!

Добавлено: 03 фев 2018, 19:45
Voviks99
Ruslan писал(а):
03 фев 2018, 18:30
Не совсем понял мысль про "я рассматриваю в начале создание децентрализованое управление освещением, отоплением, протечками, быт и охраной, а потом все таки связать все это в одно целое". Тут надо понять, объекты управления у вас будут управляться (прошу прощения за тавтологию) через оборудование для УД или нет. Если так, то не совсем ясно, что имелось ввиду под "децентрализованным" управлением. Ведь подключены все "железки" все равно будут одинаково, по определенной схеме. И не важно будет у вас сервер или нет.
Вот что имелось ввиду.
https://www.ab-log.ru/smart-house/ethernet
1. Децентрализация

Схема децентрализованной системы Умного Дома без управляющего контроллера

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

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

и с большим удовольствие буду читать твои описания по реализации УД

И еще, купить БП и Мега не проблема, но сначала надо понять что к чему, чего хочу. Тем более мы хоть и братские народы жившие в одной стране, то сегодня мы живем в разных государствах( это не политика, мне на нее на ср.....). то купить не все так просто.
И если ты не против хотел бы просить о шефской помощи и консультации

Re: Очень интересно, но ничего непонятно!

Добавлено: 03 фев 2018, 20:26
Ruslan
Voviks99 писал(а):
03 фев 2018, 19:45
Вот что имелось ввиду.
https://www.ab-log.ru/smart-house/ethernet
1. Децентрализация

Схема децентрализованной системы Умного Дома без управляющего контроллера
Ну вообще без контроллеров сейчас вряд ли обходятся при создании УД (неважно MegaD это или какие-то другие). Если предполагается использовать Мегу, то по вашей ссылке речь может идти о том, что описано после подзаголовка "Некоторое совмещение подходов".

Во всяком случае с Мегой освещение, как вещь довольно простая, преспокойно может работать и без сервера. Хотя вот эту боязнь сервера мне понять сложно. Есть же готовое бесплатное и платное ПО, совместимое с MegaD. Все сложные сценарии без него невозможны. И управление сложными объектами, шторами, например, тоже проблематично (функция Меги "Programms" пока сильно экспериментальная). И удобства дистанционного управления вместе с красивым интерфейсом без сервера, увы, никак не добиться. Но действительно, сервер можно добавить и потом. На первом этапе главное провода, провода, провода... Есть провод, можно что-то сделать, нет -- придется "изголяться" (и все равно где-то брать питание, менять батарейки...).
Voviks99 писал(а):
03 фев 2018, 19:45
И если ты не против хотел бы просить о шефской помощи и консультации
Что знаю, конечно, подскажу, мнением своим поделюсь. Но хочу сказать, что я -- не специалист. Просто "любитель" без технического образования и глубоких знаний. У меня нет законченного проекта УД (все в процессе). Есть несколько стендов с Мегами, на которых я учусь управлять тем, что мне интересно и пригодится в дальнейшем. Понемногу учусь программировать. Брать шевство с таким скромным багажом, думаю, весьма опрометчиво, уж не обессудьте.

Re: Очень интересно, но ничего непонятно!

Добавлено: 03 фев 2018, 22:15
Voviks99
Ruslan писал(а):
03 фев 2018, 20:26
"Некоторое совмещение подходов".
Да, да это имелось ввиду
Ruslan писал(а):
03 фев 2018, 20:26
Хотя вот эту боязнь сервера мне понять сложно.
нет ни какой боязни
Ruslan писал(а):
03 фев 2018, 20:26
На первом этапе главное провода, провода, провода... Есть провод, можно что-то сделать
Вот, вот этим я сейчас и занять, пытаюсь нарисовать проект
Ruslan писал(а):
03 фев 2018, 20:26
Что знаю, конечно, подскажу, мнением своим поделюсь.
Спасибо.
отправляюсь изучать

Re: Очень интересно, но ничего непонятно!

Добавлено: 04 фев 2018, 19:22
Voviks99
Ruslan
Давай рассмотрим самый основной сценарий управления светом с помощью MegaD
поставим вопросы:
1.что мы хотим
2.как управлять
3.количество источников освещения
4.необходимые датчики
5.необходимое оборудование, MegaD, датчики сколько и чего
6. Какие провода
ну и т.д.
вкл свет
И так начнем
1. Что мы хотим
Все строители УД хотят авто вкл.(АВК) и авто выкл.(АВык)
Теперь рассмотрим в каких случаях нам это надо
АВК нам не обходим когда освещение в комнате нас не устраивает, здесь мы можем заставить датчик освещения вкл свет, вторым вариантом мы можем вкл свет нажав выключатель на стене, таким образом мы можем включить процедуру АВК и АВык до того момента когда мы захотим выключить эту процедуру нажав опять выключатель на стене.
АВык там необходимо когда мы активировали режим автоматического управления светом, когда вышли из комнаты свет с задержкой 2-3 минуты выключился, при последующем входе в комнату свет опять включиться и т.д.
Сюда можно добавить еще диммирование плавное вкл ламп, для увеличения срока службы самих ламп
Это все будет работать при условии центрального света, а как будет работать эта система если в комнате еще дополнительно присутствует настольная лампа, торшер или бра, все они включены в розетку и имеют свои выключатели? По идеи мы тоже захотим ими управлять , но как?

2.4.Бытует мнение что для управления нам надо использовать датчик освещенности установленный в комнате( с чем я не очень согласен).
Также использование датчика движения или датчика присутствия, это вроде как разные датчики, а может многие считаю это одним и тем же.(поправляйте если не прав)
Какие еще есть варианты управления???

3. Кол-во источников освещения
Стандартно мы имеем в комнате люстру(ЦО) и дополнительное(ДО) это как я уже писал торшер, бра, другие лампочки подсветки, которые включены в розетки и имеют свои выключатели

5. центральное управление MegaD (какую 328 или 2561?)
что еще???

6. Остались провода, что чего и сколько? Силовые и UTP


Дополняем
если что не так, звеняйте

Re: Очень интересно, но ничего непонятно!

Добавлено: 04 фев 2018, 21:39
Ruslan
Voviks99 писал(а):
04 фев 2018, 19:22
Ruslan
Давай рассмотрим самый основной сценарий управления светом с помощью MegaD
поставим вопросы:
1.что мы хотим
2.как управлять
3.количество источников освещения
4.необходимые датчики
5.необходимое оборудование, MegaD, датчики сколько и чего
6. Какие провода
ну и т.д.
вкл свет
И так начнем
1. Что мы хотим
Все строители УД хотят авто вкл.(АВК) и авто выкл.(АВык)
Теперь рассмотрим в каких случаях нам это надо
АВК нам не обходим когда освещение в комнате нас не устраивает, здесь мы можем заставить датчик освещения вкл свет, вторым вариантом мы можем вкл свет нажав выключатель на стене, таким образом мы можем включить процедуру АВК и АВык до того момента когда мы захотим выключить эту процедуру нажав опять выключатель на стене.
АВык там необходимо когда мы активировали режим автоматического управления светом, когда вышли из комнаты свет с задержкой 2-3 минуты выключился, при последующем входе в комнату свет опять включиться и т.д.
Сюда можно добавить еще диммирование плавное вкл ламп, для увеличения срока службы самих ламп
Это все будет работать при условии центрального света, а как будет работать эта система если в комнате еще дополнительно присутствует настольная лампа, торшер или бра, все они включены в розетку и имеют свои выключатели? По идеи мы тоже захотим ими управлять , но как?

2.4.Бытует мнение что для управления нам надо использовать датчик освещенности установленный в комнате( с чем я не очень согласен).
Также использование датчика движения или датчика присутствия, это вроде как разные датчики, а может многие считаю это одним и тем же.(поправляйте если не прав)
Какие еще есть варианты управления???

3. Кол-во источников освещения
Стандартно мы имеем в комнате люстру(ЦО) и дополнительное(ДО) это как я уже писал торшер, бра, другие лампочки подсветки, которые включены в розетки и имеют свои выключатели
Ну давайте по порядку.

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

Количество источников освещения никак не связано с тем, будет освещение управляться со стороны УД или нет. Делайте столько, сколько считаете нужным с точки зрения дизайна и эргономики. С точки зрения организации управляемого УД освещения имеет смысл считать не количество источников, а количество цепей (электрических) освещения. Под каждую цепь освещения расходуется один выход Меги. Ну и про выключатели надо не забыть: под каждую клавишу расходуется один вход Меги.

С точки зрения автоВКЛючения и автоВЫКЛючения в помещениях проще всего использовать датчики движения. Самые простые охранные (сигнальные). Под каждый датчик надо отвести 1 вход Меги. Логика работы будет определяться СЕРВЕРОМ. Для санузлов я видел описание любопытного алгоритма, когда свет автоматически выключался при закрывании двери, когда посетитель покинул помещение. При этом можно длительное время не ждать детекции движения, а сразу выключить свет секунд через 5-10 после закрытия двери. В этом случае датчик движения нужно дополнить герконом на дверь (1 вход Меги).

Список оборудования прост: БП, MegaD-2561 (один или несколько), исполнительные модули, содержащие в сумме такое количество входов и выходов, чтобы хватило на все датчики, выключатели, и цепи освещения (ну и др.нагрузки). К контроллеру MegaD-2561 можно подключать сразу 2 исполнительных модуля. Так что все надо посчитать и прикинуть как это уместится в щитке (и уместится ли вообще).
Датчики движения нужны, разумеется, в каждом помещении, где планируется автоВКЛючение/автоВЫКЛючение света.

Провода используйте такие же, какие бы вы использовали для освещения и без УД (сечением 0,75 - 1,5 мм2). Для выключателей используйте такие же. На этом я бы не экономил (с целью сохранения гибкости для случаев необходимости перекоммутирования на "классическую" схему).

Для диммирования можно использовать исполнительны модуль MegaD-8I7O-SD: 3 диммируемых канала, ТОЛЬКО 220 В, максимум 300 Вт на каждый из 7 выходов. Или можно «городить» с помощью связки MegaD-14-IN (вроде бы получается 3 или 4 выхода PWM (ШИМ), в зависимости от того к какому разъему Меги подключен исп.модуль) + отдельный диммер(ы).

Если торшеры или бра включаются в розетку, можете сделать эту розетку управляемой. И выключатель на стенку приделать, чтобы за телефоном каждый раз не тянуться. Таким образом из «глупого» прибора получается «умный». Кстати, практика показывает, что чем «глупее» прибор, тем, как правило, проще его интегрировать в систему УД.


Мнение, что датчик освещенности нужен в помещении (желательно в каждом) бытует только у новичков. И это нормально. На самом деле датчик освещенности нужен на улице, чтобы знать уровень естественной освещенности. Достаточно одного датчика. В помещении датчик будет реагировать на источники искусственного освещения и картина (рисуемая датчиком) получится в стиле «абстракционизм».

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

По поводу вариантов управления хочу повториться, что всем должен «рулить» СЕРВЕР. Никакие датчики ничем не управляют, они только служат источником информации для сервера и не более того. Алгоритмы могут быть самыми замысловатыми в зависимости от потребностей и фантазии владельца. Но для осуществления всех фантазий надо завести сервер. И немножко научиться программировать хотя бы на том же PHP.
Voviks99 писал(а):
04 фев 2018, 19:22
5. центральное управление MegaD (какую 328 или 2561?)
что еще???
Если вы обратили внимание, MegaD-328 уже не выпускается. Поэтому в качестве контроллера надо брать MegaD-2561. Исполнительные модули надо брать те и таком количестве, чтобы «закрыть» все потребности в необходимых входах и выходах. А это означает, что после того как вы определитесь с количеством и видами нагрузок, с количеством и видами необходимых датчиков, надо будет «решить уравнение»: N*(Мега + 2 исп.модуля) >= количество необходимых входов и выходов. Немножко утрирую, но что-то типа того.
А уж чем конкретно вы собрались управлять, будет зависеть от вашей фантазии и умений. Например, если планируете управлять двигателями, могут потребоваться соответствующие драйверы управления двигателями. Большинством простых вещей можно управлять прямо с Меги (например, электрозащелкой на входную дверь).
Voviks99 писал(а):
04 фев 2018, 19:22
6. Остались провода, что чего и сколько? Силовые и UTP
Под силовую проводку используются те же провода, что и в случае без УД. Под датчики достаточно UTP. Все «сгоняете» в ящик с Мегами и там коммутируете. Только ящик планируйте побольше (с погрешностью в размерах в большую сторону). Обычно всем не хватает места под вновь появившиеся в процессе идеи.

Re: Очень интересно, но ничего непонятно!

Добавлено: 04 фев 2018, 23:17
Voviks99
Спасибо
Сразу вопрос можно ли связать MegaD с Arduino?
Ну а теперь такой сценарий для датчика движения:
Человек входит в комнату в течении дня, как будет вести себя датчик движения - он сработает даст сигнал на включение света, вроде все просто.
У датчика движения есть время через которое он выдаст сигнал на отключения света, тоже все просто, а если человек лег по-лежать почитать, посмотреть TV и в течении 5 мин, ну будем считать не шевелился, что произойдет? Логично, датчик даст команду на отключение. Хорошо можно увеличить время сработки, но в таком случае, если человек покинет комнату то свет останется гореть еще все то время на которое запрограммирован датчик. Тогда смысл в автовыключении???
Для меня автовыключение - это вышел из помещения свет выключился.

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

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

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

Re: Очень интересно, но ничего непонятно!

Добавлено: 05 фев 2018, 00:09
xsash
Вопросы частично обоснованы, частично нет.

Без сервера и логики НА сервере вы ничего не сделаете. Без него "максимум" реализация условий "если {*} то {*} иначе {*}".
Вся сложная реализация только на логике внешнего сервера.

Чем больше людей - тем больше переменных в логике. Если вы живете, допустим один, то вот простой алгоритм:
1. зашли в кухню - сработал датчик движения на кухне - в логике появилось значение "кухня движение ДА" => включился свет на кухне, выключился остальной свет.
2. вышли из кухни, зашли в коридор - сработал датчик движения коридоре - в логике появилось значение "кухня движение НЕТ", "коридор движение ДА" => включился свет в коридоре, выключился остальной свет.

это только пример одного из вариантов. Больше людей - сложнее логика, больше желаний - сложнее логика.

Точно определить положение в квартире поможет "чипирование" и ношение радиометок круглосуточно. Все остальное - это допуски, ошибки, вероятности и так далее.


Про включение света ночью по движению - добавляйте условие на сервере - "если день, то основной свет, иначе доп.подсветка".
А если у вас вечеринка? Еще одно условие в логике. И так далее.

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

Re: Очень интересно, но ничего непонятно!

Добавлено: 05 фев 2018, 00:19
Ruslan
Voviks99 писал(а):
04 фев 2018, 23:17
Сразу вопрос можно ли связать MegaD с Arduino?
С Arduino не работал, поэтому не знаю. Пусть более компетентные товарищи ответят на этот вопрос.
Voviks99 писал(а):
04 фев 2018, 23:17
Ну а теперь такой сценарий для датчика движения:
Человек входит в комнату в течении дня, как будет вести себя датчик движения - он сработает даст сигнал на включение света, вроде все просто.
У датчика движения есть время через которое он выдаст сигнал на отключения света, тоже все просто, а если человек лег по-лежать почитать, посмотреть TV и в течении 5 мин, ну будем считать не шевелился, что произойдет? Логично, датчик даст команду на отключение. Хорошо можно увеличить время сработки, но в таком случае, если человек покинет комнату то свет останется гореть еще все то время на которое запрограммирован датчик. Тогда смысл в автовыключении???
Для меня автовыключение - это вышел из помещения свет выключился.
Датчик движения у нас простой (охранный), он просто выдаст сигнал о своем срабатывании. Датчик не будет выдавать сигнал на отключение света. Это сделает СЕРВЕР. При этом сервер может ориентироваться на кучу вещей: наличие людей в помещении, время, освещенность, режим освещения (обычный / экономичный)… фазы луны, курс биткоина и т.д. и т.п. Это я опять про то, что всем управляет именно сервер, а не какой-то там «глупый» датчик.
Для меня смысл заключается именно в автовыключении «забытого» света. Выключатели никто не отменял. Все домочадцы как пользовались ими, так и продолжают пользоваться. Но если кого-то настиг склероз, сработает автовыключение. Вряд ли кто-то находится 15-20 минут совсем без движения. Ну в крайнем случае можно поставить какой-нибудь чувствительный датчик присутствия, который будет реагировать на малейший наклон головы.

Вообще проблема определения наличия людей в помещении является одной непростых при организации УД. Простых и не дорогих решений я не встречал. Поэтому датчик движения для этих целей – разумный компромисс.
Voviks99 писал(а):
04 фев 2018, 23:17
Да, для санузла применение геркона для выключения света при закрывании двери, актуально, но будет ли датчик движения улавливать движение человека в душевой кабине?
А если мы вышли из санузла и оставили дверь открытой, то опять же свет выключится по окончании времени срабатывания датчика движения.
Вполне может быть, что датчик движения и не будет улавливать наличие движения за душевой кабинкой и наверняка не будет фиксировать движение за непрозрачной шторкой. Но вряд ли кто-то принимает водные процедуры в течение более 15-20 минут. В противном случае ничего не мешает увеличить время (или помахать датчику движения рукой из-за шторки).
В квартирах обычно кто-нибудь постоянно «шастает». Помещений мало, площадь небольшая. Увидят, что свет забыли выключить и щелкнут выключателем. А если не заметят, свет сам выключится через 15-20 минут. Но вот для частных домов проблема забытого света более актуальна. Я в заметке о датчике движения приводил реальный пример, когда про включенный свет на цокольном этаже забыли на неделю.
Voviks99 писал(а):
04 фев 2018, 23:17
Продолжаю, если в течении дня то есть днем когда светло, человек заходит в комнату, срабатывает датчик движения включает свет и....?
Для избежания этого нам нужно каким-то образом на светлое время суток отключить датчик движения, чтобы он не давал команду на включение и мы автоматически привязываемся к датчику освещенности, вроде все логично. На улице темно, включаем свет, но а если смотреть с другой стороны, бывает время суток когда не совсем темно, но в комнате темновато или принудительно надо включить свет, как здесь быть?
Тоже самое ночью когда мы спим, как быть с датчиком движения, который мог бы включить умную подсветку.
В комнатах, как правило, есть окна. Т.е. для автоматического включения система УД должна знать, светло в комнате или уже нет. Для этих целей как раз и нужен датчик освещенности на улице. Ориентируясь на его показания и прописав нужное от них отклонение по каждому помещению (окна разных помещений могут выходить на разные стороны, соотношение площади окон к площади помещений тоже различно, индивидуальные предпочтения домочадцев и т.д.). Если нет датчика освещенности, можно ориентироваться на время восхода и заката солнца (которое сервер знает) со смещением в ту или иную сторону. Но в этом случае не будут учтены существенные обстоятельства (облачность, осадки).
Voviks99 писал(а):
04 фев 2018, 23:17
я понимаю что сервер может решить все эти вопросы. но если сервера нет то как еще можно это реализовать?
Если сервера нет, то остается полагаться на более дорогие датчики движения, которые самостоятельно запитывают нагрузку 220 В, содержат реле времени, а иногда и свой датчик освещенности. И "договариваться" с каждым датчиком в отдельности. Правда эти датчики почему-то не хотят знать про режим освещения (обычный / экономичный), не умеют исполнять голосовые команды, не умеют варьировать освещение, включая его отдельными группами или выключая весь свет (при выполнении команды "выключить все"). В общем -- это не наш метод. "Сервер всему голова".
Voviks99 писал(а):
04 фев 2018, 23:17
Прошу конечно прощение, может рассуждаю как дилетант, но я только учусь, по этому и возникают вопросы
Все мы учимся, кто-то раньше начал, кто-то позже. было бы желание.

Re: Очень интересно, но ничего непонятно!

Добавлено: 05 фев 2018, 01:08
Voviks99
Я понимаю, что датчик глупый и не он выключает освещение, просто так удобней изьяснятся.
Ну а носить с собой радиометку как-то не прикольно :)
Я рассматриваю систему для 2-х комнатной квартиры.

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

Подскажи в каких программах можно рисовать свой проект? План схему квартиры проводки и т.д.

Re: Очень интересно, но ничего непонятно!

Добавлено: 05 фев 2018, 01:10
Voviks99
Я понимаю, что датчик глупый и не он выключает освещение, просто так удобней изьяснятся.
Ну а носить с собой радиометку как-то не прикольно :)
Я рассматриваю систему для 2-х комнатной квартиры.

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

Подскажи в каких программах можно рисовать свой проект? План схему квартиры, проводки и т.д.

Re: Очень интересно, но ничего непонятно!

Добавлено: 05 фев 2018, 09:56
Ruslan
Voviks99 писал(а):
05 фев 2018, 01:10
Подскажи в каких программах можно рисовать свой проект? План схему квартиры, проводки и т.д.
https://ab-log.ru/smart-house/linux/light-control-plan
https://majordomo.smartliving.ru/forum/ ... f=4&t=2998
https://majordomo.smartliving.ru/forum/ ... f=3&t=2293

Re: Очень интересно, но ничего непонятно!

Добавлено: 10 фев 2018, 15:48
Voviks99
Большое спасибо Ruslan который начал эту тему
не понятное начинает становится чуть-чуть понятней.
Думаю многие новички на форуме ищут ответы на свои вопросы.
Ruslan продолжай то, что ты начал для новичков, очень интересно и познавательно и прошу гуру поддержать его в его начинаниях.
На мой взгляд плохо, что на форуме отсутствует как таковой FAQ для начинающих,который бы позволил многим найти ответы и не создавать не нужных тем.
Даже читая проекты других людей, например как этот
https://ab-log.ru/forum/viewtopic.php?f=1&t=1373
начинаешь осознано смотреть на многие вещи, но в этих проектах не всегда можно найти ответы на свои вопросы, поэтому и приходится подсматривать в разных местах и все это лепить в кучу.

Хотелось бы чтобы люди не только решали на форуме технические вопросы но и делились своими проектами в полном обьеме аргументируя почему они выбрали тот или другой вариант.
Любой кто задумывается о какой либо автоматизации начинает с вопросов связанных с автоматизацией освещения ИМХО(но информацию на форуме не нашел, конечно может плохо искал ;) ), а войдя во вкус пытается делать дальше.
Я на форуме человек новый,еще не все прочитал, но стараюсь :D

Спасибо за внимание.

Re: Очень интересно, но ничего непонятно!

Добавлено: 10 фев 2018, 18:53
Ruslan
Могу согласиться, что для новичков с нулевыми или минимальными техническими знаниями (как у меня) нередко возникают сложности с поиском ответов на свои вопросы. Я как и очень многие добываю необходимую информацию путем "кропотливого просеивания" профильных форумов. Конечно, очень помогают компетентные и неравнодушные люди, которые отвечают на мои иногда "глупые" вопросы, тратят на это свое время и разъясняют, как все обстоит на самом деле. Большое спасибо им за это! Ведь некоторые опытные сограждане реализуют свои проекты и решения, но "жадничают" и в лучшем случае показывают только результат без подробностей. Но не будем осуждать их за это, ведь никто нам ничем не обязан.
Рад, если мои скромные заметки тоже помогли кому-то в чем-то разобраться. Это, так сказать, "возврат долга" общественности.

Некоторые выкладывают обучающие ролики, которые мне тоже иногда помогают. Пусть "на Тарковского" они и не тянут, но польза для новичков огромная.
https://majordomo.smartliving.ru/forum/ ... f=6&t=2832
http://kb.smartliving.ru/category/video ... gn=mainbar

Есть видео и про Мегу.
https://kb.smartliving.ru/kontroller-megad-majordomo/

Re: Очень интересно, но ничего непонятно!

Добавлено: 11 фев 2018, 04:35
alexsis_76
в децентрализованных схемах невозможно реализовать какие-либо интеллектуальные алгоритмы управления
тут вы не правы,при наличии хотения можно изобрести достаточно продвинутое устройство,даже на меге.
В пример.
Недавно озадачили сделать недельный термостат,вся неделя разбита на 7 дней,каждый день разбит на несколько временных зон(пока 3),в пределах каждой зоны нужно поддерживать установленный интервал температур,все должно работать само без всяких серверов(сервер это дополнительные затраты,настройка и вообще для таких примитивных вежей нафик не нужен),в результате был изобретен девайс(правда еще сырой)который успешно справляется с этой задачей и никакой сервер ему не нужен. в роли девайса выступил ESP8266.

Re: Очень интересно, но ничего непонятно!

Добавлено: 11 фев 2018, 14:31
Voviks99
Подскажите, что лучше использовать из датчиков для организации автоматического включения света? бытует мнение что датчик движение (ДД), какие еще варианты могут быть?