Pull to refresh

Comments 80

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

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

Скрин
image

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

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

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

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

UFO just landed and posted this here
за ближайшие 10 лет ни разу не видел сплит-систем, которые бы не умели держать температуру.

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Вот еще такое решение есть: 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;

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

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

UFO just landed and posted this here
Если хочется готового решения то сегодня уже появляются модели с управлением по wifi. Так же месяц-два назад с поддержкой Apple Homekit/Android вышла первая модель оконного кондиционера.
Я не буду только из-за этого менять кондиционеры в квартире, слишком уж дорого обойдётся. :)
Проблемы с готовым решением наступят через пару лет, когда Apple Homekit поменяют на iHome, приложение на android окажется несовместимым с android 10, захардкоженный брокер выключат и всё это превратиться в тыкву.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я бы не догадался искать описание на уютном форуме, а не в readme.md
Есть неплохая статья по сравнению 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.

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

(вытекает из второго пункта) Обычный MQTT уже не очень подходит, нужно использовать MQTT-SN, чтобы управляющие команды запоминались и доставлялись на контроллер в момент пробуждения;

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

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

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

Предпоследняя строчка в заключении. ;)
Ссылки бы на комплектующие с Али, ну или хотя бы их названия…
Only those users with full accounts are able to leave comments. Log in, please.