
Устройство представляет из себя цилиндр, в верхней части которого на 360 градусов располагаются ИК датчики. Управление устройством происходит через приложение. Можно управлять любой техникой, обладающей ИК приемником. Но моя цель была одна, управлять кондиционером. Что бы приехав домой, он уже успел создать комфортную температуру.
Первой моей проблемой стало то, что мой кондиционер не воспринимал команды, загруженные автоматически с сервера после обучения устройства. Все решилось ручной настройкой пульта, такая возможность присутствует в программе. Но это было не все, следующее что я понял, так это то, что некоторые команды, к примеру изменение скорости вентилятора содержит в себе и температуру. Получалось так, что если я менял скорость вращения вентилятора, то и менялась температура, которая была при обучении устройства.
Следующее что выяснилось, приложение не видит устройства через VPN. В приложении на Android устройство определяется автоматически и также его находит в сети, выбрать адрес в ручную нельзя.
Следующий не критичный, но нюанс, управление через интернет происходит при помощи облачного сервиса производителя. Хотя в локальной сети приложение и устройство общались напрямую, отдавать управление через интернет кому то не хотелось. Никакого открытого API не существует.
С помощью сниффинга трафика на WiFi роутере выяснилось, что приложение и устройство общаются между собой UDP пакетами на 80 порту.
tcpdump -w /tmp/dump.cap host <ip устройства>

Было решено сделать консоль на локальном web сервере для управления кондиционером. С начало создаем пульт в фирменном приложении:

После чего запускаем снифер и начинаем не спеша выполнять все команды. Остановив снифер и убедившись, что количество пакетов соответствует количеству выполненных команд копируем их в web приложение. Единственное утомительно было запоминать температуру при разных скоростях вращения. Получилось следующее:

