How I installed ESPHome on the wt32-eth01

no ,

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16

web_server:
  port: 80

I’m having issues dumping the data I get in on serial

I’ve declared the logger component

and serial

# Enable logging
logger:
  level: VERBOSE

uart:
  id: galaxy
  tx_pin: GPIO17
  rx_pin: GPIO05
  baud_rate: 9600
  debug:
    direction: BOTH
    dummy_receiver: false
#    sequence:
#      - lambda: UARTDebug::log_string(direction, bytes);
  stop_bits: 1

I’m only receiving data
I can see the receiving led blinking on board
yet I get no output in the logger

What am I missing ?

1 Like

Did you try to increase the log level to DEBUG?

I tried and no data still

I tought also that VERBOSE could show more data

My bad, I didn’t check and thought VERBOSE shows less than DEBUG while it is the other way round. Did you try VERY_VERBOSE then?

Are you sure the baud rate and other settings match? Maybe Tx and Rx are swapped? The blinking LED only indicates that logic levels change, that doesn’t mean that actual data is received.

So the way it’s hooked up
Is

I have an RS485 module (one of the cheap ones from Ali express) where I cut the R7 120ohm terminator resistor. Placed on the RS485 line of a RIO galaxy system from Honeywell.

Then I have only RO of the module connected to RX (pin gpio5 of the WT32)
Other pins are connected to ground

I see the led on gpio5 blinking

How do I find out the baud rate ? (It should be 9600 but I also tried 2400, 115200 and 14800)

I tried very verbose, no luck

How do I diagnose

By using a logic analyzer or an oscilloscope - but I suppose you have neither at hand. According to this project, 9600 baud should be fine.

However, I had a look at the documentation and it seems to me that you need to set dummy_reciver: true in order to actually log the bytes (see here).

If this still doesn’t work, I would also set the trigger to timeout (i.e. after: to timeout), unless you know exactly how the protocol works.

Yeeeii I’m getting messages now thanks to the dummy receiver

FE:BA:00:01:1E:C9:11:FD:10:EF:B9:10:06:C0:11
[08:50:19][W][component:204]: Component uart took a long time for an operation (0.05 s).
[08:50:19][W][component:205]: Components should block for at most 20-30ms.
[08:50:20][D][uart_debug:114]: <<< FE:BA:10:06:C0:11:FE:BA:01:01:1E:CA:11:FD:00:FF:B9:10:06:C0:11:FE:BA
[08:50:20][D][uart_debug:114]: <<< 10:06:C0:11:FE:BA
[08:50:20][D][uart_debug:114]: <<< 00:01:1E:C9:11:FD:10:EF:B9
[08:50:20][D][uart_debug:114]: <<< 10:06:C0:11:FE:BA:01:01:1E:CA:11:FD:00:FF:B9:10:06:C0:11:FE:BA:10:06:C0:11:FE:BA
[08:50:20][D][uart_debug:114]: <<< 00:01:1E:C9:11:FD:10:EF:B9:10:06:C0:11:FE:BA:10:06:C0:11:FE:BA:01:01:1E:CA:11:FD:00:FF:B9

as Hex format
Just one last question, how should I proceed to decode in order to have actual strings ?

I don’t know what you’re trying to achieve here? Is the communication really clear-text based or some sort of binary protocol?

I’ve been using this for a critical Heat Pump controlller that i dont need dropping off if the wifi gets interrupted and have seen 2 issues

  1. The first failed after a few firmware flashes so needed replacing.
  2. This unit is low in memory, enough so that it would not allow itself to accept an ESP firmware updates
    To avoid this is do not enable the web page

I’m not sure if the WT32-ETH01 is the right module for your purpose, but only you can decide.

I have 8 WT32-ETH01 in constant use, most of them for nearly two years now. None has ever failed to me. I always enable the web_server and I never ran out of flash, but I only use Ethernet, no RF - what is taking so much space on your controller?

The web component takes masses of space!
I use only ds1820 probe and relays other than this.
Ive read that the failure to reinstall is due to space checking prior to firmware upload, and this unit has half the normal flash space.
With web component included it doubles the space used online preventing firmware upload

Hm, my WT32-ETH01 with the most features uses about 800kB of flash memory (out of the available 4MB). I have the following components:

  • web_server (with local: true so that all web pages are embedded!)
  • logger
  • api
  • ethernet
  • ota
  • dmx512
  • ads1115
  • uart
  • light
  • i2c
  • mcp23017
  • pcf8574

and then a few more sensors like “dht” and “ct_clamp”, GPIO switches, binary sensors …

Ore are you referring to a different web component?

Thanks for the great tutorial!
I’ve followed everything and the flash was successful.
When I plug in an Ethernet cable though, nothing shows up on my network (The Ethernet LEDs light up on the WT32-ETH01 and there’s some blinking going on)
It’s the version 1.4, FWIW

Anyone has an idea of what could be happening? Thanks

Seems like I am stuck, maybe through too many tutorials.

So I have a docker system, esphome is running and 6052 and 6123 exposed. On
localhost:6052 I have the ESPHome dashboard.

First I went with this tutorial as linked above, telling me to “download a binary from Home Assistant” that presumably is the file that is expected as “Firmware” file here?

Only problem: In Home Assistant when I go to “Settings” => “Integrations” => “Add Integration” I am asked for a host and port - so I entered Localhost and 6052 (where the dashboard is) but it does not work: It is tellling me it is unable to connect because my YAML file has no line that contains API.

So I went to the ESPHome dashboard, entered the YAML file from above into the Yaml file but this is not the bin file to install. So how do I go from this YAML file to the BIN file? The manual tells me to get modern file format but when I do manual download it gets stuck, no option to download bin.

INFO ESPHome 2023.11.6
INFO Reading configuration /config/ethernet.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing wt32 (board: esp-wrover-kit; framework: arduino; platform: platformio/[email protected])

This seems more like a general ESPHome problem: In HA, you have to enter the hostname or IP address of your ESPHome device, not of the dashboard. But the device should be auto-detected.
Does the dashboard succeed to connect to your device when you click on “Logs”?

Aaaah ok so I have to connect the WT32 Eth01 with the Ethernet Port to the HA machine and check für the IP address that it should get?

The first time you have to do it locally plugged to the PC. Once you have uploaded your code to the weth you can then connect remotelly, but you have to know the ip address assigned to the device (in case you didnt specify one on the esphome code) like here:

https://esphome.io/components/wifi.html

And here for ethernet:

https://esphome.io/components/ethernet.html

In order to flash it the 1st time you are gonna need an uart adapter, similar as shown here (the example there is for wled, but the connection is the same):

No. If you didn’t disable mDNS, it should be auto-discovered once it’s connected to your Ethernet (assuming that flashing went fine, this is what @mcarty just mentioned). If this doesn’t work, you can use the hostname or IP address - check your Router for this information.

Finally success! To be honest it was not as easy as expected and it took me many tries and until now I don’t really know what did the trick. At least now it appears in HA.