Свежие комментарии
    Благодарности: денежное общество и мойка авто

    Умный дом. Трёшка. часть 2. Управление контурами отопления.

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

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

    Сразу хочу отметить, что использование в системе отопления теплого пола позволяет снизить затраты на отопление на 10-15 процентов по сравнению с батарейным отоплением, при управлении отоплением количество времени когда клапаны были закрыты составило примерно 40%, при этом топлива за зиму когда работали клапана истрачено на 25% меньше (3 тонны пеллет вместо 4-х) по сравнению с тем, когда клапана не работали. (в первую зиму клапана не работали из-за отсутствия платы реле).

    Сначала необходимо сделать контуры отопления отдельно на каждое помещение для того, чтобы регулировать отопление в каждом помещении. Установить на гребенке клапана и на клапана термические сервопривода на 220 вольт. Вот такие как показано на фото из одного моего проекта.

    Настраиваем мониторинг температуры в помещениях.

    В первую очередь необходимо настроить мониторинг температуры, для этого в помещения необходимо установить датчик температуры чтобы он отправлял данные о температуре на сервер MajorDoMo (далее по тексту МД), реализовать эту задачу можно разными способами, в первых проектах я использовал адаптер DS9490R, в помещениях установлены телефонные розетки которые соеденены паралельно и в которые устанавливаются датчики температуры обжатые следующим образом

    Это пожалуй самый простой вариант и быстрый в монтаже и на мой взгляд правильный, но сейчас стоимость за адаптер DS9490R подвалила к 4000 рублей. По такой же схеме подключить в качестве адаптера ESP8266 не получилось, при длинне провода больше 2-3 метров датчики не видились. Ардуино UNO в этой схеме ещё предстоит попробывать, жду Ethernet шилд с Али.

    Не важно как будет температура попадать с систему MajorDoMo, главное чтобы она была в каком нибудь свойстве какого нибудь объекта, я рекомендую добавить температурные датчики в качестве свойства к объекту ThisComputer, поскльку у меня три помещения, то и свойства температуры будет 3: temp1, temp2, temp3, добавляем эти свойства в Объекты — Объект: ThisComputer, вкладка Свойства

    Как привязать свойства датчика к этому свойству можно найти на официальном сайте МД, например связать датчик температуры ds18b20 к этому свойству необходимо войти в меню Устройства — ESP8266 (Wifi-IoT), выбрать там устройство к которому подключен датчик температуры, нажать кнопку «Редактировать», выбрать вкладку Данные, и напротив датчика температуры установить связанный объект ThisComputer связанное свойство temp1

    Теперь мониторинг температуры у нас натроен.

    Настройка выключателей клапанов.

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

    В принципе в дефолтной системе уже есть один выключатель, заходим в меню Объекты, класс Relays объект Switch, для добавления выключателей просто клонируем данный выключатель. Если нет выключателя, то добавьте класс Relays

    У класса Relays должны быть (синим добавленные свойства и методы, их нет в дефолтной настройке МД):

    свойства класса Relays: status и esp_status

    методы класса Relays: refresh switch turnOff turnOn esp_switch

    метод код
    turnOn $this->setProperty(«status»,1);
    turnOf $this->setProperty(«status»,0);
    switch $status=$this->getProperty(«status»);
    if ($status) {
    $this->callMethod(‘turnOff’);
    } else {
    $this->callMethod(‘turnOn’);
    }
    refresh $status=$this->getProperty(«status»);
    if ($status) {
    $this->callMethod(‘turnOn’);
    } else {
    $this->callMethod(‘turnOff’);
    }
    esp_switch $status2=$this->getProperty(«esp_status»);
    $status=$this->getProperty(«status»);
    if ($status2) {
    if ($status) {
    $this->callMethod(‘turnOff’);
    } else {
    $this->callMethod(‘turnOn’);
    }
    }

    Добавляем наш выключатель, назовем его Switch1, Switch2 и т.д.

    Далее можно включение сделать двумя способами, либо в одном сценарии, либо в методах turnOff turnOn каждого объекта Switch*, у меня сделано в методах каждого объекта, но скорее всего я переделаю в отдельном сценарии.

    Вариант 1. Включение/выключение в методах объекта.

    заходим в методы объекта Switch1

    у меня методы turnOff и turnOn отличаются от аналогичных методов класса по этому напротив этих метолов стоит красная звездочка (символ астериск)

    Нажимаем кнопку «Настроить» напротив методоd turnOff и turnOn и пишем код для этих методов. в таблице коды методов для управления разными силовыми блоками.

    Силовой блок turnOff  turnOn примечание

    На базе ESP8266 с прошивкой wifi-iot

    getURL («http://192.168.1.21/gpio&st=0&pin=13»,0); getURL («http://192.168.1.21/gpio&st=1&pin=13»,0); включение/выключене GPIO13 ESP8266
    iMatic exec («python /var/www/imatic.py 16 0»); exec («python /var/www/imatic.py 16 1»); включение/выключене GPIO16 iMatic, скрипт и настройка iMatic тут.

    Вариант 2. Включение/выключение в сценарии.

    создадим сценарий, например с названием scene_switch

    методы класса Relays turnOff turnOn приведем к следующему виду.

    метод код
    turnOn

    $this->setProperty(«status»,1);

    callMethod(‘scene_switch’);

    turnOf

    $this->setProperty(«status»,0);

    callMethod(‘scene_switch’);

    теперь все включения/выключения делаем в этом сценарии, пишем код в сценарииscene_switch.

    теперь для добавления необходимо просто добавить объект Switch и дописать код путем копирования/вставки в скрипт scene_switch.

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

    Настройка регулировок.

    Теперь нам надо настроить установку температуры в помещениях и температуру в режиме экономии. Добавим в объект ThisComputer свойства temp1u, temp2u, temp3u и temp_econom это будут установки температуры для 1,2 и 3 помещения и для температуры в режиме экономии соответственно.Далее в меню управления добавим раздел Настройки, тип select

    Добавим дочерний пункт кнопкой «Добавить»

    Пишем название помещения и тип: слайдер

    связываем с объектом ThisComputer и со свойством temp1u, устанавливаем максимальное и минимальное значение и шаг

    точно так же делаем и для других двух помещений и для температуры в режиме экономии. В итоге мы получим вот такое меню

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

    Настройка автоматического управления контурами отопления.

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

    В следующей таблице соответствия реле и температуры помещениям

    Помещение реле датчик температуры установка температуры
    детская Switch13 ThisComputer.temp1 ThisComputer.temp1u
    зал Switch14 ThisComputer.temp2 ThisComputer.temp2u
    спальня Switch15 ThisComputer.temp3 ThisComputer.temp3u

    В сценариях создадим сценарий Econom

     

    Теперь осталось запуск сценария прописать в метод onNewMinute объекта ClockChime в конец добавляем:

    На этом настройка закончена, осталось подключить клапана к соответствующим реле.

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

    Опубликовать в Facebook
    Опубликовать в Google Buzz
    Опубликовать в Google Plus
    Опубликовать в LiveJournal
    Опубликовать в Мой Мир
    Опубликовать в Одноклассники
    Опубликовать в Яндекс

    Комментарии закрыты.