# TCLimate: reconstructing selected TCL Home cloud controls

> Implements selected TCL Home air-conditioner controls and electricity reporting in a native macOS menu-bar app. It adapts earlier community protocol work and documents an Android-module investigation to recover a separate statistics request. Reported validation checks cloud state, not independent physical operation or complete device equivalence.

- Type: Case study
- Targets: App · Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-18
- Original resource: <https://github.com/umarz317/TCLimate>
- Primary source: <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Docs/Investigation.md>
- Catalog page: <https://awesomerea.org/resources/tclimate-cloud-controls-case/>
- Record JSON: <https://awesomerea.org/resources/tclimate-cloud-controls-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/tclimate-cloud-controls-case/index.md)

## Requirements & limits

- **Prerequisites:** Reviewed v0.1.6 beta requires macOS 14+, internet access and a TCL account with already-paired ACs. Building needs Swift 6.0+, Xcode Command Line Tools and a persistent signing certificate for the packaged app. Pairing still uses TCL Home; local LAN control and direct Google sign-in are absent.
- **Attribution:** The protocol implementation credits nemesa’s MIT-licensed Home Assistant integration. The electricity API was reportedly identified through Android Flutter-module inspection and a successful request capture; original packages, captures and detailed investigation logs are not included in the repository.
- **Scope:** Source guards commands using reported model/state fields, restricts target temperature to whole degrees from 16–30°C, and checks reported state after sending. Unsuccessful confirmation is marked. Extra controls depend on available fields and modes.
- **Testing evidence:** Author validation covers a Pakistan account and two Split AC-1 units: authentication, discovery, reported state, power, temperature and daily electricity. Modes, fan, airflow and other optional controls lack physical validation; other regions/models remain unverified.
- **Scope:** Energy parsing preserves genuine zeros, excludes invalid readings and leaves missing days as gaps; a seven-day total requires all seven readings. No persistent energy history or cost estimate is implemented. Offline tests are reported but absent from the reviewed tree/package targets.
- **License:** MIT covers project code, with attribution retained for the earlier integration. Official services and third-party material retain separate terms. This is an unofficial cloud-dependent client, not recovered TCL source or firmware; APIs may change independently of the app.

## Primary sources

1. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Docs/Investigation.md>
2. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/README.md>
3. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Docs/Releases/v0.1.6.md>
4. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Package.swift>
5. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Scripts/build-app.sh>
6. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Sources/TCLCore/ACControls.swift>
7. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Sources/TCLCore/CloudClient.swift>
8. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Sources/TCLCore/EnergyReport.swift>
9. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/Sources/TCLMenuBar/AppStore.swift>
10. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/LICENSE>
11. <https://github.com/umarz317/TCLimate/blob/2a33c2013dbf3f297238131ca9eb6e287b2beb67/THIRD_PARTY_NOTICES.md>
12. <https://github.com/nemesa/ha-tcl-home-unofficial-integration/blob/fdba4d7a0b8213f4f68a74b4ce0f932343802b6b/LICENSE>

## More in Apps

- [Browserbase plugin: re-hosting Claude in Chrome’s browser bridge](https://awesomerea.org/resources/browserbase-claude-chrome-bridge-case/index.md) · Case study
- [Visor: an independent Ray-Ban Meta glasses client](https://awesomerea.org/resources/visor-ray-ban-meta-client-case/index.md) · Case study
- [wine-uwp: running packaged Windows Store apps on a patched Wine](https://awesomerea.org/resources/wine-uwp-store-apps-case/index.md) · Case study
- [RKD Telemetry Extractor: decoding Race-Keeper track-day recordings](https://awesomerea.org/resources/rkd-telemetry-extractor-case/index.md) · Case study
- [Elgato HDR: a userspace capture path for the Elgato 4K X’s 10-bit mode](https://awesomerea.org/resources/elgato-hdr-uvc-capture-case/index.md) · Case study
- [LGwebOS-menubar: a native macOS remote for LG webOS TVs](https://awesomerea.org/resources/lgwebos-menubar-remote-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
