TCL Home - home assistant integration (unofficial)
ha-tcl-home-unofficial-integration
TCL Home - Home Assistant integration (unofficial)Supported device types
- Split AC
- Split AC Fresh air
- Portable AC
- Window AC
- Duct AC
- Dehumidifier (DEM)
- Dehumidifier (DF)
- Breeva Air Purifier A2 (by Ajsalemo)
- Breeva Air Purifier A3 (by Ajsalemo)
- Breeva Air Purifier A5 (by Ajsalemo)
- Cylindrical AC (by joe-sal)
Notes by device types
Portable AC
No ad-hoc temperature type change between Celsius and Fahrenheit; it will use the System-defined temperature type.
Unsupported device types
Devices not recognized by the integration will be create as a remote. The device type will be shown, under The Device Info in this sample it's "Smart TV" Use this type when requesting support for it
Credit
The idea for basic login is from DavidIlie’s project. The Home Assistant integration samples helped a lot.Discord invite link
For direct messages or for collaboration with missing device types https://discord.gg/8AcrRmNfVjHow it works
This integration is the result of reverse-engineering the “TCL Home” Android app. For setup, we only need the username/password used for the app. Since this is not an official integration from TCL, I recommend creating a new user for this integration and sharing your devices with that user—just in case TCL decides to ban the account.How to install
HACS
This integration is now awaliable in HACS, just search for "TCL Home"
Update from Manual to HACS
If you already had a manual installation by hand and now you want to use HACS, just simply download the integration with HACS; it will overwrite the manual installation. Then restart Home Assistant.Manual instalion
Steps:
- Download the ZIP from GitHub and extract
ha-tcl-home-unofficial-integration-main.zip.
- At HomeAssistant Host, create a folder named
custom_componentsnext to yourconfiguration.yaml(if you don't already have one). - Inside
customcomponents, create a folder namedtclhome_unofficial. - Copy all files from the ZIP’s
/ha-tcl-home-unofficial-integration-main/customcomponents/tclhomeunofficial/folder into your newcustomcomponents/tclhomeunofficialfolder. Should look like this:
Note the translations folder with the en.json, you have to copy that foler and file too.
- Restart Home Assistant.
- In the Home Assitant go to Settings → Devices & Services → + Add Integration, then search for “TCL Home” and follow the setup steps.
Optionally, you can install the File Editor add-on to create the folders and upload files or to edit configuration.yaml Install it at: Home Assitant Settings → Add-ons, then search for “File editor.”
Logs
For info logs extend theconfiguration.yaml with
logger:
logs:
customcomponents.tclhome_unofficial: info
Logs can be found in Home Assistant at Settings->System->Logs menu:
then "Show full logs" in the "..." menu
Then the integration related logs will start with [customcomponents.tclhome_unofficial... 
Diagnosics files
Config diagnostic
In Home Assistant go to Settings -> "Devices & services" -> on the Integrations tab find the "TCL Home - Unofficial" integartion In the "..." menu select the "Download diagnostics"
Device diagnostic
Same path as for the "Config diagnostic" select the device, then user the "DOWNLOAD DIAGNOSTICS" link
Power and work hours data
The integration will assume all devices have this data available. In the init phase, it will try to get this data, and if it fails, it won't try again ever. To force the integration to re-setup at the next reload, we can use these functions under the "Diagnostic" section:- "Try get Power Consumption Data" button
- "Try get Work Time Data" button
Sensors
- Today Energy Consumption
- Yesterday Energy Consumption
- Today Work Time
- Yesterday Work Time
However, the "Sync with TCL Home" button in the "Diagnostics" section does refresh it and resets the 1-hour countdown for the next refresh. So if needed, one can manually sync the counter reset with the poll interval, and should get a good enough "Today Energy Consumption" value if needed. The integration doesn't do this automatically as it involves time zones, and it could be a different time by device. (Happy to review any code contributions to make this part nicer)
Functions map
SELECT_MODE
SELECT_MODE | Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| |
|
||
MODEACAUTO
MODEACCOOL
MODEACDEHUMIDIFICATION
MODEACFAN
MODEACHEAT
SWITCH_POWER
SWITCH_POWER - Powers on or powers off the device
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
|
|| | On |
|
||
SELECTWINDSPEED
SELECTWINDSPEED -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | |
|
|| | AUTO |
|
||
SWITCH_BEEP
SWITCH_BEEP -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
|
|| | On |
|
||
SWITCH_ECO
SWITCH_ECO -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
|
|| | On |
|
||
SWITCHAIECO
SWITCHAIECO -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | | | ||
SWITCH_HEALTHY
SWITCH_HEALTHY -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
|
|| | On |
|
||
SWITCH_DRYING
SWITCH_DRYING -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
| (in "... More")
| (in Settings)
| | On |
|
||
SWITCH_SCREEN
SWITCH_SCREEN -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
|
|| | On |
|
||
SWITCHLIGHTSENSE
SWITCHLIGHTSENSE -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off | TODO:add pic | (in Settings)
|| | On | TODO:add pic |TODO:add pic ||
SWITCHSWINGWIND
SWITCHSWINGWIND -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | On | TODO:add pic |TODO:add pic || | Off | TODO:add pic |TODO:add pic ||
SWITCH_SLEEP
SWITCH_SLEEP -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | On | TODO:add pic |TODO:add pic || | Off | TODO:add pic |TODO:add pic ||
SWITCH8C_HEATING
SWITCH8C_HEATING -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | Off |
|
|| | On |
|
||
SWITCHSOFTWIND
SWITCHSOFTWIND -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | On | TODO:add pic |TODO:add pic || | Off | TODO:add pic |TODO:add pic ||
SWITCHFRESHAIR
SWITCHFRESHAIR -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | On | TODO:add pic |TODO:add pic || | Off | TODO:add pic |TODO:add pic ||
SELECTWINDSPEED7GEAR
SELECTWINDSPEED7GEAR -
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SELECTWINDOWASWINDSPEED
SELECTWINDOWASWINDSPEED -
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SELECTWINDFEELING
SELECTWINDFEELING -
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SELECTVERTICALDIRECTION
SELECTVERTICALDIRECTION -
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| |
|
||
SELECTHORIZONTALDIRECTION
SELECTHORIZONTALDIRECTION -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| |
|
||
SELECTSLEEPMODE
SELECTSLEEPMODE -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| |
|
||
SELECTFRESHAIR
SELECTFRESHAIR -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SELECTGENERATORMODE
SELECTGENERATORMODE -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SELECTTEMPERATURETYPE
SELECTTEMPERATURETYPE - not enabled to any devices as integrations is using °C and the Home Assistant will convert the user's System Temperature Unit.
SELECTPORTABLEWIND_SPEED
SELECTPORTABLEWIND_SPEED -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SELECTPORTABLEWIND4VALUESPEED
SELECTPORTABLEWIND4VALUESPEED -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------- | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
BUTTONSELFCLEAN
BUTTONSELFCLEAN -
| Value | Home Assistan | TCL app | Alternative (for different device type) | | :------------------ | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | press to start |
|
|| | press to stop | TODO:Fix text ("start" should be "stop")
|
||
NUMBERTARGETTEMPERATURE
NUMBERTARGETTEMPERATURE - NUMBERTARGETDEGREE NUMBERTARGETTEMPERATUREALLOWHALF_DIGITS
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
CLIMATE
CLIMATE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SENSORCURRENTTEMPERATURE
SENSORCURRENTTEMPERATURE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SENSORINTERNALUNITCOILTEMPERATURE
SENSORINTERNALUNITCOILTEMPERATURE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SENSOREXTERNALUNITCOILTEMPERATURE
SENSOREXTERNALUNITCOILTEMPERATURE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SENSOREXTERNALUNIT_TEMPERATURE
SENSOREXTERNALUNIT_TEMPERATURE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
SENSOREXTERNALUNITEXHAUSTTEMPERATURE
SENSOREXTERNALUNITEXHAUSTTEMPERATURE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
USERCONFIGBEHAVIORMEMORIZETEMPBYMODE
USERCONFIGBEHAVIORMEMORIZETEMPBYMODE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
USERCONFIGBEHAVIORMEMORIZEFANSPEEDBY_MODE
USERCONFIGBEHAVIORMEMORIZEFANSPEEDBY_MODE
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
USERCONFIGBEHAVIORSILENTBEEPWHENTURN_ON
USERCONFIGBEHAVIORSILENTBEEPWHENTURN_ON
| Home Assistan | TCL app | Alternative (for different device type) | | :------------------------------------------------------------: | :-------------------------------------------------------------: |:-:| | TODO:add pic |TODO:add pic ||
How the integration looks
Climate contoll implementaion:

Dashboard example: 