Skip to content

Remote AC Controller v1.2.5

Choose a tag to compare

@nobodycareme nobodycareme released this 02 Aug 10:16
5d50886

Superseded by v1.2.6. v1.2.6 restores clean-clone Docker Compose reproducibility and is the recommended release for new deployments. The v1.2.5 tag and its four release assets remain immutable.

Remote AC Controller v1.2.5

v1.2.5 完成了 MQTT TLS 指纹运行时接入,并修正了 WiFi SSID 校验规则。

主要变化

  • 仅配置有效 TLS 指纹时,固件现在会真正把指纹应用到 BearSSL 客户端(setFingerprint);
  • 同时配置 CA 和指纹时优先使用 CA(setTrustAnchors);
  • 缺少有效 CA 和指纹时拒绝初始化 MQTT(TLS_MATERIAL_MISSING / TLS_FINGERPRINT_INVALID);
  • SSID 允许包含普通空格(Home WiFiLab Network 2);
  • SSID 长度按 UTF-8 字节计算,最大 32 字节;
  • Python 构建期和 C++ 运行时使用相同 SSID 规则(共享测试向量)。

升级说明

  • 建议使用 TLS 指纹配置的用户升级;
  • 使用含空格 SSID 的用户不再被构建脚本错误阻止;
  • Cloud API、数据库、MQTT 消息格式和 PCB 没有变化;
  • PCB 仍为 Rev 1.0.1。

下载

  • remote-ac-controller-pcb-rev1.0.1.zip — PCB 制造数据(Rev 1.0.1)
  • remote-ac-controller-ir-simple-learner-src-v1.2.5.zip — 红外学习工具源码
  • IR_Simple_Learner_v4_windows_x64.exe — 红外学习工具 Windows 版
  • SHA256SUMS.txt — 资产校验和

已知限制

  • TLS 指纹需要在服务器证书更新后同步更新;
  • 推荐长期部署优先使用 CA 证书;
  • 不包含真实空调红外码;
  • Windows EXE 未签名;
  • 其他 ESP8266 板和红外模块需要适配。
English summary

Remote AC Controller v1.2.5 applies MQTT TLS certificate fingerprints at runtime and aligns the WiFi SSID validation rules.

  • A valid TLS fingerprint is now really applied to the BearSSL client (setFingerprint) when no CA is configured;
  • the CA certificate takes priority when both are valid (setTrustAnchors);
  • MQTT initialization is refused when neither a valid CA nor a valid fingerprint is present;
  • SSIDs may contain ordinary internal spaces (e.g. Home WiFi);
  • SSID length is measured in UTF-8 bytes with a 32-byte maximum;
  • the Python build-time validator and the C++ runtime use the same SSID rule (shared test vectors).

No breaking changes to the cloud API, database, MQTT message format, or the PCB (still Rev 1.0.1). A TLS fingerprint must be updated when the server certificate rotates; a CA certificate is recommended for long-term deployments.