1 2 3 4 5 6 7 8 9 10 9.5/10 9,74оценок: 35

Автоматизация инженерных систем в доме или как я обучал Дом уму-разуму

Тема в разделе "Умный дом", создана пользователем Smith2007, 09.01.15.

  1. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Печально.
    На сколько я помню, прошивка OpenWRT имеет наработки в части бесшовного роуминга но только для ограниченных чипсетов. Учитывая, что сама идея очень даже хороша то странно, что фирма решила отказаться от этого.
     
  2. asakharov
    Регистрация:
    03.10.13
    Сообщения:
    2.250
    Благодарности:
    939

    asakharov

    Живу здесь

    asakharov

    Живу здесь

    Регистрация:
    03.10.13
    Сообщения:
    2.250
    Благодарности:
    939
    Адрес:
    Москва
    В целом все логично. Производитель предполагает, что его продукцию будут использовать в нижнем, дешевом сегменте. Для этого сегмента устройства должны быть простыми и легкими в установки, потому как устанавливать их скорее всего будут специалисты низкой квалификации.
    Задача роуминга достаточно сложна как в реализации со стороны производителя, так и со стороны проектировщика системы беспроводного доступа. То есть потенциальных проблем больше, чем удовольствия. И практика показывает, что производитель прав. Дистрибьютор не успевает завозить на склад точки доступа из новой линейки, их раскупают как горячие пирожки. Мы свой заказ месяц ждали.
     
  3. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Несколько часов свободного времени нашлось, решил почитать чего новенького в OpenHAB произошло с момента внедрения его в системы дома.
    Обнаружил одну интересную деталь. Появилась возможность отправлять емейл с приаттаченными файлами.

    Mail Actions
    This add-on provides SMTP services. Please check openhab_default.cfg for required configuration settings. The to paremeter can contain a semicolon separated list of email addresses.

    • sendMail (String to, String subject, String message): Sends an email via SMTP.
    • sendMail (String to, String subject, String message, String attachmentUrl): Sends an email with attachment via SMTP.
    • sendMail (String to, String subject, String message, List<String> attachmentUrlList): Sends an email with one or more attachments via SMTP (available as of openHAB 1.8).
    sendMail("you@email.net", "Test", "This is the message.", attachmentUrlList)

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

    Ниже привожу пример программы, которая при срабатывании сигнализации формирует снапшоты со всех камер видеонаблюдения (используется внешний скрипт в котором формируется запрос на снапшоты к AVREG), отправляет полученные снапшоты на указанный емейл. Кроме того посредством php запроса инициируется голосовое оповещение о событии на все внутренние SIP телефоны (запрос на обслуживание к серверу FreePBX/Asterisk)
    Голосовое сообщение синтезируется сервисом Яндекс.

    Код:
    rule "Protect" when
    Item PCode_0 changed from CLOSED to OPEN or
    Item PCode_1 changed from CLOSED to OPEN or
    Item PCode_2 changed from CLOSED to OPEN or
    Item PCode_3 changed from CLOSED to OPEN or
    Item PCode_4 changed from CLOSED to OPEN or
    Item PCode_5 changed from CLOSED to OPEN or
    Item PCode_6 changed from CLOSED to OPEN or
    Item PCode_7 changed from CLOSED to OPEN or
    Item PCode_8 changed from CLOSED to OPEN or
    Item PCode_9 changed from CLOSED to OPEN or
    Item PCode_10 changed from CLOSED to OPEN or
    Item PCode_11 changed from CLOSED to OPEN or
    Item PCode_12 changed from CLOSED to OPEN or
    Item PCode_13 changed from CLOSED to OPEN or
    Item Test_Protect changed from OFF to ON
    then
    Test_Protect.sendCommand(OFF)
    Test_Protect.postUpdate(OFF)
    var String SpeechTxt = "Вним%2bание! Обнар%2bужено наруш%2bение пер%2bиметра безоп%2bасности!"
    var String Subject = "SH2: Protect!"
    var String Message = ""
    var int year = now.getYear
    var int month  = now.getMonthOfYear
    var int day    = now.getDayOfMonth
    var int hour   = now.getHourOfDay
    var int minute = now.getMinuteOfHour
    logInfo("Protect", "year=" + year + " month=" + month + " day=" + day + " hour=" + hour + " minute=" + minute)
    val String mask = "img_" + year + "-" + month + "-" + day + "_" + hour + "." + minute
    logInfo("Protect", "mask=" + mask)
    val List<String> attachmentUrlList = newArrayList(
      "file:///tmp/snapshot/"+mask+"_cam1.jpg",
      "file:///tmp/snapshot/"+mask+"_cam2.jpg",
      "file:///tmp/snapshot/"+mask+"_cam3.jpg",
      "file:///tmp/snapshot/"+mask+"_cam4.jpg")
    logInfo("Protect", "List=" + attachmentUrlList)
    
    if (PCode_0.state == OPEN) {Message = Message + "Обнаружено движение в гараже! " }
    if (PCode_1.state == OPEN) {Message = Message + "Обнаружено движение в Мастерской! " }
    if (PCode_2.state == OPEN) {Message = Message + "Обнаружено движение в котельной! " }
    if (PCode_3.state == OPEN) {Message = Message + "Обнаружено движение в ванной 0 этажа! " }
    if (PCode_4.state == OPEN) {Message = Message + "Обнаружено движение в фойе 2 этажа! " }
    if (PCode_5.state == OPEN) {Message = Message + "Обнаружено движение в прихожей! " }
    if (PCode_6.state == OPEN) {Message = Message + "Обнаружено движение в ванной 1 этажа! " }
    if (PCode_7.state == OPEN) {Message = Message + "Разбито стекло в гараже! " }
    if (PCode_8.state == OPEN) {Message = Message + "Разбито стекло в мастерской! " }
    if (PCode_9.state == OPEN) {Message = Message + "Разбито стекло в котельной! " }
    if (PCode_10.state == OPEN) {Message = Message + "Разбито стекло в ванной 0 этажа! " }
    if (PCode_11.state == OPEN) {Message = Message + "Разбито стекло в ванной 1 этажа! " }
    if (PCode_12.state == OPEN) {Message = Message + "Секционные ворота открыты! " }
    if (PCode_13.state == OPEN) {Message = Message + "Калитка секционных ворот открыта! " }
    if (Test_Protect.state == ON) {Message = "Тестирование системы безопасности " }
    
    // Голосовое оповещение события
    sendHttpGetRequest("http://192.168.1.5/intercom.php")
    
    // Формируем снапшоты с камер видеонаблюдения AVREG
    var String snapshot = "/etc/openhab/cmd/snapshot_dvr.sh@@" + mask
    executeCommandLine(snapshot)
    Thread::sleep(3000)
    // logInfo("Protect", "mask= " mask )
    // формируем сообщение
    sendMail(EMail, Subject, Message, attachmentUrlList )
    end
    Прежний скрипт на bash, что формировал голосовое сообщение на FreePBX заменен на php скрипт.
    openhab. php
    Код:
    <?php
    
    # --- define globals ---
    $strhost = "192.168.1.11";
    $strport = "5038";
    $timeout = "10";
    $num=$_REQUEST['num'];
    $cid=$_REQUEST['cid'];
    $c=$_REQUEST['c'];
    $p=$_REQUEST['p'];
    
    $errno=0 ;
    $errstr=0 ;
    
    $sconn = fsockopen ($strhost, $strport, $$errno, $$errstr, $timeout) or die("Connection to $strhost:$strport failed");
    
    if (!$sconn) { echo "$errstr ($errno)<br>\n"; }
    
      else {
    
      fputs ($sconn, "Action: login\r\n");
      fputs ($sconn, "Username: user_ami\r\n");
      fputs ($sconn, "Secret: password_ami\r\n");
      fputs ($sconn, "Events: off\r\n\r\n");
      usleep(500);
    
      fputs ($sconn, "Action: Originate\r\n");
      fputs ($sconn, "Channel: Local/590@from-internal\r\n");
      fputs ($sconn, "Callerid: OpenHAB\r\n");
      fputs ($sconn, "Timeout: 15000\r\n");
      fputs ($sconn, "Context: pa-custom\r\n");
      fputs ($sconn, "Exten: 577\r\n");
      fputs ($sconn, "Priority: 1\r\n\r\n");
      fputs ($sconn, "Async: yes\r\n\r\n" );
      fputs ($sconn, "Variable: var1=speech\r\n\r\n" );
      fputs ($sconn, "Action: Logoff\r\n\r\n");
      usleep (500);
    
      fclose ($sconn);
    
      }
    
    ?>
     
    Последнее редактирование: 07.10.16
  4. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Когда монтировали электрическую проводку в доме я не предусмотрел внешнее управление освещением. Т. е. осветительная проводка сделана традиционным образом.
    Теперь появилась необходимость внешнего управления.
    Для чего...
    При обнаружении несанкционированного проникновения в дом, включить освещение, мигалки, пищалки и подать сигнал на пульт ОВО.
    Но как обеспечить внешнее управление освещением пока не пойму.
    Что требуется:
    1. Сохранение ручным управлением освещения. При отказе автоматики должно быть просто перевести освещение к традиционной схеме.
    2. Минимум вмешательства в проводку (штробить стены и укладывать новые провода не буду)
    3. Отказоустойчивость системы
    4. Бюджет до 5 т. р. за один канал.

    Подскажите в какую сторону копать?
     
  5. lingvo
    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458

    lingvo

    Живу здесь

    lingvo

    Живу здесь

    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458
    Если не извращаться, то это значит беспроводка, а из беспроводки - Z-Wave. Там как раз в релюшках для встроенной установки есть входы для локального управления, что можно и локально и удаленно управлять. Но дополнительно надо будет контроллер - OpenHAB подойдет, плюс Z-Wave стик - это еще 100$.
     
  6. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    3 этажа, между которыми железобетонные плиты перекрытия. Боюсь в такой схеме не один стик понадобиться.
    Существуют же передатчики ethernet по силовой сети. Может на этой технологии есть какие-то релюшки в подрозетник?
    В принципе я могу блоки управления разместить под фальшпотолком. Там места достаточно.
     
  7. lingvo
    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458

    lingvo

    Живу здесь

    lingvo

    Живу здесь

    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458
    Релюшек не видел, но у меня стоят такие штуки на домашнюю сеть. Через три этажа? Не думаю, что пробьют, особенно если электрика на разных автоматах или фазах висит.
    По Z-Wave все не так уж плохо, как все говорят - я ихний момент с MESH топологией только пару недель назад раскусил и наконец распробовал. Т. е там каждая релюшка дейсвительно ретранслирует сигнал и таких ретрансляторов может быть до 4шт между контроллером и конечным узлом. Если учитывать что расстояние прямой передачи в доме может быть до 10-15м, то получается приличная дальность и покрытие. Так что сами считайте и продумайте про логичное размещение - перекрытия не обязательно пробивать, если их просто можно обойти, например, по лестнице.
     
  8. Евгений Г
    Регистрация:
    17.08.13
    Сообщения:
    843
    Благодарности:
    246

    Евгений Г

    Живу здесь

    Евгений Г

    Живу здесь

    Регистрация:
    17.08.13
    Сообщения:
    843
    Благодарности:
    246
    Адрес:
    Москва
    Noolite
     
  9. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    433 МГц сильно перегруженный диапазон. Смущает это.
    Зато в доме хорошее покрытие WiFi.
    Думаю это будет удобнее. Главное найти выключатели, которые будут смонтированы на место обычных.
     
  10. Евгений Г
    Регистрация:
    17.08.13
    Сообщения:
    843
    Благодарности:
    246

    Евгений Г

    Живу здесь

    Евгений Г

    Живу здесь

    Регистрация:
    17.08.13
    Сообщения:
    843
    Благодарности:
    246
    Адрес:
    Москва
    Если есть питание рядом с выключателем, то посмотрите в сторону esp8266. Не являюсь специалистом в распределении частот и загруженности каналов, и при этом сомневаюсь, что 433 более загружен чем wifi.
    Noolite вроде гарантируют бесперебойную работу до 50 устройств.
    Для дома этого более чем достаточно.
    С wifi мороки много. А тут коробочное решение. Ценник очень гуманный. Раньше думал, что дорого. А сейчас сделал несколько контроллеров на esp8266 и понял, что реле в связке с выключателем за 2500р очень даже приемлемая цена! Почти халява.
     
  11. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Нет конечно питания. Есть обычный выключатель. К нему 2 или 3 провода в зависимости от комнаты (в некоторых 2 группы освещения). Нужно научить девайс снимать питание с имеющегося канала. Если 3-5 В упадет, на светильнике это не сильно отразиться, а для блока управления должно хватить.
    wifi имеет хорошую пропускную способность. Да и можно в отдельную подсеть вывести с гарантированным каналом. Мне такой вариант кажется довольно гибким.
     
  12. __AK__
    Регистрация:
    19.10.15
    Сообщения:
    951
    Благодарности:
    407

    __AK__

    сноб

    __AK__

    сноб

    Регистрация:
    19.10.15
    Сообщения:
    951
    Благодарности:
    407
    Mожно в светильник поставить реле Х-10, а управлять им по сетевым проводам от Ардуино
     
  13. __AK__
    Регистрация:
    19.10.15
    Сообщения:
    951
    Благодарности:
    407

    __AK__

    сноб

    __AK__

    сноб

    Регистрация:
    19.10.15
    Сообщения:
    951
    Благодарности:
    407
    "Загруженность" - весьма размытое понятие. В реальной жизни диапазон можно назвать "загруженным", если связь неустойчивая, то работает - то нет. А это зависит не только и не столько от диапазона, сколько от расстояния между устройствами. Причем, надо смотреть как на расстояние между вашими собственными устройствами, так и на расстояние до ближайших источников помех. Какая вам разница, насколко загружен тот или иной диапазон в ста километрах от вас? Никакой.

    Самый плохой вариант - когда в выбранном диапазоне неподалеку от вас работает много устройстств, причем их пердатчики мощнее, чем ваш. Например, это случается при использовании дешевых приемопередатчиков nRF24L01 на 2.4 ГГц. Их выxодная мощность ограничена, а рядом в этом же диапазоне работают популярные и намого более мощные WiFi и Bluetooth.

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

    Однако беда даже не в том, что рядом есть мощный источник. Беда когда он неожиданно появился, и ранее работавшая связь вдруг загнулась. Чтобы как-то обезопаситься от этого, при планировании радиолинка в доме лучше заложиться на расстояния между устройствами в несколько раз меньше, чем написано в рекламных проспектах. Если сигнал от своего устройства сильный, то чужому устройству будет трудно его перебить.
     
  14. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    @_AK_, я согласен с Вами, что не все так однозначно.
    Я же исхожу из того, что покрытие WiFi у меня уже имеется. Т. е. зачем мне еще один элемент вносить если можно использовать существующий ресурс. При чем этот ресурс в доме как раз не особо нагружен. А если выделить для подсети жестко полосу пропускания (скажем 128 кбод) то вопрос о доступности ресурса будет практически решен.
    В диапазоне 433 у меня уже работают какие-то бесконтактные датчики и радипульты от ворот и кнопки тревожки. Просто с учетом довольно большого кол-ва предполагаемых управляемых выключателей - меня это немного смущает. В данном случае при адресной идентификации (WiFi) прощще организовать устойчивую работу.
     
  15. Евгений Г
    Регистрация:
    17.08.13
    Сообщения:
    843
    Благодарности:
    246

    Евгений Г

    Живу здесь

    Евгений Г

    Живу здесь

    Регистрация:
    17.08.13
    Сообщения:
    843
    Благодарности:
    246
    Адрес:
    Москва
    Тогда esp8266...