Делаем «умный» контроллер для кондиционера на ESP8266

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

    Задача


    В квартире стоят четыре кондиционера, ими нужно научиться управлять:

    • Из веб-интерфейса (у меня это Home Assistant, крутящийся на отдельном Raspberry Pi, но в идеале хочется простого подключения к любой системе);
    • Голосом (Google Assistant подойдёт, потом подумаем об Алисе);
    • Скриптами;
    • Дёшево...

    Исследование рынка


    «Родное» решение


    Пожалуй, даже не буду рассказывать. Решение от производителя моих кондиционеров предполагало кучу проводов, минимум два дополнительных модуля на каждый блок, и цену порядка $200 на комнату. Плюс проприетарный протокол, древнее приложение, и всё такое. Вычёркиваем.

    Sensibo Sky


    Примерно $100 на комнату, нативно работает с Google Assistant и IFTTT, красиво выглядит, но всё равно дороговато.


    tado° — аналогично (и ещё дороже).

    Xiaomi Aqara / Mi Home, Broadlink RM Pro / Mini


    Универсальные ИК-передатчики, некоторые теоретически поддерживают нужные кондиционеры «из коробки», с грехом пополам интегрируются с Home Assistant, но в целом — так себе решение, хоть и ценник уже гораздо ближе к доступному ($20-35 за комнату, в зависимости от возможностей). Да и приложения на китайском языке (в некоторых случаях) — это не то, к чему я стремился.


    DIY


    Самый дешёвый и гибкий способ, о котором я и расскажу подробнее.

    Выбор компонентов


    Тут есть над чем подумать, но в целом нам понадобится:

    Железо


    Контроллер


    Тупо берём ESP8266, а для простоты прошивки и обеспечения питанием воспользуемся D1 mini. Управлять системой, очевидно, будем через WiFi.


    ИК-передатчик


    Для прототипа воспользуемся простым ИК-светодиодом, сопротивлением и транзистором, потом подумаем, как это можно улучшить.

    Датчик температуры


    С ним веселее, можно задавать целевую температуру, и делать автоматическое включение/выключение. Для начала тупо возьмём DHT22.


    Экран


    На него выведем текущее состояние системы (для отладки), а может быть и текущий ip-адрес (вдруг пригодится?).


    Софт


    IDE


    Реализовывать всё будем в Arduino IDE (с которой я никогда до этого не работал), используя открытые библиотеки.
    Сильно позже, когда проект уже работал, я перешёл на Visual Studio Code с плагином PlatformIO.

    Протокол


    Общаться с Home Assistant будем через MQTT (библиотека PubSubClient), т.к. это открытый протокол, и для него есть специальный компонент.

    Конфигурация будет выглядеть, например, как-то так:

    climate:
      - platform: mqtt
        name: Living Room HVAC
        modes:
          - "off"
          - "auto"
          - "heat"
          - "cool"
          - "dry"
          - "fan"
        swing_modes:
          - "auto"
          - "off"
        fan_modes:
          - "auto"
          - "low"
          - "medium"
          - "high"
        mode_command_topic: "livingroom/meteo/mode/set"
        mode_state_topic: "livingroom/meteo/mode"
        temperature_command_topic: "livingroom/meteo/target/set"
        temperature_state_topic: "livingroom/meteo/target"
        fan_mode_command_topic: "livingroom/meteo/fan/set"
        fan_mode_state_topic: "livingroom/meteo/fan"
        swing_mode_command_topic: "livingroom/meteo/swing/set"
        swing_mode_state_topic: "livingroom/meteo/swing"
        current_temperature_topic: "livingroom/meteo/temperature"

    Управление


    Библиотека HeatpumpIR поможет нам отправлять сигналы на кондиционер (модель кондиционера пока захардкодим).

    Разное


    Понадобятся ещё библиотеки для таймера, для работы с датчиком температуры и с экраном, но это уже мелочи. Привычным жестом добавим WiFiManager и ArduinoOTA, чтобы обновлять прошивку через веб-интерфейс, а не USB.

    Прототип (00)


    Покупаем на алиэкспрессе случайные компоненты, собираем вместе на бредборде, тестируем идею.


    Понимаем, что:

    • Экран был заказан слишком большой, и у него слишком много ног.
    • Один светодиод бьёт не очень далеко, и не очень надёжно.

    Но в целом идея работает! В интерфейсе Home Assistant появляется «родной» компонент HVAC, а значит, управление из любой точки мира у нас уже «в кармане». Родная интеграция Home Assistant с Google Assistant добавляет нам голосовые команды и обратную связь: можно у ассистента спросить про температуру в комнате, и он ответит как целевую, так и текущую температуру.


    Изменение целевой температуры, скорости обдува и режима кондиционера в веб-интерфейсе тоже на месте (и, главное, работает!).


    Тестовый образец (01)


    Поменяем пару компонентов: закажем экранчик поменьше, и чтобы работал через I2C (и библиотеку применим другую).


    Также заменим ИК-светодиод на готовый модуль.


    Оказалось, что модули с одним светодиодом (на фото слева) на алиэкспрессе заказывать не стоит: они не содержат транзистора, и одна из ног (VCC) у них, по сути, бутафорская.

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

    Также пришло время всё это собрать на своей печатной плате… Это был один из самых сложных моментов для человека, который никогда не проектировал печатные платы, и наверняка я всё сделал неправильно.


    Для проектирования я использовал EasyEDA, готовую продукцию заказывал на OSHPark (опять же, наверняка можно было найти более дешёвый вариант), и в результате получил примерно такое:


    Кнопка была добавлена в последний момент, а место для неё нашлось совершенно случайно. Оказалось, что с кнопкой всё немного веселее, можно не держать экран включенным всё время (что для OLED вредно), а показывать состояние по нажатию.

    Что ж, уже неплохо, осталось добавить корпус. Для этого запускаем Blender, делаем кучку параллелепипедов, применяем ряд булевских операций…


    И отправляем на 3D-принтер.


    Итого, получилось дёшево (меньше $10 за экземпляр), гибко (будет работать с почти любым кондиционером), легко интегрируется, управляется голосом и через веб, стабильно добивает с пяти метров. В общем, примерно то, чего я и хотел.

    Как бы всё это сделать чуть лучше?..

    Серийная модель (02)


    Есть ряд направлений для улучшения получившегося продукта (точнее, возможностей улучшения, позволивших бы превратить эксперимент в продукт):

    1. Датчик температуры можно взять поменьше размером и более точный, например, BME280, HTU21D или Si7021, что позволит повесить его на те же ноги, что и экран (I2C), заметно уменьшить размер готового устройства и упростить разводку печатной платы. На практике оказалось, что на тот же BME280 начинает сильно влиять нагрев самой ESP8266, и выдаваемые показания нужно корректировать.

    2. (вытекает из первого пункта) Держать ESP8266 постоянно работающей — это не комильфо, нужно периодически уходить в Deep Sleep, лишь иногда просыпаясь для отправки показаний и приёма команд;
    3. (вытекает из второго пункта) Обычный MQTT уже не очень подходит, нужно использовать MQTT-SN, чтобы управляющие команды запоминались и доставлялись на контроллер в момент пробуждения;
    4. Реализация вышеперечисленных пунктов позволит сменить «проводное» питание на аккумулятор;
    5. Текущий способ крепления компонентов к печатной плате (обычная пайка) является сложным в реализации и недостаточно гибок: имеет смысл припаять хедеры, чтобы те же датчики температуры можно было менять, как перчатки;
    6. Наконец (в противоречие с предыдущим пунктом), всё-таки готовые модули — это хорошо и просто, но слегка громоздко, в идеале вместо D1 mini была бы голая ESP8266, а датчик температуры, кнопка и ИК-светодиоды были бы распаяны на одной плате (как это и делают в серийных продуктах), что позволило бы уменьшить размер устройства и его серийную цену;
    7. Да и вообще, было бы здорово предусмотреть в прошивке возможность лёгкого выбора своей модели кондиционера одним кликом...

    Заключение


    Это было славное приключение, и я многое понял. Например, я понял, почему серийные устройства стоят так дорого, и сколько сил нужно было бы приложить, чтобы выйти на один уровень с ними. С другой стороны, очень многое в этом проекте я делал впервые (работа в Arduino IDE, заказ печатных плат, создание модели для 3D-принтера), и получить этот опыт было бесценно. Исходники, впрочем, не покажу: мне за них достаточно стыдно :)

    Но своей цели я всё-таки достиг, а дешёвое и гибкое управление кондиционерами оказалось вполне достижимо.
    Поделиться публикацией
    Комментарии 80
      +1
      Пару лет назад, также желая управлять кондиционером удаленно счел, что мне достаточно просто включать кондиционер в режим «холод +24 минимум» и выключать его. В результате к серийному порту ББ была прикручена плата с ИК диодом (схема взята с сайта winlirc) + WinLIRC + SSH + кнопка Tasker'а на экране телефона = могу из любого места включить кондиционер
        0
        «Ну, или так». ©
        Всё же, ваше решение, хотя оно и заметно проще, имеет другие исходные данные: нужен постоянно включенный ББ (у меня такого компьютера в квартире нет), не так просто масштабировать на несколько комнат (далеко тянуть провода), нетривиально подключить голосовое управление. А управление у меня доступно вообще без дополнительного софта, через веб.
          0
          ББ можно заменить на Orange Pi Zero, которая стоит без корпуса порядка семисот рублей, работает от 5V (подойдёт двухамперная зарядка от телефона, к примеру), и имеет на борту какой-никакой вайфай.

          Выйдет, пожалуй, подороже, чем у вас — но, вероятно, более универсально.
        0
        delete
          0
          Статья очень во-время. Я сам как раз раздумываю над решением проблемы кондиционирования и управления климатом. Для меня это гораздо важнее чем всякие лампочки. Пока все-таки склоняюсь к мысли использовать Sensibo или tado° в связке с HomeAssistant и датчиками открытых окон и дверей. Но да, ценник особенно у последнего кусается. С другой стороны в последнем стоит достаточно умный термостат. Не такой полноценный как Nest итп, и заточенный именно для кондиционера, но тем не менее. Использование arduino-heatpumpir пока останавливает только то, что не на 100% понятно на сколько эта библиотека совместима в конкретными моделями кондиционеров.
            0
            Вот именно не совсеми, у меня Daikin, у них сигнал encrypted, узнал когда хотел сделать такой проект. Все, что нашел, это Ambi Climate и он очень дорогой, но вроде есть API и можно написать скрипты к HomeAssistant.
              0
              Автор немного лукавит про работу шлюза xiaomi ir с home assistant, ниже пример еще не доделанной интеграции (руки не доходят сесть и затратить пару часов на всю отладку правил). Все там нормально работает. Его видимо смутило что нужно вылавливать ключ из приложения и потом учить HA командам родного пульта. Задача шлюза птолько передача команд, остальное должен выполнять HA по правилам и событиям. В целом лучше xiaomi ir за 20$ чем устройство выше за 10$. Оно для саморазвития хорошо, не более. Однако минус любого IR шлюза, нет обратной связи от кондиционера.

              Скрин
              image

                0
                Вот да, именно учить командам родного пульта, а также заводить отдельные правила для каждой команды желания не было никакого. И правил у вас куча, тогда как у меня конфиг один, весьма компактный.
                  0
                  Правила нужны не для тупого вкл/выкл, а для участия в сценариях. По этому их там столько. После наладки и отладки большая часть правил, скриптов и остальной технической части скроется от глаз конечного пользователя. Также, как писали в комментариях, чтобы сделать погодозависимую систему любом случае придется писать скипты и правила, и как то воздействовать на элемент «climate» по этим условиям.
                  0
                  github.com/Anonym-tsk/home-assistant-components
                  Есть компонент, всё просто и доступно
                    0

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

                      0
                      — Вам не обязательно прописывать все коды. Только те, которыми вы будете пользоваться. У меня ушло минут 30 на заполнение конфига всеми кодами.
                      — Переходник для розетки не нужен (зачем он вам?). Можете вообще не использовать сенсоры и датчики, будет просто управление.
                      — Xiaomi Remote можно спрятать куда угодно — у меня она висит за кондиционером и неплохо управляет оттуда техникой в комнате, дальность действия огромная.
                      — Ну и вообще, я отвечал не на ваш комментарий. В вашем решении нет ничего плохого, а renat85 вроде как раз Xiaomi Remote использует.
                0
                Датчик температуры фуфловенький. Лучше DS18B20. Сам использую их совместно с 8266
                Они и стабильнее и компактнее.
                Кстати, не думали добавить больше интеллекта? Ну чтобы он ходил за погодой в и-нет, изнавал температуру снаружи и корректировал немножко — в солнечные жаркие дни — по-холоднее, а в облачные — по-стандарту?
                Можно еще обдув (fan) включать после того как внутренний coil получит холод (летом) или тепло (зимой).
                Можно влажность контролировать и если слишком влажно включать режим осушения.
                Можно сопрячь с приточной вентиляцией и контролировать еще и VOC
                  0
                  в солнечные жаркие дни — по-холоднее, а в облачные — по-стандарту?

                  Наоборот же. Нельзя в жару вымораживать помещение, надо держать (улица — 5) примерно, тогда будет комфортно в помещение заходить с улицы. И выходить тоже терпимо.
                  А в целом повторю то, что писал у другого оратора — сейчас много сплитов идет с возможностью подключения к wifi или уже с этим модулем на борту или с возможностью опционального подключения. И, подозреваю, даже те, где эта возможность официально не зявлена на борту имеют ровно ту же плату, но с нераспаянными элементами. Или даже с уже распаянными.
                    0
                    Увы, моя система ставилась пять лет назад, и тогда об управлении по WiFi ещё никто не думал.
                      0
                      а в то время уже были модули для обьединения кондеев в общую сетку с центральным пультом. Тоже, возможно, есть что поковырять.
                        0
                        Да-да, я об этом и говорил в пункте про «родное» решение. Очень дорого, много дополнительных блоков, и очень много проводов.
                          0
                          вы какие-то ужасы рассказываете.
                          обычный 485 там на физическом уровне. четыре провода — ноль, питание, прием и передача на допмодуль, AB c с модуля в линию и опционально питание, питание можно брать локально, если центральный пульт далеко. и блок внутрь кондея один, зачем там два то?
                  0

                  А почему не использовать встроенное решение. Мой кондиционер умеет поддерживать заданную температуру и при достижении ее просто работает как вентилятор и скорость вентилятора уменьшает.

                    0
                    а еще и таймер в нем наверняка есть. И, если очень повезло, то таймер недельный.
                      +1
                      за ближайшие 10 лет ни разу не видел сплит-систем, которые бы не умели держать температуру.

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

                      Но максимальное использование встроенных в кондиционер возможностей должно позволить меньшими затратами жить на батарейке
                        0
                        В сущности, это и делается: целевая температура как раз передаётся на сам кондиционер. Датчик реальной температуры здесь скорее для контроля.
                          0

                          Это все кондиционеры умеют, а если инверторный, то вообще все замечательно.
                          Но хочется более "умного" кондиционера. Например, за 10 минут до твоего приезда, чтоб он включил режим быстрого охлаждения, если нужно.

                            0
                            Как раз это можно заскриптовать через Home Assistant.
                          0
                          Не очень понял где это устройство должно быть. Если где угодно в комнате — то зачем, ведь оно все равно управляется с телефона? Если возле кондюка — то зачем экран, ведь будет не видно ничего?
                            0
                            Устройство стоит в пяти метрах от кондиционера, а экран, как я уже пояснил, для отладки и проверки текущего состояния. В сущности, можно было обойтись набором светодиодов, но с экраном интереснее.
                              0
                              А зайти на устройство по вайфаю? Считай бесплатный настраиваемый экран большой диагонали, при этом не жрущий пинов.
                                0
                                … стоящий (лежащий на тумбочке) в соседней комнате. :)
                                В данном случае мне пинов не жалко. :)
                                  0
                                  Вероятность того, что у меня в кармане телефон значительно больше чем что у меня в руках/кармане/пределах взгляда эта коробочка. Просмотр текущего состояния — это что? Температура ощутима телом, понять какой именно скрипт и в чем он состоит при взгляде на этот девайс невозможно или очень сложно, понять что сейчас делает кондер можно по кондеру. На что смотреть-то? С отладкой вообще круть — какая отладка на устройстве с одной кнопкой?
                                  0
                                  Кстати, по вайфаю зайти гораздо проще, когда знаешь ip-адрес устройства (который как раз выводится на экране). Если одинаковых устройств несколько, то запоминать их серийные номера и искать их в интерфейсе роутера становится довольно скучным занятием.
                                    0
                                    wifi_station_set_hostname( «livingroom» ); и обращение как к livingroom. (точка значима) спасут отца русской демократии.
                              0
                              >закажем экранчик поменьше, и чтобы работал через I2C
                              Можете ссылку дать, где заказывали? А то заказал такой же, он пришел с браком, справа постоянно полоса в один пиксел светится.
                                0
                                Где-то здесь заказывал.
                                Думаю, от брака всё равно ни один продавец не застрахован.
                                  +1
                                  Это не брак. Просто нужно подобрать подходящую библиотеку. На таких дисплеях бывают два контроллера: SSD1306 и SH1106, они почти во всем похожи, кроме этой особенности, когда выбран не тот контроллер появляется полоса в один-два пикселя с краю экрана. Попробуйте эту библиотеку, там есть оба этих контроллера
                                    0
                                    Спасибо, попробую.
                                  0

                                  Долго думал как подключить свой, в итоге использовал похожий по смыслу готовый модуль что бы сопрячь с имеющейся ситемой умного дома. В итоге пользую только одну кнопку — вкл:)) один раз включил, настроил на температуру 23 и забыл:))

                                    0
                                    Откуда это маниакальное желание — разговаривать с техникой?
                                    И очень хорошо, что «умный» — в кавычках.
                                      0

                                      Достаточно удобно иметь возможность управлять климатом (кониционер, отопление) удалённо. Таймеры — это всё хорошо, но не всегда даёт желаемый результат. Вот, например, я в основном работаю дома, но иногда нужно съездить в офис, причем время и продолжительность непредсказуемы. Жена работает в поликлинике + вызовы, то же получается непредсказуемый график. Когда дома никого нет, кондиционер выключен, но хочется войти в охлаждённую комнату. Здесь и выручает удалённое управление. С телефона, за пол-часа до планируемого прибытия, включаем кондиционер и получаем то, "о чём мечтали большевики". Так что, ничего маниакального. Если есть возможность сделать себе удобно, почему не сделать?

                                        0

                                        Вы писали:
                                        "… ими нужно научиться управлять:

                                        Голосом (Google Assistant подойдёт, потом подумаем об Алисе)...."


                                        Ну и всё остальное — похвальное но спорно. (В доме центральный кондиционер на 6 выходов, управление каждым выходом — спульта. Тоже хочется "по умному").

                                          0
                                          Это не он писал, это я писал. ;)
                                          Разговаривать просто иногда удобнее, чем вставать в поисках пульта: например, когда уже лёг в кровать, и со временем стало жарко, тогда проще и быстрее крикнуть в Google Home, чтобы он включил кондиционер. Ничего маниакального тут нет.
                                      0

                                      Решал аналогичную задачу месяц назад — думал как бы внедрить управление кондиционерами с общего экрана управления квартирой (там всяческие подогревы, вентиляция, музыка и т.п.). Слепое управление без обратной связи иметь не хотелось, ведь управлять кондиционером можно и с штатного пульта (что тогда отображать в состоянии?). Вытащил плату управления из внутреннего блока (у меня toshiba инвертор), на ней оказался UART. Выяснилось, что многие производители делают такой разъём для подключения всяческих настенных панелей управления, либо для центрального мониторинга и управления кучей блоков (в отелях, например). Описания протокола найти не удалось, но все нужные параметры (режим работы, заданная t, скорость вентилятора, t воздуха и испарителя) в исходящих пакетах найти удалось. Примеров управляющих пакетов не было, поэтому рулить блоком пришлось по-простому — через ИК приемник. Конечно без светодиода, просто дергая ногу параллельно с штатным ИК приёмником. Сама esp8266 с небольшой обвязкой ложится прямо в клеммную коробку внутреннего блока, подключается к штатному разъему, где есть uart и 5В питание. И только одинокий нештатный проводок к ИК приемнику выдает самоделку :)

                                        0
                                        Хозяйке на заметку: практически все кондиционеры Mitsubishi Electric имеют на плате управления разъем для подключения проводных пультов, через который можно управлять режимом работы, установками температуры и прочими параметрами. Причем там используется двунаправленный UART-протокол, то есть можно еще и отслеживать изменения настроек с ИК-пульта. В связке с MQTT это практически идеальное решение для встраивания кондиционера в систему домашней автоматизации. Информация о подключении и протоколе гуглится по фразе «mitsubishi cn105 arduino».
                                          0

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

                                            0
                                            Да, мне это вашу уже предложили примерно трижды. :)
                                            Мой способ менее инвазивен (не нужно вскрывать кондиционер, и что-либо в нём менять), проще подключается/отключается и легче адаптируется к другой модели кондиционера (по сути, изменением одной строчки в исходниках), да и легче отлаживается.
                                            В остальном – да, прямое подключение более надёжно.
                                              0
                                              Любопытное решение, спасибо что поделились. А сколько у вас ушло времени на все про все? И второе, с высоты вашего опыта, есть ли аналог датчика типа «DHT22» в которых уже есть встроенный wi-fi чтобы только передавал температуру и влажность?
                                                0
                                                Несколько вечеров на сборку и отладку, и несколько недель на ожидание компонентов с алиэкспресса. :)
                                                Датчиков именно со встроенным WiFi я не знаю, но встречаются вот такие комплекты из голой ESP с приделанной к ней DHT11, как раз для таких целей.
                                            –1
                                            Дёшево...

                                            Сам по себе «умный» дом штука не дешевая, это для тех, у кого или достаток нормальный, или если после работы кроме обустройства комнатушки в муравейнике больше заняться нечем, так как польза от умного дома сомнительная по сравнению с затратами на него. Тому же программисту микроконтроллеров в какой нибудь области России, который кодит на работе тот же ESP или stm32 для какого нибудь «умного» кондиционера, зарплаты не хватит на сам кондиционер и даже на новый ноутбук, чтобы читать статью на Хабре без тормозов браузера.
                                              0
                                              Не понял зачем экранчик? Через Web все можно смотреть же!
                                                0
                                                Можно. Но с экранчиком удобнее: например, я сказал что-то в Google Home, и по загоревшемуся экранчику вижу, что команда была успешно отправлена, и правильно воспринята. А до компьютера ещё дойти надо…
                                                В общем, как я уже говорил, он скорее для удобства отладки, чем для необходимой функциональности.
                                                  0
                                                  Для отладки лог писать удобно. А сигнализирует включившийся/включенный кондиционер. Он пикает получив команду по ИК.
                                                  PS Не критикую и не настаиваю! Делюсь своим опытом.
                                                    0
                                                    Да, вы всё правильно говорите. Но лог ещё прочитать на чём-то нужно.
                                                    Когда устройство уже лежит в соседней с каким-либо компьютером комнате, а голосовая команда не вызывает писка кондиционера, то проблема либо в доставке команды на контроллер (и вот тут экран поможет узнать, так ли это), либо в том, что ИК-светодиоды направлены немного не туда, ну или на пути есть препятствие.
                                                    Как я уже отметил, вместо экрана можно обойтись одним-двумя светодиодами, но при его цене в $1 я решил, что могу себе позволить такое удобство. :)
                                                0
                                                В 2015году подобную поделушку делал. ESP8266 + Блинк.
                                                (Жена сказала не гоже с дачи приезжать в баню, и детей потом на максимуме обдувать кондеями))))
                                                Действительно режимы не нужны. (достаточно 2-3 режима, охлаждения пока дома нет, ну или обогрева)
                                                ИК диод с отдельным питаем, управляем через транзистор… (тогда с 5метров легко пробивать будет)
                                                Правильно считываем команды с пульта кондея, шьем в ESP, а дальше базовый пример с морганием сетодиодом)))). Вот и вся затея.
                                                Но по факту 1 сезон проработало, и было забыто)))). Точнее отложено.
                                                (Что толку видеть температуру дома??? (если только цветы или животные) главное включить кондей, и понять что он включился… Хотя датчик какраз покажет снижается ли температура.)

                                                Когда систему отопления в квартире переделаю. Ее тоже в проект подключу(радиаторы с сервоприводами). И еще активную вентиляцию))).
                                                Вот и будет у меня Умный ДОМ… Если конечно желание не пропадет)))…

                                                  0

                                                  Вот еще такое решение есть: http://www.srk-m2.ru/ Ценник конечно тоже раза в три выше. Но у них в документации можно найти полезную инфу по подключаемым адаптерам для кондиционеров:


                                                  Модуль СРК-М2-СК позволяет управлять кондиционерами:
                                                  • компании DAIKIN через адаптеры KRP413A1S, KRP413AB1S (российский аналог KRP-D/01, KRP-D/02), KRP4A51(KRP4AA51), KRP4A52(KRP4AA52), KRP4A53(KRP4AA53), KRP4A54 (KRP4AA54), AF-D/01, AF-D/02;
                                                  • компании MITSUBISHI ELECTRIC через адаптеры МАС-397IF, МАС-399IF;
                                                  • компании KENTATSU через адаптеры AF-KS, AF-KC, AF-KH;
                                                  • компании MITSUBISHI HEAVY напрямую без адаптера;
                                                  • компании MITSUBISHI ELECTRIC полупромышленной серии Мr.Slim кроме PE(H)-8/10/15/20MYC;

                                                    0
                                                    А как у этих коробов работает интеграция с Home Assistant и Google Assistant?
                                                      0

                                                      Не могу сказать, не пробовал. Просто пока что это единственное что нагуглилось про Kentatsu который у меня. И оказалось что не только у Mitsubishi есть такие коробочки.

                                                        +1
                                                        Kentatsu локальный бренд. Опять же, формально нужно вскрытие, но 99,9% это midea. Т.е. адаптер подойдет не только к кентатсу, но и general climate и, разумеется, к самой мидее и mdv и прочим, сделанным на их заводе.
                                                        А TCL, например, в новой линейке обещает прямую поддержку Алексы из коробки. Надеюсь гугл и алису тоже смогут.
                                                    0
                                                    Если хочется готового решения то сегодня уже появляются модели с управлением по wifi. Так же месяц-два назад с поддержкой Apple Homekit/Android вышла первая модель оконного кондиционера.
                                                      +1
                                                      Я не буду только из-за этого менять кондиционеры в квартире, слишком уж дорого обойдётся. :)
                                                        +1
                                                        Проблемы с готовым решением наступят через пару лет, когда Apple Homekit поменяют на iHome, приложение на android окажется несовместимым с android 10, захардкоженный брокер выключат и всё это превратиться в тыкву.

                                                        А менять кондиционер каждые пару лет — такое себе.

                                                        Так что в умном доме — только открытые расширяемые решения.
                                                          0
                                                          Вы в точности озвучили мои мысли, которыми я руководствовался при выборе компонентов и протоколов. :)
                                                            0
                                                            Да, это так, только лет 5-7.
                                                            Еще в готовых решениях есть возможность предоставление общего доступа, да и разобраться с ними легче, потому что у всех одинаковое.

                                                            Я за открытые решения, но пока нет бесплатных решений такого же качества что у готовых.
                                                              0
                                                              > Да, это так, только лет 5-7.

                                                              Ну, это если повезет. Но я всё равно хочу 15-20. То есть я их хочу в своей жизни купить в 3 раза меньше кондиционеров (потратив в 4 раза меньше денег).

                                                              > разобраться с ними легче, потому что у всех одинаковое.

                                                              1) Я под «открытыми» вовсе не DIY подразумевал.
                                                              2) Как бы нет. Ну то есть да, на планете есть 1000 человек с точно таким же решением, но понимают в происходящем они не больше вас — они тоже готовое купили. И они не сидят в интернете. А до массового сегмента умные устройства не добрались.

                                                              > пока нет бесплатных решений такого же качества

                                                              Но только есть нюанс: за 5-7 лет готовые превратятся в тыкву, а у открытых вырастет качество.

                                                              Более того, у готовых пока с интеграцией между собой очень плохо. От слова «никак». Каждый производитель чайника считает нужным вкрутить свой vendor-lock.

                                                              Я сам пока открытыми решениями недоволен. Как, впрочем, и готовыми.
                                                              Но опыт подсказывает, что открытые хоть и хуже, но в перспективе жизнеспособнее (в смысле, жизненный цикл дольше, даже если активное развитие прекращается).
                                                                0
                                                                Хотелось бы 15-20, но на такое время мало кто планирует, если только вы не Безос.

                                                                есть 1000 человек

                                                                В США у каждого второго айфон. Чтобы предоставить доступ к устройству нужно нажать буквально пару кнопок.

                                                                открытых вырастет качество

                                                                Хотелось бы чтобы так было. Пока, как показывает практика, так бывает не часто.
                                                                Возьмем Ubuntu. Уже 20 лет она хочет стать лучше чем винда. И как результат? Да не очень: только патч назад появилась возможность подключать беспроводные наушники, переустановка ОС для перехода на новые релизы (да, да, особенно у кого сторонние дрова типа nvidia), спорный ui (unity и gnome).
                                                                Для меня загадка — как могут не работать базовые вещи ui в самом популярном дистре. Чтобы это заметить, достаточно попользоваться десяткой.

                                                                Открытое ПО имеет много своих достоинств, но оно редко будет иметь то же качество пользования что поддерживаемое компаниями.
                                                                  0
                                                                  > Хотелось бы 15-20, но на такое время мало кто планирует, если только вы не Безос.

                                                                  Срок службы 10 лет — вполне типовой для бытового кондея, это минимум, который он должен стоять и полноценно работать.

                                                                  > В США у каждого второго айфон.

                                                                  Не у каждого второго ваш кондей.

                                                                  > Уже 20 лет она хочет стать лучше чем винда. И как результат?

                                                                  Неверно сравниваете. Сравните современную убунту и 98 винду (и, видимо, правильно «на том же железе 98 года», хотя прогресс у компов существенно другой, чем у начинки кондеев).
                                                                  Напомню, что апгрейд винды с тех пор вы оплатили раз 5, или 7.

                                                                  Я повторю мысль, если вы готовы менять кондей (с соответствующи ремонтом) раз в пару лет ради «того самого качества пользования» — флаг в руки.
                                                                    0
                                                                    Стоит прояснить что в первую очередь имелся ввиду оконный кондиционер, который служит не более 5 лет. Так-то «настенный» действительно прослужит и 15 лет.

                                                                    Не у каждого второго ваш кондей.
                                                                    Речь шла о том чтобы дать доступ к управлению гостям.

                                                                    Сравните современную убунту и 98 винду
                                                                    Не понимаю, причем тут 98 винда? Так можно сравнивать с 3.1.
                                                                    Такое сравнение не делает чести Убунте.
                                                                    И да, оплачивать винду десять раз точно не нужно было. Достаточно пары-тройки раз. Десятка так вообще надолго. Да и что плохого в оплате работающей системы?
                                                                      0
                                                                      > Такое сравнение не делает чести Убунте.

                                                                      А мы не честь убунты обсуждаем, а что вы имели бы сейчас, если бы 20 лет назад купили комп с виндой/убунтой.

                                                                      Ну ок, припекает у вас от убунты — возьмите другой пример: Android от производителя («поддерживаемый компаниями»-производителями примерно никак) vs CyanogenMod?
                                                                      Или нет, давайте уж ближе в embedded — OpenWrt (и производные) vs штатные прошивки.

                                                                      > Речь шла о том чтобы дать доступ к управлению гостям.

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

                                                                      Ну вот посмотрим как у вас это получится с приложением под айфон, которое 10-лет не обновлялось )

                                                                      > в первую очередь имелся ввиду оконный кондиционер

                                                                      Ммм. Ну ок, но я такие только в кино у реднеков в трейлерах видел.
                                                                      Не знаю сколько они на самом деле служат, но я даже чайник раз в 5 лет не меняю.
                                                                        0
                                                                        CyanogenMod (/saɪ.'æn.oʊ.dʒɛn.mɒd/) — бесплатная операционная система для смартфонов и планшетов, с открытым исходным кодом, основанным на ОС Android
                                                                        Я не понял, она же основана на Андроиде, разве это хороший пример?
                                                                        OpenWrt
                                                                        Как я и говорил, иногда исключения есть и это ПО лучшее на рынке.

                                                                        кино у реднеков в трейлерах видел
                                                                        Будете у нас на Колыме в NYC, обратите внимание на окна :)
                                                                          0
                                                                          > она же основана на Андроиде, разве это хороший пример?

                                                                          Не на штатном же. У меня на одном телефоне последний штатный 2.3, а моды есть минимум до 5.

                                                                          > Как я и говорил, иногда исключения есть и это ПО лучшее на рынке.

                                                                          1) Именно OpenWrt? Или DD-WRT? Или «прошивка от Олега»? Или «любая штатная прошивка производителя таки сосет у любой приличной любительской»?

                                                                          2) Ну, не берите худшее на рынке

                                                                          > Будете у нас на Колыме в NYC

                                                                          Да я как-бы не против, но так и не понял нахрена. И, видимо, немногие за пределами NYC поняли.
                                                          0
                                                          Рекомендую под ARDUINO ESP8266 заменить библиотеку WIRE.
                                                            0
                                                            Есть принцип «не надо чинить работающие вещи». А «Fixed errors in the built-in I2C driver» совершенно не объясняет кому и зачем это.

                                                            Не говоря о том, что подозрительные исходники из интернетов тягать — занятие такое себе.

                                                            Вы бы лучше в core исправления отправили, тогда ими все пользоваться будут.
                                                              0
                                                              объяснял на одном уютном форуме — «Пока на шине один slave, все еще как то работает, но стоит добавить еще устройств — ESP8266 начинает виснуть и перегружаться. Потому что, когда wire.h не корректно завершает чтение, slave вешает SDA на землю и ждет от мастера SCL чтоб передать оставшийся кусок байта. Либа wire.h об этом ничего не знает т.к. в ней нет нормальной проверки коллизий и пытается передать на этот или следующий slave новое сообщение. Но все устройства молчат тк ничего не получают из-за того, что наш slave притянул SDA к земле и ждет завершения своей команды. Либа ничего не получив начинает растягивать SCL. Когда растягивать уже некуда, главный цикл встает колом. Через ~3 секунды, после остановки loop, срабатывает WDT и модуль перегружается. А теперь представим, что наш slave — это часы реального времени с батарейкой. ESP8266 перегрузился, а часы нет и все еще ждут когда модуль закончит с ними чтение, удерживая SDA. Через ~3 секунды опять сработает WDT и модуль снова перезагрузится. Круг замкнулся. Не поможет даже передергивание питания, тк наши часики то с батарейкой.»
                                                                +1
                                                                Да, так понятно.

                                                                Я бы не догадался искать описание на уютном форуме, а не в readme.md
                                                            0
                                                            Есть неплохая статья по сравнению 7 датчиков температуры/влажности.
                                                            • Aosong AM2302 (A.K.A. DHT22)
                                                            • Aosong AM2320
                                                            • Aosong AM2321
                                                            • Sensirion SHT71
                                                            • Measurement Specialties HTU21D
                                                            • Silicon Labs Si7021
                                                            • Bosch Sensortec BME280

                                                            Победитель по версии исследователя
                                                            BME280

                                                            И еще сравнение уже по DHT11, DHT22 и DHT21.
                                                              0

                                                              Спасибо, хотя я эту статью уже читал: если обратите внимание, я в итоге тоже воспользовался BME280, хотя с ним были свои сложности.
                                                              Выше рекомендуют DS18B20 – вот с ним интересно было бы сравнить.

                                                              0
                                                              Библиотека таймера лишняя. У Arduino ESP8266 есть встроенная либа Ticker.h. Пример моргания светодиода без delay тут.
                                                                +1
                                                                (вытекает из второго пункта) Обычный MQTT уже не очень подходит, нужно использовать MQTT-SN, чтобы управляющие команды запоминались и доставлялись на контроллер в момент пробуждения;

                                                                Не обязательно, достаточно поставить retained флаг.

                                                                  0
                                                                  О, спасибо, пригодится. :)
                                                                  0

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

                                                                    0
                                                                    Предпоследняя строчка в заключении. ;)
                                                                    0
                                                                    Ссылки бы на комплектующие с Али, ну или хотя бы их названия…

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

                                                                    Самое читаемое