После чего я закрыл устройству доступ в интернет.
Весь код выложен на GitHub
Комментарии (51)
sisaenkov
28.07.2016 21:51FoxIK
28.07.2016 21:55Да, я предварительно это изучил. Старшие модели получают команды в JSON формате. А данное устройство обменивается UDP пакетами, как и некоторые умные розетки от этого же производителя
sisaenkov
28.07.2016 21:56Теперь понятно, почему оно не еще поддерживается.
Я, к счатью, обхожусь RM Pro.
Sleuthhound
29.07.2016 07:57Ценник в 320 р. за какой-то плагин сильно негуманно + держать постоянно на телефоне запущенный RM Bridge тоже бред.
sisaenkov
29.07.2016 09:36Этот плагин в том числе и самостоятельно работающее приложение. При наличии дома всегда включенного Android-устройства, 300 руб. не жалко потратить. Зато не приходится городить огород, чтобы управлять шторами, кондиционером, телевизором и пылесосом — всё через панель управления умным домой.
WildGabbay
28.07.2016 21:56В этом сценарии я одного не понимаю — а как вы окна дистанционно закрываете? :)
FoxIK
28.07.2016 21:57Окна?
WildGabbay
28.07.2016 22:05+4Окна. Проемы такие в стенах дома :)
FoxIK
28.07.2016 22:20+1Спасибо конечно. Но с чего Вы думаете, что я их закрываю дистанционно?
WildGabbay
29.07.2016 17:47Так тут два варианта — или оставлять окна закрытыми, уходя из дома, или как-то закрывать их перед включением кондционера.
L_Andrey
29.07.2016 09:37А вы оставляете окна открытыми, когда уходите?
bazis13
29.07.2016 12:34Летом всегда открытые. Кондиционера нет. Зимой щель поменьше, еще экспериментирую с приточной вентиляцией.
WildGabbay
29.07.2016 17:48Да, всегда. В нашем (израильском) климате иначе трудно.
L_Andrey
29.07.2016 20:00Я всегда закрываю, если надолго ухожу из дома. Иначе есть шанс обнаружить лужу и вздувшийся паркет.
alexpp
28.07.2016 22:06Интересно, а кто-нибудь еще пробовал слушать, что отсылают в облака различные умные розетки, датчики и прочие показометры от известных производителей? Тех же Шаоми, Броадлинк и т.п.
aivs
28.07.2016 22:33Пульт от кондицонера отправляет в одном пакете всё состояние пульта, т.е. если сейчас выбран режим cool, шторки auto и температура 25, то отправляются все 3 команды, если поменять только температру, то все равно в пакете будет 3 команды.
Здесь же на GT читал, что парень считывал команды пульта и выяснял какие команды в пакете за что отвечают.
Вы можете также, изучить ИК пакеты и собирать свой собственный, после чего нажимать send. Возможно родное приложение такое не поддерживает, но можно использовать другие пульты-конструкторы, которые отправляют http команды вашему устройству.
Wesha
28.07.2016 23:52+4> Что бы приехав домой, он уже успел создать комфортную температуру.
Как мне кажется, статья была бы гораздо интереснее, если бы Вы рассказали, как Вы научили кондиционер уезжать из дома.
instalator
29.07.2016 05:04Главный минус данного метода управления кондиционерами да и любой техникой через IR, это отсутствие обратной связи.
miha2
29.07.2016 06:40+1Немного в сторону от топика. Насмотрелся на системы вентиляции и кондиционирования в США. В каждом доме обязательно стоит центральная ветродуйка, которая во все помещения по отдельным дакам делает приток и забирает воздух.
А в центральной ветродуйке уже стоят разные модули:
— обогрев
— кондиционер
— осушитель
— увлажнитель.
Ветродуйки ставят куда-то в подсобку или в подвал и её не слышно, если дом средних размеров и больше.
С другой стороны есть и минусы в такой системе, на которые американцам обычно плевать:
— тепло или холодно во всём доме. Можно конечно сделать отдельные ветродуйки на разные группы помещений, можно поставить автозаслонки и тд, но обычно этим никто не заморачивается и температура поддерживается одинаковая во всем доме. Хотя, например, в доме с 8-ю комнатами когда живут только 4-ре человека совсем непонятно, зачем обогревать или охлаждать другие.
— приток свежего воздуха практически никто не встраивает. То есть для свежего воздуха нужно открывать традиционно окошко.
Сплит системы вообще отсутствуют как класс. В бюджетных квартирах или маленьких домах обычно кондиционеры торчат в окнах. Так называемые оконники.Vilos
29.07.2016 09:37Честно говоря плюсов не понял, по мне так только минусы… сплит системы однозначно юзабильней и диффиринцировано могут охлаждать разные комнаты, а это прямой путь к экономии ресурсов. Зачем мне охлаждать весь дом если достаточно одну спальню, работает один маломощный кондиционер и справляется с одной комнатой всю ночь. В их реализации в подвале всю ночь будет молотить огромный кондиционер и охлаждать весь дом, причем в то время когда я храплю на кровате.
kengaru
29.07.2016 14:171. Ключевое, что лично для себя ставлю на первое место. Убирается шумность внутреннего блока классических кондиционеров, являющаяся значительной, особенно в ночное время, как в идеальном состоянии «с завода», так и в результате неизбежного износа. Вместо этого — шум потока воздуха, но таковой несколько глуше и социальнее, бороться с ним несколько проще, чем с механическим шумом вентилятора внутренних блоков. Также — шум работы канальника по воздуховоду, но компоненты шумоподавления являются стандартными для систем венитиляции и кондиционирования.
2. Вместо многих сплитов по помещениям (и батареи внешних блоков) или мультисплитов и их трасс с фреоном и дренажом — воздуховоды. Хорошо вписываются в двухуровневый потолок.
3. Конденсат и его слив в канализацию — в одном месте.
4. Обслуживание центрального блока — в одном месте
5. Простая централизованная интеграция с подмешиванием приточки с фильтрацией и рекуперацией.
6. Замена центрального блока и его трассы к наружному блоку — в одном месте и по одной трассе.
В принципе, канальники поддаются автоматизации и индивидуальному регулированию по помещениям, просто это требует несколько более специальных знаний и специалистов и затрат для создания и настройки системы, чем с сплит-системами.
VaalKIA
29.07.2016 12:06>Насмотрелся на системы вентиляции и кондиционирования в США. В каждом доме обязательно стоит центральная ветродуйка, >которая во все помещения по отдельным дакам делает приток и забирает воздух.
Потому что самая дешёвая по материалам технология, это — дом термос, в котором ужаснейший микроклимат, и без принудитепльной вентиляции это будет душегубка.
PlusPlus
29.07.2016 09:37Вот мои изыскания на ту же тему: http://4pda.ru/forum/index.php?showtopic=573779&st=3840#entry51074568
Sleuthhound
29.07.2016 10:46За консольную программку спасибо огромное, вечером попробую на своем RM Pro.
Кстати если что, то я свой брал тут, все соответствует, новая модель с 1 платой
http://www.aliexpress.com/item/Broadlink-RM2-Smart-phone-wireless-universal-remote-control-electrical-appliances-of-your-home-by-WIFI-Infrared/1682452655.html?spm=2114.13010608.0.57.PgK1oN
Jaromir
29.07.2016 09:48Что только не придумают лишь бы lirc не настраивать
vaim
29.07.2016 10:47Более того, чтобы инструкцию к кондею не читать.
Не помню уже, когда видел кондей без таймера.FoxIK
29.07.2016 10:53Таймеры в своем большинстве настраиваются с инструкцией в руках, а потом успешно все это забывается до лета. И не всегда можно знать, во сколько ты придешь домой
vaim
29.07.2016 11:00Во сколько придешь домой вобще никогда не знаешь заранее. Вот магистраль зеленая была, а вот уже и авария и eta сместилось на пару часов. Ты же не станешь включать выключать туда сюда из машины, если внезапно встрял?
Ну т.е. таймер достаточно эффективно решает вопрос. Но сам девайс я себе закажу, тупо смарт всегда под рукой, а пульт еще найти надо :)
Ну и ладно к кондею пульт он всегда на шкафу возле кондея, туда ребенок не дотягивается пока, а вот к котокаталке его не сразу и найдешь.kovalevsky
29.07.2016 11:12Оффтоп, но что за «котокаталка»?
Varkus
29.07.2016 10:26Ожидал увидеть:
— так, стучимся телнетом, если есть то профит, если нет идём дальше
— распаиваемся rs232-usb на отладочный порт
— отрубаем доступ на облака
— правим скрипты, если всё устраивает потрошим файл прошивки для засовывания готовых скриптов
…
блиин, это же гиктайм, извините, тогда всё ОК, пишиисчо
NINeOneone
29.07.2016 11:10Подскажите, пожалуйста, ключевые темы, после гугления и изучения которых получится запилить такую же веб-страничку с красивыми кнопочками. Да, в вебе полный ноль.
Dex_f
29.07.2016 11:39Дурная голова рукам покоя не даёт.
А не проще просто включить таймеры включения\выключения и режим работы с пульта?FoxIK
29.07.2016 11:46Нет гибкого графика управления кондиционером с пульта. Не всегда бываю дома, что бы выставить таймер, а на два дня вперед не поставишь. Для меня не проще просто включить таймеры
Dex_f
29.07.2016 11:50Я опытным методом нашел оптимальные настройки кондиционера, и теперь, по приходу домой, меня ждёт комфортная температура и влажность.
А всякие танцы с бубном и фапание в консоли только усложняют жизнь. А надо быть проще. :)
ElectricFromUfa
30.07.2016 22:42Посмотрел снифером обмен между http-bridge и моим RM mini3 с помощью wireshark — действительно летят UDP пакеты. Круто!
Не додумался сразу посмотреть.
Будем пытаться прикрутить такой способ взаимодействия к majordomo
Спасибо!
Nizametdinov
А на самом устройстве облако залочить нельзя? Только роутером инет закрывать?
FoxIK
Нет, нельзя, устройством в любом случае обменивается информацией с ip адресом Amazon. На котором видать находится облако производителя девайся.