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

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

  1. adamsmith

    adamsmith Нуб

    Доброй ночи! Подскажите, пожалуйста, а возможно ли вместо малины использовать orange pi? Судя по некоторым сайтам он даже помощнее будет, raspbian тоже доступен к установке. Только подешевле намного. Спасибо за ответ! Замечательная тема, большое спасибо за такой вклад. Уже никак не дождусь своих первых ардуинок и модулей, чтобы попробовать всё это.
     
  2. netmaster

    netmaster Гик

    Скорее да, чем нет. Но могут быть и проблемы. Читайте ранее комменты про ВВ.
    Сказку о попе и его работнике балде, помните? ;-)
     
  3. ИгорьК

    ИгорьК Гуру

    Теоретически - да. Практически - зависит от многих условий и Вашего уровня подготовки.
    Я, например, на другую плату - BeagleBone Black пока не смог установить Москита на восьмой Дебиан. Я не утверждаю, что сильно упирался, но с ходу - не смог.
    Ох, боюсь Вы будете огорчены. Эта тема не для первых ардуинок и модулей. Совсем не для первых. Вообще - не для первых. Предупреждаю сразу. Если интересно - можете в моем профиле посмотреть какие темы мной создавались, пережде чем я занялся этой. Я, безусловно, уважаю Ваши потенциальные желание и упорство, но не хотелось бы в этой теме видеть нечто подобное.
     
  4. adamsmith

    adamsmith Нуб

    Спасибо за ответы! Не, с миру по нитке, а про апельсин спросил на будущее, чтобы сразу всему закупиться и потихоньку начинать разбираться с азов.
    Конечно мне всё интересно, спасибо за наставление, обязательно почитаю. Уже не один день убил на просмотр всяких уроков на ютубе, а ваша тема - это то, к чему в идеале я хочу стремиться.
     
  5. Sevic71

    Sevic71 Нерд

    Ну что же, все завелось. Термостатирование делается в коде ESP, установка целевой температуры и отбражение текущего режима в openhab. В планах добавить еще возможность переназначения датчика температуры как текущей для термостата. Я планирую иметь неск. датчиков температуры с постоянной трансляцией в mqtt, каждфй датчик в отдельный топик. Далее "на лету" указываю какой из топиков ESP должен слушать - и вуаля, дело в шляпе (трехпозиционный switch item мне в помощь). Таким образом я могу выбирать любой из датчиков температуры как ведущий для термостата или слушать все, надо поэкспериментировать. Прикладная задача такая- при отоплении камином температура на однои этаже поднимется, термостат отрубает отопление, и другой этаж в это время остывает. Если я смогу сказать термостату "слушать" в это время датчик холодного этажа, все будет работать как планировалось. Ну а там и управляемый вентиль нарисуется, чтобы отсекать отопление на "теплый этаж" пока в камине топится. Сейчас руками перекрываю.
     
    ИгорьК нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Полагаю, отопитель должен слушать только один топик. А отправку в него осуществлять из двух мест - одно обычное, ручное, а второе - нечто из rules.
     
  7. alp69

    alp69 Форумчанин

    Есть ли возможность, заставить опенхаб рисовать графики, так сказать, по усредненным значениям? Чтобы они не выглядели предсмертной кардиограммой.
    Допустим значения отправляются раз в минуту, а точка в графике ставится раз в десять минут по среднему из девяти предыдущих плюс одно текущее значение.
     
  8. ИгорьК

    ИгорьК Гуру

    Это очень обширная тема. Опенхаб может сохранять данные, согласно вики, в 15 вариантах и строить по ним графики: https://github.com/openhab/openhab/wiki/Charts
    Соответственно, встаёт вопрос о настройках такого сохранения и усредненным данных.
    RRD4J, где данные сохраняются по умолчанию, усредняет их раз в минуту и эта настройка неизменная.
    Однако можно использовать ещё 14 оставшихся способа хранения и резвиться насколько хватит терпения, креатива и опыта :)
     
    alp69 нравится это.
  9. Igorvin

    Igorvin Нуб

    Всем доброго время суток

    Помогите пожалуйста с настройкой димера в OpenHab
    Я пользуюсь прошивкой http://homes-smart.ru/ PRO.
    Настоил pwm0, могу регулировать диммер через http://My_IP/pwm?ch=0&set=255

    Создал Item
    Код (Java):
    Dimmer  Dimmed_Light    "Dimmer Light [%d %%]"  <hue>    (all,gVR)     { mqtt=">[mymosquitto:/esp8266/gpio/pwm0:command:*:default]" }
    Проблема в том что максимальный параметры что получает PWM0 это от 0 до 100 а мне нужно до 255.

    Подскажите пожалуйста кода копать?
     
  10. ИгорьК

    ИгорьК Гуру

    Копать в rules. Правило перехватывает команду итема и отправляет вместо нее другую. Это в общих чертах.
    Но в зависимости от ситуации это, наверно, было бы проще сделать на модуле.
    Хотя и в правилах тоже можно.
    Полистайте тему, есть здесь вопрос управления отопителем, возможно я там делал такое. Сейчас точно не помню.
     
    Последнее редактирование: 5 мар 2016
  11. Igorvin

    Igorvin Нуб

    Вашу тему я перечитал и выражаю вам большую благодарность за подробное описание
    Но к сожалению не видел ничего что касается димера через MQTT
    Вот то что я уже наэкспериментировал но так ничего и не вышло
    Почему то любое значение больше 100 просто игнорируется

    Items
    Код (Java):

    Dimmer    Dimmed_Light    "Dimmer Light [%s %%]"    <hue>    (gVR,all)        { mqtt=">[mymosquitto:/ESP00A44894/gpio/pwm0:command:*:default]" }
    Dimmer    LED_Dimm    "LED DIMM [%d %%]"    <hue>    (all,gVR)
     
    __________________________________________________________________
    RULES
    Код (Java):

    rule "Living Room Dimmer"
        when
            Item LED_Dimm received command
        then
     
            var DecimalType hsbValue
            var Number bVal = 0
            hsbValue = LED_Dimm.state as DecimalType  
            bVal = hsbValue.intValue * 2
       postUpdate(LED_Dimm, bVal)
       logInfo("Living Room Dimmer", "Starting DimmUP Loop" + bVal)
            if(bVal<0)   bVal = 0
            if(bVal>255) bVal = 255
            sendCommand(Dimmed_Light, bVal)

    if(receivedCommand==ON)sendCommand(Dimmed_Light, new DecimalType(255))
            if(receivedCommand==OFF)sendCommand(Dimmed_Light, 0)
         
    end
     
    Я буду очень признателен если сможете показать где я ошибся
    Сам я не программист но взять код и переделать под свои нужды могу
     
  12. ИгорьК

    ИгорьК Гуру

    Загляните ко мне на сайт - там есть диммер для nooLite.
    Мне кажется я уже гдето это делал.
    Я сейчас на сотовом телефоне так что смотреть код на таком экране не получится.
     
  13. Igorvin

    Igorvin Нуб

    Большое спасибо за быстрый ответ
    Я уже был на вашем сайте и видел что вы решили эту проблему через Python script
    Не могли бы вы прислать ссылку на файл noolitedim.py.
    Я его не нашёл у вас на сайте

    Заранее спасибо
     
  14. KiVor

    KiVor Нерд

    Здравствуйте, Игорь!
    За ранее прошу извинить, если ошибся темой.
    Я совсем недавно приобщился в мир openhab. Мне он очень нравится, и уже даже сделал что-то более-менее вменяемое. Сам я не программист и не супер электро-монтер, но умею печатать и держать паяльник.
    Есть несколько температурных датчиков и бошевский измерения давления. В openhab я смог загрузить данные с них через arduino по mqtt, но хотелось бы больше. Есть проблема, я ни как не могу сделать любой хоть какой-нибудь график, как к примеру в одном из ваших самых первых постов. Самый обыкновенный график показания измерения температуры. У вас даже отображается график в habmin. У меня его и там нет. Ни как не могу разобраться в этом. Не могли бы вы помочь мне с этим? Может я банально забыл о какой-то мелочи?
    Я пробовал много чего, обычно у меня получалось просто пустые оси с какими-то рандомными делениями без каких либо графиков.
    Я даже пробовал сделать отображение максимальной и минимальной температуры. Делал все по инструкции:
    https://github.com/openhab/openhab/...d-maximum-values-of-an-item-in-a-given-period
    но тоже ничего не вышло. Обе графы показывают текущее значение и все, хоть ты тресни.
    Последняя надежда на вас!))
     
  15. ИгорьК

    ИгорьК Гуру

    С минимальными и максимальными значениями я тоже не разобрался, но не слишком упирался, потому что есть графики.
    Теперь о графиках. Чтобы Вам можно было помочь, рассказывайте последовательно как Вы их пытаетесь получить.
     
  16. ИгорьК

    ИгорьК Гуру

    http://igorkandaurov.com/2015/10/23/noolite-диммирование-из-openhab/
    Шаблон - rule "change nooLite brightness"
    Вам не нужен скрипт.
    Разберитесь внимательно как из слайдера извлекается значение и трансформируется в новое. У меня это значение дальше уходит в скрипт. Вам же этого не надо. Отправляйте это значение во второй итем, который через mqtt связан с вашим устройством.
    Вам нужно повторить практически один к одному моё решение, со следующими изменениями:
    1. Number NooCommander01 отправляет команду через mqtt, а не вызывает скрипт Python.
    2. Вспомните арифметику и упростите пересчёт команды. По сути, команду с диммира надо умножить на 2.55.
    Это все.
     
    Последнее редактирование: 8 мар 2016
  17. KiVor

    KiVor Нерд

    Ну изначально я полагал, что достаточно в habmin перетащить график, привязать к item и там все будет понятно и должно уже работать. На деле оказалось не так)
    Давайте просто по порядку что мне нужно сделать (просто я на праздниках у родителей и нет доступа к плате).
    Я сегодня почитал на досуге, и понял что мне нужен db4o. Ведь должна же быть какая-то бд для хранения показаний? У меня ее похоже нет. Дальше мне нужно будет ее настроить на сохранение параметров нужных мне item'ов как здесь https://github.com/openhab/openhab/wiki/Persistence
    А дальше я пока не понял...
     
  18. ИгорьК

    ИгорьК Гуру

    А дальше все: настроите - будет работать:)
    Надо лишь учитывать, что по умолчанию основная база, из которой строятся графики, - RRD4J
     
  19. KiVor

    KiVor Нерд

    Кажется там есть такой binding. Видимо попробую лучше с ним, я думаю они не особо отличаются друг от друга...
    Спасибо! В среду начну пробовать. Ещё вернусь)
     
  20. ИгорьК

    ИгорьК Гуру