can you please recap the instructions used
this is a recap.
create a directory for the addon
download the zip from git
unzip it
execute docker build . --build-arg=âBUILD_FROM=alpine:3.19â -t ha-connectlife-addon
create compose.yml like this one
version: â3.8â
services:
ha-connectlife-addon:
image: ha-connectlife-addon
environment:
- CONNECTLIFE_LOGIN=YOUR CONNECTLIFE EMAIL
- CONNECTLIFE_PASSWORD=YOUR CONNECTLIFE PWD
- LOG_LEVEL=info
- MQTT_HOST=YOUR MQTT IP (dont use 127.0.0.1, it fail to me)
- MQTT_USER=YOUR MQTT USER
- MQTT_PASSWORD=YOUR MQTT PWD
- MQTT_PORT=1883
- MQTT_SSL=false
command: /bin/ash -c âphp artisan app:mqtt-loopâ
now launch with docker compose up -d
now you should have all a/c in HA under mqtt
Whatâs wrong with these instructions?
Install in Home Assistant with Supervisor
- Make sure your Connectlife appliances are online.
- In Supervisor, navidate to the Add-on Store.
- From the overflow menu, select âRepositoriesâ.
- Add
https://github.com/bilan/home-assistant-addons/
.- Wait for Add-on to appear or click âReloadâ in the same overflow menu.
- Install / build thhe add-on.
- Turn on the add-on watchdog - Connectlife API is not stable and sometimes times out.
- In the Configuration section, fill in the necessary fields. If you leave the fields blank, the add-on will attempt to fetch MQTT credentials from the Supervisor API.
Hello,
I followed the instructions and did have the MQTT integration appear but nothing was discovered:
I can confirm that the API add-on is receiving information from Connectlife with the A/C information.
Hi
I used the instructions in the formal helpâŚ
Install in Home Assistant with Supervisor
- Make sure your Connectlife appliances are online.
- In Supervisor, navidate to the Add-on Store.
- From the overflow menu, select âRepositoriesâ.
- Add
https://github.com/bilan/home-assistant-addons/
.- Wait for Add-on to appear or click âReloadâ in the same overflow menu.
- Install / build thhe add-on.
- Turn on the add-on watchdog - Connectlife API is not stable and sometimes times out.
- In the Configuration section, fill in the necessary fields. If you leave the fields blank, the add-on will attempt to fetch MQTT credentials from the Supervisor API.
The only thing I would add is that, in my case, leaving field blank did not work, and I had to fill username and password (as I expected) manually. Also you need MQTT installed⌠But it was very âeasyâ if you have a little HomeAssistant experience.
Good luck!
Raul
I had left this effort alone for a few days.
Now today, all of a sudden, the MQTT integration discovered the portable A/C.
Very odd!
Working great, thank you for the addon!
Under MQTT there were still no ConnectLife devices discovered. I tried also manually adding MQTT ip, username and password. My MQTT server is working, already are there 88 devices.
In log I can see many reports like this but I believe this is because I have different type of AC (feature code 109) and a few other products in my ConnectLife account
2024-03-04 15:32:34,912 DEBG 'mqtt' stdout output:
[ErrorException]
Undefined array key "t_temp_type"
Exception trace:
at /home/app/app/Services/AcDevice.php:28
Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:255
Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}() at /home/app/app/Services/AcDevice.php:28
App\Services\AcDevice->__construct() at /home/app/app/Services/ConnectlifeApiService.php:139
App\Services\ConnectlifeApiService->getOnlineAcDevices() at /home/app/app/Services/MqttService.php:18
App\Services\MqttService->__construct() at n/a:n/a
ReflectionClass->newInstanceArgs() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:952
Illuminate\Container\Container->build() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:795
2024-03-04 15:32:34,912 DEBG 'mqtt' stdout output:
Illuminate\Container\Container->resolve() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:957
Illuminate\Foundation\Application->resolve() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:731
Illuminate\Container\Container->make() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:942
Illuminate\Foundation\Application->make() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:181
Illuminate\Container\BoundMethod::addDependencyForCallParameter() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:124
Illuminate\Container\BoundMethod::getMethodDependencies() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Util.php:41
Illuminate\Container\Util::unwrapIfClosure() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
Illuminate\Container\BoundMethod::callBoundMethod() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:35
Illuminate\Container\BoundMethod::call() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:662
Illuminate\Container\Container->call() at /home/app/vendor/laravel/framework/src/Illuminate/Console/Command.php:211
Illuminate\Console\Command->execute() at /home/app/vendor/symfony/console/Command/Command.php:326
Symfony\Component\Console\Command\Command->run() at /home/app/vendor/laravel/framework/src/Illuminate/Console/Command.php:180
Illuminate\Console\Command->run() at /home/app/vendor/symfony/console/Application.php:1096
Symfony\Component\Console\Application->doRunCommand() at /home/app/vendor/symfony/console/Application.php:324
Symfony\Component\Console\Application->doRun() at /home/app/vendor/symfony/console/Application.php:175
Symfony\Component\Console\Application->run() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:201
Illuminate\Foundation\Console\Kernel->handle() at /home/app/artisan:35
2024-03-04 15:32:34,912 DEBG 'mqtt' stdout output:
Illuminate\Container\Container->resolve() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:957
Illuminate\Foundation\Application->resolve() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:731
Illuminate\Container\Container->make() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:942
Illuminate\Foundation\Application->make() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:181
Illuminate\Container\BoundMethod::addDependencyForCallParameter() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:124
Illuminate\Container\BoundMethod::getMethodDependencies() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Util.php:41
Illuminate\Container\Util::unwrapIfClosure() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
Illuminate\Container\BoundMethod::callBoundMethod() at /home/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:35
Illuminate\Container\BoundMethod::call() at /home/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:662
Illuminate\Container\Container->call() at /home/app/vendor/laravel/framework/src/Illuminate/Console/Command.php:211
Illuminate\Console\Command->execute() at /home/app/vendor/symfony/console/Command/Command.php:326
Symfony\Component\Console\Command\Command->run() at /home/app/vendor/laravel/framework/src/Illuminate/Console/Command.php:180
Illuminate\Console\Command->run() at /home/app/vendor/symfony/console/Application.php:1096
Symfony\Component\Console\Application->doRunCommand() at /home/app/vendor/symfony/console/Application.php:324
Symfony\Component\Console\Application->doRun() at /home/app/vendor/symfony/console/Application.php:175
Symfony\Component\Console\Application->run() at /home/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:201
Illuminate\Foundation\Console\Kernel->handle() at /home/app/artisan:35
2024-03-04 15:32:35,914 INFO success: mqtt entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-03-04 15:32:35,914 INFO success: mqtt entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Should this work for tumble dryer too?
This error should be fixed in v2.1.3 released today.
Every Connectlife App device should have been accessible through the add-on API (default port 8000), but you had to discover by yourself what properties the device has and how to change them.
Thank you so much for this addon !!! Finally I can manage my AC from Home Assistant!
It works now for AC!
How can you add to configuration also other device types? I would like to add my oven.
Hi guys, just to let you know that after an plugin update, my refrigerator RF793N4SAFE show up!
These are all the information it sends! Now, to put it to some use
"deviceNickName":"Refrigerator","deviceFeatureCode":"1b0610z0049j","deviceFeatureName":"BCD-610WP1BWF1S3/HC4(HAB)","deviceTypeCode":"026","deviceTypeName":"","bindTime":1710171538374,"role":1,"roomId":3836987,"roomName":"default_room","statusList":{"refrigerator_temperature":"4","freeze_temperature":"-18","variation_temperature":"-40","work_mode1":"0","work_mode2":"0","mainboard_version":"151","refrigerator_real_temperature":"3","freeze_real_temperature":"-17","variation_real_temperature":"-40","environment_real_temperature":"20","freeze_sensor_real_temperature":"-40","refrigerator_sensor_real_temperature":"-17","variation_sensor_real_temperature":"-40","sensor_failure_status":"0","control_failure_status":"0","running_status":"0","mainboard_type":"70","displayboard_key_setting":"0","displayboard_type":"75","compressor_frequency":"0","refrigerator_poweron_ad":"0","refrigerator_poweroff_ad":"0","freeze_poweron_ad":"0","freeze_poweroff_ad":"0","variation_poweron_ad":"0","variation_poweroff_ad":"0","sensor_failure_status2":"0","temperature_room_judge":"19","wifi_setting":"0","displayboard_version":"1","environment_humidity":"58","model_type":"26","refrigerator_min_temperature":"2","refrigerator_max_temperature":"9","variation_min_temperature":"-20","variation_max_temperature":"5","freeze_min_temperature":"-24","freeze_max_temperature":"-13","wifi_next_sendtime":"0","open_the_door_alarm":"0","displayboard_brand":"3","refrigerator_door_open_time":"0","variation_door_open_time":"0","freeze_door_open_time":"0","wifi_handshake_fault_flag":"0","reserve46":"0","reserve47":"0","reserve48":"0","reserve49":"0","reserve50":"0","reserve51":"0","reserve52":"0","reserve53":"0","reserve54":"0","reserve55":"0","reserve56":"0","reserve57":"0","reserve58":"0","reserve59":"0","reserve60":"0","reserve61":"65535","reserve62":"65535","reserve63":"65535","reserve64":"65535","reserve65":"65535","reserve66":"65535","reserve67":"65535","reserve68":"65535","reserve69":"65535","reserve70":"65535","reserve71":"65535","reserve72":"65535","fuzzy_mode":"0","save_mode":"0","show_mode":"0","sf_mode":"0","sr_mode":"0","holiday_mode":"0","debacilli_mode":"0","free_temp_sens_head_failure":"0","refr_temp_sens_head_failure":"0","vari_temp_sens_head_failure":"0","envi_temp_sens_head_failure":"0","refr_evap_temp_sens_head_failure":"0","free_evap_temp_sens_head_failure":"0","inlet pipe_temp_sens_head_failure":"0","tx_failure":"0","free_defrosting_failure":"0","free_fan_failure":"0","refr_defrosting_failure":"0","refr_fan_failure":"0","rx_failure":"0","ice_making_machine_failure":"0","refr_room_open":"0","free_room_open":"0","vari_room_open":"0","commodity_inspection":"0","frost_state":"0","compressor_condition":"0","refr_key":"0","vari_key":"0","free_key":"0","alarm_key":"0","mode_key":"0","lock_key":"0","vari_evap_temp_sens_head_failure":"0","free_room_over_temp_alarm_failure":"0","humidity sensor_failure":"0","refr_room":"1","free_room":"1","vari_room":"0","custard_room":"0","automatic_ice_making":"1","existing_fuzzy_mode":"0","existing_save_mode":"1","existing_holiday_mode":"0","existing_sf_mode":"1","existing_sr_mode":"1","open_refrigerator_door_alarm":"0","open_freeze_door_alarm":"0","open_variation_door_alarm":"0","display_panel_ronshen":"1","wifi_rx_fault_flag":"0","wifi_tx_fault_flag":"0","wifi_fault_flag":"0","ali_wifi_fault_flag":"0","lock_fresh_mode":"0","existing_lock_fresh_mode":"0","dbd_clean_mode":"0","special_space":"0","high_temperature":"0","medium_temperature":"0","low_temperature":"0","high_humidity":"0","medium_humidity":"0","low_humidity":"0","variable_temperature_space ":"0","wet_and_dry_space":"0","user_debacilli_mode":"0","ref_light":"0","load_operation_status2":"0","pairing":"0","not_active":"1","pairing_active":"0","unpair_all_users":"0","monitor":"0","monitor_set":"0","monitor_set_act":"0","temperature_unit":"0","running_status3":"0","vacuum_on_off_status":"0","human_on_off_status":"0","super_water_supply_mode":"0","gold_water_supply_mode":"0","micro_water_supply_mode":"0","water_box_mode_status":"0","water_box_lack_status":"0","sf_sr_mutex_mode":"1","electric_energy_one_tenths_value":"0","electric_energy_percentile_thousands_value":"5","electric_current":"129","ice_making_state":"0","filter_state":"93","power_hundred_ten_value":"0","power_one_tenths_value":"0","power_voltage":"0","fruit_vegetables_temperature":"0","ice_sensor_failure_flag":"0","ice_temperature_sensor_header_failure_flag":"0","variable_fan_failure_status":"0","condensation_fan_failure_status":"0","unfreeze_switch_status":"0","variable_heater_failure_status":"0","right_free_sensor_failure":"0","wine_sensor_failure_flag":"0","wine_light":"0","real_humidity":"0","standby_mode_valid":"0","standby_mode_state":"0","refrigerator_freeze_swith_state":"0","refrigerator_freeze_swith":"0","water_tank_install_state":"0","temp_auto_ctrl_mode_state":"0","fast_store_mode_status":"0","will_light_market_mode_state":"0","will_light_switch_state":"0","will_light_mode_state":"0","will_light_mode_exist":"0","temp_auto_ctrl_mode_exist":"0","market_mode_exist":"0","fast_store_mode_exist":"0","free_room_open_2":"0","var_room_open_2":"0","real_humidity_b":"0","real_humidity_c":"0","measured_vibrations":"0","wine_area_switch_status":"0","quiet_mode_status":"0","sabbath_mode_switch_status":"0","night_mode_status":"0","night_mode_start_hour":"0","night_mode_start_min":"0","night_mode_end_hour":"0","night_mode_end_min":"0","date_display_format_status":"0","shelf_light_a_state":"0","shelf_light_b_state":"0","shelf_light_c_state":"0","rgb_light_state":"0","camera_state":"0","sabbath_mode_status":"0","shelf_light_atmosphere_mode_brightness":"0","shelf_light_function_mode_brightness":"0","rgb_light_normal_brightness":"0","rgb_light_atmosphere_brightness":"0","rgb_light_function_brightness":"0","shelf_light_normal_on_time":"0","shelf_light_function_on_time":"0","human_sense_ui_display_state":"0","shelf_light_atmosphere_brightness":"0","rgb_light_normal_on_time":"0","human_sense_light_status":"0","rgb_light_atmosphere_on_time":"0","rgb_light_function_on_time":"0","date_format_status":"0","rgb_normal_mode_r_value":"0","rgb_normal_mode_g_value":"0","rgb_normal_mode_b_value":"0","rgb_atmosphere_mode_r_value":"0","rgb_atmosphere_mode_g_value":"0","rgb_atmosphere_mode_b_value":"0","rgb_function_mode_r_value":"0","rgb_function_mode_g_value":"0","rgb_function_mode_b_value":"0","normal_sound_size":"0","wine_b_switch__area":"0","alarm_sound_volume":"0","humdy_test_switch_state":"0","key_press_sound_volume":"0","water_box_alarm_switch_state":"0","screen_display_brightness":"0","night_mode_screen_dark_level":"0","night_mode_light_dark_level":"0","child_lock_open_door_sound_alarm":"0","theme_color":"0","screen_to_clock_time":"0","child_lock_switch_status":"0","child_lock_open_alarm":"0","screen_to_standby_time":"0","screen_display_lock":"0","charcoal_filter_surplus_time":"0","water_filter_surplus_time":"0","filter_alarm_time":"0","up_wine_area_a_humdy_fault":"0","mid_wine_area_b_humdy_fault":"0","low_wine_area_c_humdy_fault":"0","language_select":"0","date_time_format_day_state":"0","date_time_format_month_state":"0","date_time_format_year_state":"0","vibration_sensor_fault":"0","up_wine_area_a_temp_fault":"0","mid_wine_area_b_temp_fault":"0","low_wine_area_c_temp_fault":"0","mid_wine_area_b_evaporator_fault":"0","low_wine_area_c_evaporator_fault":"0","up_wine_area_a_fan_fault":"0","mid_wine_area_b_fan_fault":"0","low_wine_area_c_fan_fault":"0","ice_making_b_switch_status":"0","door_open_ui_display_status":"0","door_open_light_status":"0","run_status_flag_5":"0","door_close_ui_display_status":"0","door_close_light_status":"0","charcoal_filter_time_reset":"0","water_filter_time_reset":"0","up_wine_area_a_evaporator_fault":"0","vibration_alarm":"0","ODOR_SENSOR_SENSITIVITY":"3","ODOR_SENSOR_NO_DISTURB_MODE_STATUS":"1","ODOR_SENSOR_SWITHC_STATUS":"1","STERI_PURI_CYCLE_FLAG":"1","ODOR_SENSOR_FAULT_FLAG":"0","AIR_FRESHNESS":"0","unfreeze_run_status":"0","will_fresh_light_status":"0","human_sensor_switch_exist":"0","will_fress_light_exist":"0","child_lock_switch_exist":"0","ice_making_full_status":"0","refr_var_room_sens_failure":"0","refr_dry_wet_room_sens_failure":"0","froze_convert_to_refri_switch_status":"0","charcoal_filter_expiration_alarm":"0","var_room_over_temp_alarm":"0","refr_room_over_temp_alarm":"0","lumin_value_of_interior_light":"0","daily_energy_kwh":0},"useTime":1710171538353,"offlineState":1,"seq":0,"createTime":0}
Great work!
I would love to see this too - The addon can see my washing machine, gives me a bunch of outputs but I canât get this across into HA - If I had the knowledge I would love to assist to add it but I know nothing about how it works
I have a Hisense washing also and would love to see this working.
This is great! Just bought Hisense AC, and found this. Thank you!
Did you manage to get it to work? what do you use for the wifi module?
Is anyone willing to integrate also other devices? We can see them in the log, but I have no idea how to get them to the frontend. I can help with testing, maybe share account and maybe we can even help with some reimbursement for working solution
Hi,
Iâve installed the addon and it seems to be connected.
But how do i put this in a dashboard? The mttq broker doesnt see any new entities.
Please advise how to put this in a entitie for a dashboard