Страница 1 из 1

Подключение кондиционеров CooperHunter новых серий

Добавлено: Пн мар 19, 2018 12:40 pm
indiana
Приобрёл себе такой девайс Cooper&Hunter CH-S12FTXN-E2WF Wi-Fi. Серия эта новая и это уже не Gree, производятся на другом заводе, имеет WiFi модуль несовместимый со старыми.
После разбора содержимого приложения под андрюшу выяснилось что заботливый китаец реализовал всю логику на JS и заботливо оставил нам его вместе с картой. ;)
Кондейка общается с облаком по MQTT, шлет и получает всё в шифрованном виде. Расшифровать содержимое не представляет особого труда, но беда в том, что пакеты содержат непечатные символы, соответственно получить такое в Мажоржомо напрямую в свойство объекта нельзя. Локально обмен с приложением идёт по TCP, этот метод и заюзаем.

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

• ac_mode (0 - auto, 1 - cool, 2 - dry, 3 - vents, 4 - heat)
• dry - dry mode (0/1)
• eco - eco mode (0/1)
• energy save - energy save mode (0/1)
• fan_direction (0 - default, 1 - swing in full range, 2 - fixed in the upmost position, 3 - fixed in the middle-up position, 4 - fixed in the middle position, 5 - fixed in the middle-low position, 6 - fixed in the lowest position)
• fan_speed (0 - auto, 1 - 1 speed, 2 - 2 speed, 3 - 3 speed, 4 - 4 speed, 5 - 5 speed, 6 - stepless, 8 - turbo)
• health - smart ion filter on/off (0/1)
• indoorTemperature - current temperature
• light - dislay on/off (0/1)
• power - power on/off (0/1)
• quiet - quiet mode (0/1)
• sleep - sleep mode (0/1)
• stepless_max - maximum fan speed in stepless mode (0-100)
• temperature - set temperature
• temptype - temperature unit C/F (0/1)
• timer - timer type (0 - timer off, 1 - to turn on AC, 2 - to turn off AC)
• timer_h - hours (0-24)
• timer_m - minut (0-59)
• timing - unknown
• wdnumber_mode - unknown

Для записи вручную, в отдельный топик cmd, значения аналогично приведеным выше:
• set_ac_mode
• set_fan_direction
• set_power
• set_quiet
• set_stepless_max
• set_temp
• set_fan_speed
• set_stepless_max
• set_light
• set_health
• set_sleep
• set_energy_save
• set_timer

Что не сделано:
переключение по Цельсию/Фаренгейту, мне не надо было изначально
управление отдельно режимом осушения dry mode, не нашел ни одного режима где его можно было бы влючить или выключить принудительно

Свойства и методы для класса в аттаче, имена свойств аналогичны именам топиков.
По умолчанию файл конфигурации положить в /etc/hvac-mqtt-bridge, инит файл(для дебиан и ко.) в /etc/init.d
Если кто-то захочет реализовать в виде модуля могу дать полное описание как локальной версии протокола, так и шифрования для варианта с MQTT.

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Пн мар 19, 2018 1:31 pm
directman66
Кондей можно подключить к роутеру и управлять удаленно mqtt majordomo или тут какой-то другой вариант?

Или только свой сервис на Pythone.

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Пн мар 19, 2018 3:09 pm
indiana
В кондиционере стоит WiFi модуль. Вы его подключаете к своей домашней сети, есть приложение HomeEasy специально для управления с мобильных устройств. У меня задача стояла интегрировать его в систему умного дома. Скрипт выполняет роль моста, подключается к кондею, опрашивает состояние и отсылает его брокеру. Ну и управляется тоже через брокер, если в соответствующий топик прилетает валидная команда формирует пакет и шлёт кондею.

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Пн мар 19, 2018 3:59 pm
directman66
т.е. к уже имеющемуся брокеру его подцепить нельзя?

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Пн мар 19, 2018 5:33 pm
indiana
Как раз скрипт и нужен для того, чтобы получать данные от кондея и передавать их в мажордомо через ваш MQTT сервер.
В конфигурационном файле указываете свой адрес MQTT (логин/пароль если надо, интервал опроса) и работаете через него, получаете состояние или отправляете команды.

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

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Пн мар 19, 2018 8:09 pm
directman66
А что это за протокол JSON и где еще используется? Вы его каким образом расковыряли? Есть какое-то описание протокола?

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Чт мар 22, 2018 11:28 am
indiana
JSON не используется. JS - ява скрипт. Я писал уже что нашел его в приложении для андроида, там же был и мап-файл для отладки.

Re: Подключение кондиционеров CooperHunter новых серий

Добавлено: Чт окт 25, 2018 12:06 pm
vladmezh
Очень интересно !!!
А для чайников - что с этим делать то ? :?: