Arduino, ESP8266 Lua, Raspberry Pi 2 && OpenHab. Умный дом: азы управления.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 12 май 2015.

  1. evgeny_

    evgeny_ Нерд

    Мне кажется, репутация у OH2 плохая сложилась, слишком долго он остается сырым, судя по отзывам в инете. Да, картинки красивые интерфейса можно делать, но если не с лампочками играться, а заниматься отоплением, охранной сигнализацией, то важна в первую очередь надежность, а не картинка. Пока OH1 меня очень радует в плане надежности и стабильности. И конечно инфы в инете по нему несравнимо больше, чем по OH2. Ну а эта ветка номер 1 у меня по кол-ву времени, проведенному за изучением OH и я очень благодарен лично вам и остальным участникам за столь полезный ресурс.
     
  2. evgeny_

    evgeny_ Нерд

    Скриншотики моего проекта:

    4.jpg 5.jpg 6.jpg 7.jpg
     
    Smerlin, ip-ua, alp69 и ещё 1-му нравится это.
  3. ИгорьК

    ИгорьК Гуру

  4. evgeny_

    evgeny_ Нерд

    Спасибо. Увлажнение сейчас организовано в трех местах. На первом этаже большие площади, около 170м, ещё лестница открытая на 2-3 этажи. На али куплен вот такой ультразвуковой испаритель
    2.jpg
    Размещен в симпатичном герметичном контейнере из Икеа, к нему приделана вентиляционная труба. Вентилятор компьютерный. Кушает система около 3л воды в час. Накормить вручную систему сложно, поэтому подключена к водопроводу через поплавковый клапан через обратный осмос, чтобы не было налета на мебели и после осмоса нет тумана в воздухе. Взаимодействие простое, как с отоплением, только OH1 отслеживает влажность на терморегуляторе Homematic и включает-выключает реле по задаваемому уровню влажности с гистерезисом 5%.
    В зимнем саду стоит так называемая климатическая установка. Выбиралась специально самая простая с механическим управлением:
    sl_2000_1.jpg
    Подключена к накопительной декоративной емкости для полива емкостью 300л. Запаса воды для увлажнителя хватает в зависимости от температуры на улице на 7-10 дней. Потом через шланг заливается (к сожалению водопровода нет в зимнем саду). В емкость вмонтированы датчики уровня воды мин и макс и подключены к ESP. На телеграмм OH отсылает сообщение, когда вода в емкости заканчивается.
    3.jpg
    И в спальне установлен так называемый мобильный кондиционер, купленный недорого на авито. Там подобных полно продают.
    4.jpg
    Вся электронная часть отключена, подключен напрямую к реле вкл-выкл, вмонтирован датчик уровня воды. Включается только днем, когда никого нет, он шумный. Запаса воды хватает на 5-8 дней.
     
    Последнее редактирование: 24 фев 2017
    ip-ua и ИгорьК нравится это.
  5. evgeny_

    evgeny_ Нерд

    Такой вопросик, не могу разобраться, как сделать чтобы состояние увлажнителя было не только включен-выключен, но еще было и состояние "пауза", когда свитч "Увлажнение вкл-выкл" активен, но увлажнитель просто на паузе, так как достигнута задаваемая влажность и OH ждет понижения влажности, чтобы заново включить увлажнитель.
     
  6. ИгорьК

    ИгорьК Гуру

    Делайте два выключателя и связывайте их простой логикой: если главный выключатель включен (прибор включен) идет анализ влажности и включение/выключение (второй, информационных выключатель) увлажнителя. Если главный выключен - все выключено.
    tmp_1686-Studio_20170224_132221-196107390.png
    Здесь "Вентилятор" - производное от второго, скрытого выключателя. Режим - общий выключатель.
    Кстати, "Принудительно" - ещё "главнее" выключатель. Он запускает исполнительное устройство мимо датчиков и своей логики, но ограничен в работе на программном уровне железа. Например погреб нельзя охладить ниже 1 градуса никаким образом. А нагреть выше 15. Это сделано как защита от кулхацкеров и себя самого когда "забыл" :).
     
    Последнее редактирование: 24 фев 2017
  7. evgeny_

    evgeny_ Нерд

    Семен Семеныч, ну конечно! Скрываю свой выключатель "состояние увлажнителя", делаю логику, которая отслеживает свитч "Увлажнитель вкл-выкл" и скрытый выключатель "состояние увлажнителя" и логика на третий непривязанный к устройству выключатель выводит три состояния.
     
    ИгорьК нравится это.
  8. ИгорьК

    ИгорьК Гуру

    У меня вся логика работает на уровне железа, а не ОН. Поэтому, ИМХО, лучше один выключатель устройства от ОН, и отображение состояния от самого устройства. То есть, стараюсь в каждом случае чтобы ОН не рулил ничем сам, а только менял режимы и отражал обстановку. Единственное исключение - свет на участке в автоматическом режиме.
     
    glory24 нравится это.
  9. ИгорьК

    ИгорьК Гуру

    Следуя этой логике, например, если я выключу систему в погребе, но температура упадёт ниже +1 градуса, система включит обогрев не смотря на ОН.
    И в данном случае, режимы "Принудительно" - это тоже "железные" режимы, а не логика ОН.
     
  10. evgeny_

    evgeny_ Нерд

    Мне моих знаний не хватает делать логику на уровне устройств. Программирование ESP и arduino не пошло, несколько раз пробовал. Поэтому на ESP использую готовую прошивку wifi-iot. Программирование на OH мне кажется проще и визуально удобнее. И более похоже на программирование в msaccess, с которым долго знаком. Отопление у меня практически везде на Homematic, там устройства работают и при полном падении сети, а OH поднят на wmware, регулярно резервируется на два synology, локальный и удаленный, и есть второй комп в спящем режиме.
    Вы тут несколько страниц назад писали про перезагрузку роутера. А что за роутер? Я использую микротики в разных местах дома и на работе,около 40 шт, очень стабильные устройства. И имеют встроенные средства отслеживания состояния и сами могут перегружаться, что впрочем не происходило за два года использования в таком режиме.
    Ну и возможности программирования у микротиков очень большие. Делал тут отслеживание пинга опенхабом устройств, так OH никак не хотел видеть CCU Homematic для расширения покрытия. В них нет вебинтерфейса, они вообще никак не настраиваются и сканер не находит открытых портов, OH их не видит по пингу, хотя с компа нормально пингуются. Повесил отслеживание пинга на микротик, добавил ip на микротике и микротик уже разрешает или запрещает доступ к этим ip в зависимости от доступности ip CCU. OH отслеживает добавленные Ip микротика. Костыль конечно, но пока не нашел решения, как сделать чтобы OH видел эти устройства.
     
  11. ИгорьК

    ИгорьК Гуру

    Основные падения происходят у меня на даче, где работает пара Asus RT-AC53 и zyxel LTE6100. Последний сам по себе глючный, а если пропадает сеть - то переподключается через раз. Дом находится за пределами декларируемого приема 4G, падения происходят пару раз в неделю обязательно.
    Железяка ловит источник падения (Wi-Fi или отсутствие ping) и начинает перегружать эту пару жестоким отключением питания.
    Попробовать сделать какой-нибудь bash скрипт и запускать его через exec binding.
     
  12. evgeny_

    evgeny_ Нерд

    До микротика использовал Asusы серии RT-AC, были с ними проблемы в доме. Если один в локалке, то устройства apple нормально работают, а у меня на дом их штук 8 стояло. И устройства apple переставали выходить в инет периодически до перезагрузки асусов. Так проблему и не решил, стал искать замену. Выбрал микротик. Потестил, чуть разобрался, впечатлился возможностями, асусы были проданы за 2 дня на авито за полцены и без доплаты куплены микротики. Подключены по PoE, а на выход POE подключены базовые станции SIP-DECT и CCU Homematic через преобразователи напряжения.
    У нас есть проблемы с электроснабжением, в год несколько раз пропадает, бывает и на несколько дней. Стоит мощный UPS с аккумуляторами 6х100А. Чередуется работа генератора и USP при длительных отключениях электричества.

    zyxel LTE6100 тоже использовал и лежит где-то. Дорогой и такой глючный оказался :(

    bash скрипт, я так понимаю, надо писать и класть в debian(OH на нем установлен) и уже из openhab его вызывать?
     
  13. ИгорьК

    ИгорьК Гуру

    Ну да. Но посоветовать что-то конкретнее вряд-ли смогу. Только как направление поиска.
     
  14. evgeny_

    evgeny_ Нерд

    Ок, спасибо, погуглю.
     
  15. SportMaster

    SportMaster Нерд

    evgeny_, можно ссылку на увлажнитель.
    Судя по площади - достаточно мощный, да и Вами проверенный.
     
  16. evgeny_

    evgeny_ Нерд

    Покупал у этого продавца
    https://ru.aliexpress.com/store/pro...32703853921.html?spm=2114.12010608.0.0.RvGDLG
    Только именно этот не берите с входящим в заказ блоком питания. Это я сглупил. Блок питания очень шумный, да и в Москве на бп нормальные цены. Взял бп без вентилятора, влагозащищенный.

    Я еще раньше брал на 5 испарителей подобный, он не очень справлялся, чуть мороз -5-10 и больше 30% не набиралась влажность.

    У меня еще есть 4 Boneco с заявленными характеристиками испарения 0.7л. Эти вообще все вместе не справлялись, если только на улице +5, ну тогда набирали 30% очень долго.

    Забавная особенность. Если воду без осмоса использовать, практически напрямую из скважины, только фильтры предочистки стоят, туман из всех испарителей наверное в два раза визуально сильнее дымит. Хотя вода у нас чистая. И при влажности за 40% воздух становится непрозрачным, такое ощущение, что хорошо покурили в комнате. С осмосом при любой влажности воздух прозрачный, как обычно.
    Производительность не сравнивал на обычной воде с водой после осмоса.
     
    ip-ua нравится это.
  17. ip-ua

    ip-ua Нерд

    Evgeny, а можно ваши иконки нам получить - постоянно уходит куча времени на поиск хороших иконок.
    Спасибо!
     
  18. evgeny_

    evgeny_ Нерд

    Приложил архив со всеми иконками из папки images. Вообще иконки очень легко находятся на тех же яндекс картинках. Вводите к примеру "иконка напряжение", вываливается куча иконок. На первой, максимум второй странице результата поиска я всегда находил подходящую. И потом во встроенном в win редакторе Paint обрезаете при необходимости и изменить размер до 32 пикселов. И сохранить как PNG.
     

    Вложения:

    • images.zip
      Размер файла:
      1,6 МБ
      Просмотров:
      310
    ip-ua нравится это.
  19. ИгорьК

    ИгорьК Гуру

    50. Кольцевой фильтр.
    Назвать buffm.lua:
    Код (Lua):
    local M={}
    M.av = 0
    M.buf = {}
    M.bufs = 10
    M.ind = 1
    M.fil = false
    function M.bufsize(size)
        M.bufs = size or 10
    end

    function M.add(dat)
        if not M.fil then
            for i = 1, M.bufs do
                M.buf[i] = dat
            end
            M.fil = true
        end
        M.buf[M.ind] = dat
        M.ind = M.ind + 1
        if M.ind > M.bufs then M.ind = 1 end
        local sum = 0
        for ii = 1, M.bufs do
            sum = sum + M.buf[ii]
        end
        M.av = sum/M.bufs
        -- print("Average: "..M.av)
        return M.av
    end
    return M
    Буфер усредняет последние size значений. Применять там, где датчики усиленно болтает: порывистый ветер, значение влажности во всяких говеных DHT-11, 22, нормальные датчики влажности, когда влажность болеет 90%.
    Применять так:
    Код (Lua):
    do
    aver = require("buffm")
    size = 20 -- размер буфера. Эта и ниже строки не обязательны
    aver.bufsize(size) -- установить размер буфера, не обязательно. 10 по умолчанию
    tmr.alarm(0, 3000, 1, function()
      local data = math.random(10) -- Добыли данные
      print("Got now = "..data)
      local av = aver.add(data) -- отправить данные а обратно получить среднее значение
      print("Filtered now = "..av)
    end)
    end
    Работает:
    cicle.jpg

    А также см. пример.

    А также для нескольких потоков.
     
    Последнее редактирование: 1 мар 2017
    SergeiL нравится это.
  20. alp69

    alp69 Форумчанин

    Можно в двух словах о практическом применении? Он непрерывно усредняет скормленные данные? Прошу прощения за дилетантский вопрос.

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