Подключение кондиционеров CooperHunter новых серий
Добавлено: Пн мар 19, 2018 12:40 pm
Приобрёл себе такой девайс 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.
После разбора содержимого приложения под андрюшу выяснилось что заботливый китаец реализовал всю логику на 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.