HERMES ELECTRONIC WR3223 ventilation controller ESP32

Hello @mcweis,

Sorry for the long absence.

In the last update I added some commands for testing. (SP, Re, Rd and Es)
There is no sensor component connected to these 4. The “Failed” output is misleading because they didn’t fail, they just couldn’t process the data received from the WR3223 to publish them for HomeAssistant. (The received value is displayed at the end of the line ‘Data: xxx’).

All known commands can be found in wr3223_commands.h.
You can add them as standard commands that will be executed every cycle (the interval is at most 20 seconds or less).
Adding or deleting is possible in the commandPair array in wr3223_controller.h (from line 73). You need to adjust the cmdPairCount to the number of commands in the array on line 72 when changing the amount. This allows you to test all commands and the values ​​received by the WR3223.

Here are the explanations for the 4 commands:

// Zuluftsoll Temperatur auslesen/schreiben (nur bei PC Steuerung) 
    static constexpr const char *SP = "SP";

    // Zulufttemperatur Sollwert
    static constexpr const char *Re = "Re";

    // Raumsollwert 
    static constexpr const char *Rd = "Rd";

    // Schaltpunkt Sommer stopp lesen/schreiben 
    static constexpr const char *Es = "Es";

Best Regards

I found some interesting documents (not from Schwoerer, but about a WR3223):
PDF

Chapter 3.7: In summer operation, the device bypass flap opens depending on the operating status
Outdoor air and indoor temperature

Problem:
The sensor for detecting the room temperature is located in the
Control unit.

BUT: Chapter 2.3:
Alternatively, you can also connect an external sensor
possible in another room.

I think that it will be possible to control the bypass if we manage to add an external temperature sensor.

1 Like

Hi,
that would be awesome.

Can’t we just forward a temperature sensor over the esp?

Edit: Your link is broken, I get an this page is not availible error

Thanks, I corrected the link.

That would theoretically be the easiest. But I wouldn’t know how. The actual control takes place within the WR3223. So far I haven’t seen a way in which the temperature information can be written. The sensors are currently connected directly to the WR3223 and the ESP reads out the various information via commands to the WR3223. (cmd T1 - T8).

It looks like the interior temperature is necessary in order to ‘automatically’ switch the heat pump and additional heater via the WR3223 in winter operation. The inside temperature information is also necessary so that the bypass is opened in summer operation.

According to this document, an alternative temperature sensor can be used. It also seems to be possible to open the bypass for testing purposes when the safety switch is pressed. Maybe that would be another approach.

There is a circuit diagram on page 32.

In my case, T2 is already connected to 9a/b. But 10a/b is free. :thinking:

1 Like

Here’s a little update:
Unfortunately, it does not seem to be possible to connect another (external) sensor with this version of the WR3223.

I think I’ll just add a relay to control the bypass directly.

1 Like

Hello Schmurgel,
Have you summarized the files anywhere? I also want to control my WGT with HA.
Thank you very much in advance!

First of all, thank you for developing the solution! I hope that I can finally integrate my ventilation system into Home Assistant.

I have been trying for a few days to connect my WR3223 controller (Schwörer WRG 400 BP) to Home Assistant using the ESP solution. Unfortunately I still haven’t managed it, I always get this error message:

[17:01:21]rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:01:21]configsip: 0, SPIWP:0xee
[17:01:21]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:01:21]mode:DIO, clock div:2
[17:01:21]load:0x3fff0030,len:1184
[17:01:21]load:0x40078000,len:13132
[17:01:21]load:0x40080400,len:3036
[17:01:21]entry 0x400805e4
[17:01:21][I][logger:156]: Log initialized
[17:01:21][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[17:01:21][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:01:21][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:01:21][W][app:022]: Component custom_component already registered! (0x3ffb2a50)
[17:01:21][I][app:029]: Running through setup()...
[17:01:21][C][uart.arduino_esp32:077]: Setting up UART...
[17:01:21][D][template.switch:046]: Restored state OFF
[17:01:21][D][switch:016]: 'Zusatzheizung' Turning OFF.
[17:01:21][D][template.switch:046]: Restored state OFF
[17:01:21][D][switch:016]: 'Wärmepumpe' Turning OFF.
[17:01:21][D][template.switch:046]: Restored state OFF
[17:01:21][D][switch:016]: 'Kühlung' Turning OFF.
[17:01:21][E][WRITER:248]: WRITE: 33
[17:01:21][E][WRITER:249]: Data Length: 2
[17:01:21][E][WRITER:250]: COMMAND: SW
[17:01:21][E][WRITER:275]: Data to Write: :04:30:30:31:31:02:53:57:33:33:03:07
[17:01:21][E][WRITER:280]: Bedienteil ist aktiv, kein schreiben möglich
[17:01:21][C][wifi:048]: Setting up WiFi...
[17:01:21][C][wifi:061]: Starting WiFi...
[17:01:21][C][wifi:062]: Local MAC: B0:B2:1C:FF:8C:D0
[17:01:21][D][wifi:482]: Starting scan...
[17:01:21][D][number:012]: 'Update Interval': Sending state 10.000000
[17:01:21][I][START:385]: Command: LS
[17:01:22][D][Reader:044]: Warte auf Antwort von WR3223. Timeout in 5000ms.
…….
…….
[17:01:26][D][Reader:044]: Warte auf Antwort von WR3223. Timeout in 101ms.
[17:01:26]E (10821) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[17:01:26]E (10821) task_wdt: - loopTask (CPU 1)
[17:01:26]E (10821) task_wdt: Tasks currently running:
[17:01:26]E (10821) task_wdt: CPU 0: IDLE
[17:01:26]E (10821) task_wdt: CPU 1: IDLE
[17:01:26]E (10821) task_wdt: Aborting.
[17:01:26]
[17:01:26]abort() was called at PC 0x40101c24 on core 0
[17:01:26]
[17:01:26]
[17:01:26]Backtrace:0x40083899:0x3ffbe9bc |<-CORRUPTED
[17:01:26]
[17:01:26]
[17:01:26]
[17:01:26]
[17:01:26]ELF file SHA256: 0000000000000000
[17:01:26]
[17:01:26]Rebooting...
[17:01:26]ets Jun 8 2016 00:22:57

I am surprised that the error message doesn’t change regardless of whether I have connected the TTL port of the control unit or not. In any case, the “control unit” isn’t connected.

My previous troubleshooting consisted of:

  • Used three different ESPs (BerryBase NMUC-ESP32, AZ-Delivery ESP32-WROOM-32 and AZ-Delivery ESP32S)

  • Swapped the cables to the TTL port

  • Tried various GPIO ports

  • Flash ESP via WLAN and via web.esphome.io

I just don’t know how to proceed. What am I doing wrong or where could the error be?

Does anyone have any idea what the problem could be or what the error “WRITE:33” refers to? I am grateful for any help.