Thanks. My AC needs TCL Home app and doesn’t expose any wi-fi network
I have a Airco from TCL as well and use the TCL Home app. I’ve been proxying the app through Proxyman to see what kind of API calls it’s making and I can actually see what it’s sending to them mostly to prod.aws.tcljd.com but I will setup a proxy for the other way around too to see what the airco actually gets back when I change the temp or turn it off/on.
I’ll keep you guys posted if there’s still anyone who wants to know.
(Can’t really parrot the API calls because it’s timestamped with nonce and sign and accessTokens so more work is needed to reverse engineer this)
Thanks, that would be great! Got two of these ACs, they are really great value for heating and cooling. Its a bit of shame that we cant integrate them into HA.
Not sure if relevant but some wifi modules are Broadlink based :
as commented in this repo:
After spending a long time using the official TCL app (which is rubbish) I finally got frustrated enough to do something about it. The official app is slow, terrible to use and more importantly constantly nags for Bluetooth permissions. I have also seen it attempt to access my clipboard, all very sahdy.
I ordered several relatively inexpensive ESP8266/ESP01-M from aliexpress with an integrated IR Receiver/Transmitter. Then using ESPHome, I turned it into an IR remote for my aircon, which now gives me a “climate” entity to add to the dashboard / use in automations.
It is VERY simple to do. You just order the device, it looks something like this
And then you’ll of course need a programmer (I use a CH340G based one that I got from a local shop) - these should be in any serious HASS user’s arsenal
Then I just wrote the below code to it, and then added the climate entity and it works!! The best part the IR library for tcl that the ESP integration uses supports “receiver” mode, so if you place the ESP near the aircon’s I/R receiver itself, it can detect when someone aims the remote at the aircon and changes something, so the A/C state is always up-to-date within home assistant.
esphome: name: living-room-ac esp8266: board: esp01_1m # Enable logging logger: # Enable Home Assistant API api: ota: password: "secure" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "living-room-ac" password: "securepw123" captive_portal: text_sensor: - platform: wifi_info ip_address: name: "living-room-ac IP Address" binary_sensor: - platform: status name: "living-room-ac Connection State" remote_receiver: id: ir_receiver pin: number: GPIO14 inverted: True mode: input: true pullup: true tolerance: 55% dump: all remote_transmitter: id: ir_transmit pin: GPIO4 carrier_duty_percent: 50% climate: - platform: tcl112 name: "office-ac" id: climate_ac transmitter_id: ir_transmit receiver_id: ir_receiver sensor: temp # optional - remove if you don't want "current" temperature sensor: # remove below code block if you don't want "current" temperature - platform: homeassistant name: "Office-ac-Temp" # adjust below entity to temp sensor of room this aircon is in entity_id: sensor.lumi_lumi_sensor_ht_00a42202_temperature id: temp internal: true - platform: wifi_signal name: "living-room-ac WiFi Signal Strength" update_interval: 60s - platform: uptime name: "living-room-ac Uptime" switch: - platform: restart name: "living-room-ac Device reboot"