ElVit-esphome_components/components/panasonic_heatpump
ElVit bcfcfd26f5 panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
..
number panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
select panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
switch panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
README.md Updated README.md 2025-01-30 17:41:58 +01:00
__init__.py panasonic_heatpump: added missing sensor, added options log_uart_msg and polling_time 2025-02-02 15:40:10 +01:00
binary_sensor.py panasonic_heatpump: added missing sensor, added options log_uart_msg and polling_time 2025-02-02 15:40:10 +01:00
commands.cpp panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
commands.h panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
decode.cpp panasonic_heatpump: added missing sensor, added options log_uart_msg and polling_time 2025-02-02 15:40:10 +01:00
decode.h panasonic_heatpump: added missing sensor, added options log_uart_msg and polling_time 2025-02-02 15:40:10 +01:00
panasonic_heatpump.cpp panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
panasonic_heatpump.h panasonic heatpump: removed buttons, updated numbers, selects and switches 2025-02-03 13:05:59 +01:00
sensor.py panasonic_heatpump: added missing sensor, added options log_uart_msg and polling_time 2025-02-02 15:40:10 +01:00
text_sensor.py panasonic_heatpump: added missing sensor, added options log_uart_msg and polling_time 2025-02-02 15:40:10 +01:00

README.md

ESPHome Panasonic Heatpump Component

Usage

What you need

  • ESPHome compatible microcontroller (e.g. ESP8266, ESP32, ESP32-S2, ESP32-C3, ...)
  • Bi-Directional Logic Level Converter (to convert 5V UART signal from the heatpump to 3.3V UART signal of the ESP controller)
  • CN-CNT cable to Heatpump/CZ-TAW1 (see Heishamon github site for more information)

Wiring

wiring.jpeg

You may also connect the +5V pin of the heatpump to the +5V pin of the ESP board.
But for me the current (mA) provided by the heatpump was quite unstable so I powered my ESP board through an USB cable.

CN-CNT Pinout (from top to bottom)

pin function
1 +5V (250mA)
2 0-5V TX (from heatpump)
3 0-5V RX (to heatpump)
4 +12V (250mA)
5 GND

ESPHome yaml code

substitutions:
  pin_rx_hp: GPIO4  # heatpump reads data (RX) on this pin
  pin_tx_hp: GPIO3  # heatpump sends data (TX) on this pin
  pin_tx_wm: GPIO1  # WiFi module sends data (TX) on this pin
  pin_rx_wm: GPIO0  # WiFi module reads data (RX) on this pin

external_components:
  - source:
      type: git
      url: https://github.com/ElVit/esphome_components/
    components: [ panasonic_heatpump ]

uart:
  - id: uart_heatpump
    tx_pin: $pin_rx_hp
    rx_pin: $pin_tx_hp
    baud_rate: 9600
    data_bits: 8
    parity: EVEN
    stop_bits: 1
  - id: uart_cz_taw1
    tx_pin: $pin_rx_wm
    rx_pin: $pin_tx_wm
    baud_rate: 9600
    data_bits: 8
    parity: EVEN
    stop_bits: 1

panasonic_heatpump:
  uart_hp: uart_heatpump
  uart_wm: uart_cz_taw1

sensor:
  - platform: panasonic_heatpump
    top1:
      name: "Pump Flow"
    ...

binary_sensor:
  - platform: panasonic_heatpump
    top0:
      name: "Heatpump State"
    ...

text_sensor:
  - platform: panasonic_heatpump
    top4:
      name: "Operating Mode State"
    ...

Sources

❤️ A big THANKS to Egyras and the work done on the repository HeishaMon for decoding the panasonic uart protocol and providing information to build hardware based on an ESP Chip.
❤️ Thanks to the whole home assistant community for sharing their knowlege and helping me to create this ESPHome component!