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.
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.
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)