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 | 诊断 | ### 显示面板 Nemo 1000 touch panel 前面板图标与上述值的对应关系。该面板有两列图标:**模式**(位于 `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)。
标签:ESP32, ESPHome, Home Assistant, 云资产清单, 智能家居, 暖通空调控制, 物联网, 逆向工具, 逆向工程