Case study
esphome-panasonic-erv: local control through a reconstructed CN12 protocol
esphome-panasonic-erv replaces a Panasonic ERV's optional module with an ESP32-S3 that speaks the reconstructed CN12 serial protocol. Logic-analyzer captures underpin its frame decoder, command builder and ESPHome component for power, mode and fan control. It exposes state to Home Assistant, which can make the controls available through its HomeKit Bridge. The author reports physical testing on FY-25ZDP1C.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 20
- Last commit
- 2026-06-28
- Language
- C++
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a demo observed; no download method found.
- Checked
- 2026-11-09
Requirements & limits
- Prerequisites: An ESP32-S3 board, jumper wires and ESPHome are required; the board connects to the ERV's CN12 port in place of the OEM module.
- Testing evidence: The author reports physical testing on FY-25ZDP1C; other listed models remain untested.
- Scope: The component implements thin-domestic power, mode and fan controls; additional functions of larger units are outside its current scope.
- License: MIT license.
Cite
BibTeX
@misc{esphome-panasonic-erv-case,
title = {{esphome-panasonic-erv: local control through a reconstructed CN12 protocol}},
howpublished = {\url{https://github.com/ShadowZZP/esphome-panasonic-erv}},
url = {https://github.com/ShadowZZP/esphome-panasonic-erv},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/esphome-panasonic-erv-case/}}
}Plain text
esphome-panasonic-erv: local control through a reconstructed CN12 protocol. https://github.com/ShadowZZP/esphome-panasonic-erv (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/esphome-panasonic-erv-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/PROTOCOL.md GitHub · ShadowZZP/esphome-panasonic-erv · Revision 3470015
- README.md GitHub · ShadowZZP/esphome-panasonic-erv · Revision 3470015
- LICENSE GitHub · ShadowZZP/esphome-panasonic-erv · Revision 3470015
More in Protocols
- EdgeLine: investigating Corsair Xeneon Edge control and touch interfaces · Case study
- FreeMicro: decoding Codex Micro's USB and Bluetooth control protocol · Case study
- Mittzon Standing Desk: decoding the LIN bus for Home Assistant control · Case study
- zenvision-linux: reconstructing ASUS ZenVision OLED control over USB · Case study
- orba-protocol: reconstructing Artiphon Orba 2 control messages · Case study
- TrikiEmu: reconstructing the Żabka Triki BLE controller · Case study