Skip to content

Repository files navigation

TECO iHome for Home Assistant

hacs Validate License: MIT

Control TECO iHome air conditioners from Home Assistant — power, HVAC mode, target temperature and indoor-temperature sensing — via the same cloud backend the official TECO iHome app uses.

Unofficial integration, not affiliated with TECO. It relies on a reverse-engineered cloud API and a plaintext TAISEIA 101 gateway. Please read the Disclaimer before installing.

Features

  • 🔌 Power on/off
  • ❄️ HVAC mode — cool / dry / fan-only / auto / heat (only the modes your unit reports are exposed)
  • 🌡️ Target temperature — 16–31 °C, 1° steps
  • 📈 Indoor temperature sensor
  • 🔁 Live state — changes made from the TECO app are reflected in Home Assistant within seconds (cloud push), with REST polling as a fallback
  • 🔐 Password is never stored — only OAuth tokens are persisted; expired sessions re-authenticate automatically, with a reauth prompt as a fallback
  • 🏠 Multiple air conditioners on one account are discovered automatically

Verified vs. gated

Capability Status
Power, mode, target temperature ✅ Verified end-to-end against real hardware
Indoor-temperature sensor
Fan speed ⏸️ Gated off — value semantics not yet confirmed by packet capture (FAN_SEMANTICS_VERIFIED = False in const.py)
Swing ⏸️ Gated off (pending capture)
Energy / power sensors Created only if the cloud reports consumption

Gated capabilities are deliberately hidden so the integration never sends an unverified command to real hardware.

Installation

HACS (recommended)

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Click the button above to open this repository in HACS on your own Home Assistant, then download it and restart. Or add it manually:

  1. In HACS → Custom repositories, add https://github.com/zodius/teco_ihome with category Integration.
  2. Search for TECO iHome, install it.
  3. Restart Home Assistant.

Manual

  1. Copy custom_components/teco_ihome/ into your Home Assistant config/custom_components/ directory.
  2. Restart Home Assistant.

Configuration

  1. Settings → Devices & Services → Add Integration → “TECO iHome”.
  2. Enter your TECO iHome account email and password.

Your air conditioners are discovered automatically and appear as climate entities plus a room-temperature sensor.

How it works

  • Auth & discovery: HTTPS REST API at api.tecoserver.com.
  • Control & state: a long-lived plaintext TCP connection to tecoserver.com:8750 carrying TAISEIA 101 6-byte binary frames (06 <saId> <service> <hi> <lo> <xor>), with a 5-second keepalive and exponential-backoff reconnect.

Commands are confirmed by the device's echo/state frame before Home Assistant updates the entity — there is no unconfirmed optimistic state.

See DISCLAIMER.md for the legal notice.

Development

python3.13 -m venv .venv && . .venv/bin/activate
pip install -r requirements_test.txt
pytest

The pure protocol layer (taiseia.py) is verified against captured golden frames in tests/contract/ and tests/unit/test_taiseia.py. REST, gateway, coordinator, config-flow, climate and sensor layers are covered under tests/.

Contributing

Issues and PRs welcome — see CONTRIBUTING.md. Packet captures that pin down fan-speed / swing value semantics are especially useful for un-gating those features.

License

MIT

About

Unofficial Home Assistant custom integration for TECO iHome air conditioners (cloud, TAISEIA 101)

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages