Edsol/esphome-ideal-clima-nemo
GitHub: Edsol/esphome-ideal-clima-nemo
通过逆向工程 Tuya MCU 协议,利用 ESP32-C3 替代原装 Wi-Fi dongle 实现 Ideal Clima Nemo 1000 风机盘管的 Home Assistant 本地控制。
Stars: 0 | Forks: 0
# Ideal Clima Nemo 1000 — 本地控制 (ESP32-C3)
对 **Ideal Clima Nemo 1000** 风机盘管进行逆向工程并实现**本地**集成
无需原始的 TQCT07 Wi-Fi dongle,也无需 Tuya 云端。
ESP32-C3 连接到 **CN2** 接口(Wi-Fi 模块插槽)并模拟该模块,
与显示面板进行 **Tuya MCU** 协议通信。您可以完整读取其
状态并进行**全面控制**(电源、温度、模式、风速)。
## 您可以控制 / 读取的内容
| 功能 | Tuya DP | 类型 | 值 |
|---|---|---|---|
| 电源 | 1 | bool | 开 / 关 |
| 设定温度 | 2 | int | 0–40 °C |
| 环境温度 | 3 | int | 传感器读数 |
| 模式 | 4 | enum | 制冷 / 制热 / 除湿 / 通风 |
| 风速 | 5 | enum | 超低 / 低 / 中 / 高 / 自动 |
| 故障 | 6 | bitmap | 诊断 |
### 显示面板
前面板图标与上述值的对应关系。该面板有两列图标:**模式**(位于 `M` 下方)和**风速**(位于风扇图标下方)。
**模式列**(`M`,DP4)— 从上到下:
| 图标 | 模式 | Tuya 值 |
|---|---|---|
| ☀ 阳光 | 制热 | `heat` (1) |
| ↻ 循环 | 仅通风 | `fan` (3) |
| ❄ 雪花 | 制冷 | `cool` (0) |
| 💧 水滴 | 除湿 | `dehu` (2) |
**风速列**(风扇图标,DP5)— 从上到下:
| 图标 | 速度 | Tuya 值 |
|---|---|---|
| `»»»` | 低 | `low` (1) |
| `»»` | 中 | `medium` (2) |
| `›` | 高 | `high` (3) |
| `A»` | 自动 | `auto` (4) |
其他按键:`⌃`/`⌄` 设定温度加/减 (DP2),`⏻` 电源 (DP1)。
模式列中的循环与水滴的对应关系是根据面板推断的;
权威来源是上方表格中已验证的 DP4 映射。`superlow` 风速 (`0`) 没有专用的面板图标。
## 两种 Home Assistant 集成方式(选择您喜欢的一种)
### 选项 1 — ESPHome(原生 API,推荐)
无需 MQTT broker,自动发现,支持 OTA。参见 [`esphome/`](esphome/)。
- 自定义 `ideal_clima_fancoil` 组件(原生 `climate` 实体)
- 示例配置:[`esphome/ideal_clima_fancoil.yaml`](esphome/ideal_clima_fancoil.yaml)
烧录:
```
cd esphome
cp secrets.yaml.example secrets.yaml # fill in Wi-Fi + generate keys
esphome run ideal_clima_fancoil.yaml
```
### 选项 2 — MQTT
适合已经在运行 broker (Mosquitto) 的用户。支持 Home Assistant 自动发现。参见 [`mqtt/`](mqtt/)。
- PlatformIO 固件:[`mqtt/`](mqtt/)(使用核心库 + PubSubClient + ArduinoJson)
烧录:
```
cd mqtt
cp secrets.ini.example secrets.ini # fill in Wi-Fi + broker
pio run -t upload
```
完整详情及 HA 发现说明详见 [`mqtt/README.md`](mqtt/README.md)。
两者都共享位于 [`esp32/`](esp32/) 的相同核心库 **IdealClimaTuya**。
## 仓库结构
```
esp32/ Core C++ library (IdealClimaTuya) + Arduino example + wiring guide
esphome/ ESPHome component + example YAML
mqtt/ PlatformIO firmware with MQTT + HA discovery (see mqtt/README.md)
extra/ PC tools: passive bus sniff/decode + terminal control (Python + USB-TTL)
board_images/ Photos of the display board (CN1/CN2 connectors, silkscreen)
CLAUDE.md Full technical notes: protocol, hardware, reverse engineering
```
## 接线(摘要)
CN2 是一个 **5-pin JST 1.25mm** 接口:`+5V / T / R / S / GND`。预压接的
JST 1.25mm 5-pin 跨接线即可与其匹配 — 例如 [AliExpress 上的这款](https://it.aliexpress.com/item/1005010705677089.html)
(任何等效的 JST 1.25mm 5-pin 线缆均可)。
```
CN2 pin2 (T) --------------> ESP RX (direct, 3.3V)
CN2 pin3 (R) <-------------- ESP TX (direct, 3.3V)
CN2 pin5 (GND) ------------- ESP GND
CN2 pin1 (+5V) --- optional: power the ESP
CN2 pin4 (S) --- do not connect (leave high)
```
✅ 两条数据线(T 和 R)均在 **3.3V** 下工作(已验证),因此它们可以
**直接**连接到 ESP32-C3 的 GPIO — 无需分压器、电平转换器或电阻。
详情见 [`esp32/WIRING.md`](esp32/WIRING.md)。
## Tuya MCU 协议(摘要)
- UART **9600 8N1**,帧格式 `55 AA `
- **校验和** = **所有**字节之和(包括 `55 AA`)`& 0xFF`
- 版本:模块→MCU 命令 = `00`,MCU→模块响应 = `03`
- 需要进行**握手**(心跳 → 产品 → 工作模式 → 网络状态 → 查询 DP)
此外,在应用命令之前需要**持续发送心跳**(约 1 秒)
- Tuya 产品 ID:`5dgguakbmhwzwiko`
完整详情及逆向工程历史见 [`CLAUDE.md`](CLAUDE.md)。
## 致谢
DP 映射部分基于
[tuya-local ideal_clima_fancoil.yaml](https://github.com/deltaclock/tuya-local/blob/master/custom_components/tuya_local/devices/ideal_clima_fancoil.yaml)。
## 许可证
MIT — 详见 [`LICENSE`](LICENSE)。
前面板图标与上述值的对应关系。该面板有两列图标:**模式**(位于 `M` 下方)和**风速**(位于风扇图标下方)。
**模式列**(`M`,DP4)— 从上到下:
| 图标 | 模式 | Tuya 值 |
|---|---|---|
| ☀ 阳光 | 制热 | `heat` (1) |
| ↻ 循环 | 仅通风 | `fan` (3) |
| ❄ 雪花 | 制冷 | `cool` (0) |
| 💧 水滴 | 除湿 | `dehu` (2) |
**风速列**(风扇图标,DP5)— 从上到下:
| 图标 | 速度 | Tuya 值 |
|---|---|---|
| `»»»` | 低 | `low` (1) |
| `»»` | 中 | `medium` (2) |
| `›` | 高 | `high` (3) |
| `A»` | 自动 | `auto` (4) |
其他按键:`⌃`/`⌄` 设定温度加/减 (DP2),`⏻` 电源 (DP1)。
模式列中的循环与水滴的对应关系是根据面板推断的;
权威来源是上方表格中已验证的 DP4 映射。`superlow` 风速 (`0`) 没有专用的面板图标。
## 两种 Home Assistant 集成方式(选择您喜欢的一种)
### 选项 1 — ESPHome(原生 API,推荐)
无需 MQTT broker,自动发现,支持 OTA。参见 [`esphome/`](esphome/)。
- 自定义 `ideal_clima_fancoil` 组件(原生 `climate` 实体)
- 示例配置:[`esphome/ideal_clima_fancoil.yaml`](esphome/ideal_clima_fancoil.yaml)
烧录:
```
cd esphome
cp secrets.yaml.example secrets.yaml # fill in Wi-Fi + generate keys
esphome run ideal_clima_fancoil.yaml
```
### 选项 2 — MQTT
适合已经在运行 broker (Mosquitto) 的用户。支持 Home Assistant 自动发现。参见 [`mqtt/`](mqtt/)。
- PlatformIO 固件:[`mqtt/`](mqtt/)(使用核心库 + PubSubClient + ArduinoJson)
烧录:
```
cd mqtt
cp secrets.ini.example secrets.ini # fill in Wi-Fi + broker
pio run -t upload
```
完整详情及 HA 发现说明详见 [`mqtt/README.md`](mqtt/README.md)。
两者都共享位于 [`esp32/`](esp32/) 的相同核心库 **IdealClimaTuya**。
## 仓库结构
```
esp32/ Core C++ library (IdealClimaTuya) + Arduino example + wiring guide
esphome/ ESPHome component + example YAML
mqtt/ PlatformIO firmware with MQTT + HA discovery (see mqtt/README.md)
extra/ PC tools: passive bus sniff/decode + terminal control (Python + USB-TTL)
board_images/ Photos of the display board (CN1/CN2 connectors, silkscreen)
CLAUDE.md Full technical notes: protocol, hardware, reverse engineering
```
## 接线(摘要)
CN2 是一个 **5-pin JST 1.25mm** 接口:`+5V / T / R / S / GND`。预压接的
JST 1.25mm 5-pin 跨接线即可与其匹配 — 例如 [AliExpress 上的这款](https://it.aliexpress.com/item/1005010705677089.html)
(任何等效的 JST 1.25mm 5-pin 线缆均可)。
```
CN2 pin2 (T) --------------> ESP RX (direct, 3.3V)
CN2 pin3 (R) <-------------- ESP TX (direct, 3.3V)
CN2 pin5 (GND) ------------- ESP GND
CN2 pin1 (+5V) --- optional: power the ESP
CN2 pin4 (S) --- do not connect (leave high)
```
✅ 两条数据线(T 和 R)均在 **3.3V** 下工作(已验证),因此它们可以
**直接**连接到 ESP32-C3 的 GPIO — 无需分压器、电平转换器或电阻。
详情见 [`esp32/WIRING.md`](esp32/WIRING.md)。
## Tuya MCU 协议(摘要)
- UART **9600 8N1**,帧格式 `55 AA 标签:ESP32, ESPHome, Home Assistant, 云资产清单, 智能家居, 暖通空调控制, 物联网, 逆向工具, 逆向工程