Статья

Интеграция кондиционера в HomeKit без использования ИК пульта

Привет, сообщество! Раньше уже были статьи по управлению кондиционером в умном доме. Сегодня я хочу поделиться своим плагином для управления кондиционером через WiFi.

Небольшая предыстория - как я выбирал кондиционер. Изначально хотелось купить HomeKit-ready кондиционер, но таковых решений на российском рынке не нашел. Выбирал модели с WiFi, но не все комплектовались c модулем на борту (Кондиционеры Green). После долгих поисков и изучения ассортимента остановился на модели Energolux SAS09G1-AI/SAU09G1-AI. Данная модель оснащена встроенным WiFi модулем и управление осуществляется через приложение ACFreedom


Приложение хоть и имеет большой функционал, но качество оставляет желать лучшего, поэтому я взялся реверс-инженерить его. Перепробовал много методов: декомпиляция APK android приложения, снифф трафика через Charles, прослушивание исходящих пакетов через Mikrotik, ничего не давало внятных результатов. Единственное, что стало понятно - это то, что модуль WiFi разрабатывал Broadlink. И я начала копать в эту сторону и нашел на GitHub библиотеку broadlink_ac_mqtt. Парню как-то удалось отреверсить протокол общения, за что я ему очень благодарен.Общение построено на UDP-broadcast, где передается бинарный пакет. Запуск скрипта ознаменовался характерным BEEP на кондиционере, и он включился. Моей радости не было предела и я сразу же принялся за написание плагина для HomeBridge. После долгих тестов все-таки получилось создать плагин, который прокидывает кондиционер в HomeKit.

Кондиционер в Apple HomeKit.

Плагин

Установка: 

[sudo] npm install -g homebridge-broadlink-heater-cooler

Файл конфигурации: 

{ "bridge": { "name": "HomeBridge", "username": "0E:0A:C2:47:94:2E", "port": 51826, "pin": "215-93-023" }, "accessories": [ { "accessory": "BroadlinkHeaterCooler", "name": "Air Conditioner", "mac": "mac address here" } ], "platforms": [ { "platform": "config", "name": "Config", "port": 8080, "sudo": true, "temp": "/sys/class/thermal/thermal_zone0/temp", "restart": "sudo -n systemctl restart homebridge", "log": { "method": "systemd", "service": "homebridge" } } ] }

Из известных багов есть:

Не прокидывается температура окружающей среды, которую кондиционер считывает со своего датчика.
При регулировании скорости вращения на некоторых кондиционерах включаются колебания.
Не добавлен turbo/silent mode.
Не добавлено выключение/включение дисплея.
Иногда при открытии настроек в приложение дом, кондиционеру передаются сообщения и он пищит.

P.S. Первый плагин и первая статья, не судите строго.

P.S.S Что касается температуры, при получении текущего состояния, получаю пакет в котором:

1900bb00070000000f000111672010a0000000000000100000a62d9175160165 - 21 градус

1900bb00070000000f000111672015a0000000000000100000a12d9175160165 - 22 градуса

Различие в двух местах, второе - это, скорее всего, контрольная сумма.

Вместо заключения

Если у вас имеется кондиционер, который управляется через приложение ACFreedom, то с большой вероятностью данный плагин заработает. В скором времени возможно появится плагин для NodeRed, следите за новостями)


Лучшая новость вторника. Стало быть поддерживаются порядка 28 брендов кондиционеров, выпускаемых заводом AUX!

Огласите весь список пожалуйста :)))

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

1. Energolux

2. Kentatsu (отдельные серии)

3. Supra

4. Green Energy

5. Ballu

6. AC ELECTRIC

7. SUBTROPIC

8. Royal Clima

9. KOMANCHI

10. CENTEK

11. SAKATA

12. Abion

13. Hyundai

14. Roda

15. Vertex

16. Rovex

17. LANZKRAFT

18. NEOLINE

19. Monroe

20. Klimaire

21. SmartWay

22. Almacom

23. LEBERG

24. ERISSON

25. SATURN

26. Pioneer (до 2016 г.)

27. NEOCLIMA

28. Scarlett

Спасибо большое, сам потратил много времени и без результатов

"Иногда при открытии настроек в приложение дом, кондиционеру передаются сообщения и он пищит." Насчет этого пункта, это скорее ios 13 потому что мой кондиционер тоже начал пищать при открытии настроек, в ios 12 такого не было. (у меня плагин для Cooper&Hunter)



Давно ждал подобного плагина, кондиционер AUX. Все вроде-бы не плохо, но когда говорю Сири включи кондиционер на обогрев, она его просто включает на охлаждение, еще одна проблема интеграция с Алисой, она видит его не в качестве термостата. В любом случае ОГРОМНОЕ СПАСИБО за плагин. Надеюсь автор не бросит этот проект и допилит до идеала.


1000x_image.png?1569328719

А так видит Homebridge , я думаю в этом проблема

1000x_image.png?1569330135

Огромное спасибо за статью и за плагин!!! Надеюсь будет дорабатываться. Готов поучаствовать как бета тестер. Пользую сплиты rovex которые работают на этом приложении. Два зашли в хк, но в бридже отображаются как не поддерживаемые. После добавления прописал мак адреса, но какая то путаница была с управлением, реагировал не тот который должен был))  возможно я уже присыпал и , что то напутал.

В любом случае спасибо еще раз!!! Если надо будет потестить -буду рад.

 отличная статья, адаптировать бы ещё под home assistant цены бы не было)

На питоне почти есть решение
https://github.com/liaan/broadlink_ac_mqtt">https://github.com/liaan/broad...

Есть какие обновления?

Охладительный сезон начался :) как там с плагином для нодереда ? 

К сожалению, я так и не смог в node-red(

Продолжается ли работа?

Да, но не совсем) Плагин переписываю на Swift. (От JS у меня голова болит))))

Максим, есть подвижки?)

Да, появилась поддержка более 1 кондиционера и чтение температуры окружающей среды

В 2018 покупал Midea, в нем есть удаленное управление, но плагин не искал. В то время Рубетек рекламил ее, работает со свистком его, который напрямую в хомкит. Сейчас Рубетек рекламирует похожий Хаер, но цена выросла сильно

Максим, здравствуйте! Очень прошу. Подскажите как применить данный код? Какой софт для этого нужен? Очень хочется реализовать данную идею дома. Если не затруднит, дайте краткую инструкцию🙏
Спасибо!!!
Обновления какие то планируются или уже все заборошено ?

Вернуться назад
Вернуться назад