Updated README

This commit is contained in:
ElVit 2025-01-30 15:36:22 +01:00
parent 460dc31c94
commit 167eb438c7
2 changed files with 76 additions and 12 deletions

View File

@ -6,12 +6,12 @@
### What you need
* ESPHome compatible microcontroller
* cable with RJ12 connector (phone cable, RJ11 may also work)
* ESPHome compatible microcontroller (e.g. ESP8266, ESP32, ESP32-S2, ESP32-C3, ...)
* RJ12 cable (phone cable, RJ11 may also work)
### Wiring
#### RJ12
#### RJ12 connector pinning
Please double check this for your specific model!
@ -24,7 +24,7 @@ pin | function
5 | RX
6 | NC (pulled up)
#### microcontroller
#### Microcontroller pinning
ESP | desk
-------|-----
@ -35,9 +35,9 @@ GPIO4 | RX
![IMG_1256](https://github.com/user-attachments/assets/229f52bb-5cdd-454c-b72b-e84979ee5976)
Sometime the Desk Controller does not supply enough current, then simply disconnet the VCC pin and plug in a micro-usb/usb-c cable into your esp-board.
Sometimes the desk controller does not supply enough current, then simply disconnet the VCC pin and plug in a micro-usb/usb-c cable into your ESP board.
## Usage
### ESPHome yaml code
```yaml
external_components:
@ -55,7 +55,7 @@ uart:
maidsite_desk:
id: my_desk
sensorsensor:
sensor:
- platform: maidsite_desk
height_abs:
name: "Height"
@ -95,7 +95,7 @@ button:
### Features
#### sensors
#### sensors entities
sensor | description
-------------|----------------------------
@ -108,7 +108,7 @@ position_m2 | 2nd stored height
position_m3 | 3rd stored height
position_m4 | 4th stored height
#### number entities
#### number entities
Hold current values read from the desk and set values to desk when changed.
@ -117,7 +117,7 @@ sensor | description
height_abs | current height of the desk
height_pct | height in percent
#### buttons
#### buttons entities
button | description
-----------|---------------------------
@ -154,7 +154,7 @@ lambda method | description
To see and send custom UART messages the following esphome code can be used:
```
``` yaml
esphome:
...
includes: components/common_includes.h
@ -197,7 +197,7 @@ button:
To be able to use the regex command the file "common_includes.h" must be created in the directory "components".
The content of the "common_includes.h" must be:
```
``` c++
#include <iostream>
#include <regex>
#include <string.h>

View File

@ -2,6 +2,16 @@
## 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](https://github.com/Egyras/HeishaMon) github site for more information)
### Wiring
![wiring.jpeg](../../prototypes/panasonic_heatpump/wiring.jpeg)
### CN-CNT Pinout (from top to bottom)
pin | function
@ -12,6 +22,60 @@ pin | function
4 | +12V (250mA)
5 | GND
## ESPHome yaml code
```yaml
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_cz: GPIO1 # WiFi module sends data (TX) on this pin
pin_rx_cz: 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_heat
tx_pin: $pin_rx_hp
rx_pin: $pin_tx_hp
baud_rate: 9600
data_bits: 8
parity: EVEN
stop_bits: 1
- id: uart_wifi
tx_pin: $pin_rx_cz
rx_pin: $pin_tx_cz
baud_rate: 9600
data_bits: 8
parity: EVEN
stop_bits: 1
panasonic_heatpump:
uart_hp: uart_heat
uart_wm: uart_wifi
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
:heart: A big THANKS to [Egyras](https://github.com/Egyras) and the work done on the repository [HeishaMon](https://github.com/Egyras/HeishaMon) for decoding the panasonic uart protocol and providing information to build hardware based on an ESP Chip.