Help Integrating ZB-GW03 1.4 (Tasmota Preinstalled) with Home Assistant ZHA over Ethernet

I recently picked up a ZB-GW03 v1.4 Ethernet Zigbee gateway, which came preloaded with Tasmota (13.2.0(tasmota)-2_0_14 ) and Zigbee firmware EZSP v6.7.10.0 . I’m trying to use it with Home Assistant’s ZHA integration via Ethernet (socket://hostname:8888 ), but ZHA fails to detect the device.

What I’ve Tried

ZHA Settings:

  • Radio Type: EZSP
  • Port: socket://IP_ADDRESS:8888
  • Baud rate: 115200
  • Flow control: tried both hardware and software

Tasmota Config:

  • Template:
backlog template {"NAME":"ZHA-bridge","GPIO":[0,0,5472,0,5504,0,0,0,5793,5792,320,544,5536,0,5600,0,0,0,0,5568,0,0,0,0,0,0,0,0,608,640,32,0,0,0,0,0],"FLAG":0,"BASE":1} ; module 0
  • TCP server rule + startup command:
backlog rule1 on system#boot do TCPStart 8888 endon ; rule1 1 ; TCPStart 8888

Result from Tasmota Console:

05:27:44.933 CMD: backlog rule1 on system#boot do TCPStart 8888 endon ; rule1 1 ; TCPStart 8888
05:27:44.945 RUL: Stored uncompressed, would compress from 37 to 27 (-27%)
05:27:44.947 RSL: RESULT = {"Rule1":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":37,"Free":474,"Rules":"on system#boot do TCPStart 8888 endon"}}
05:27:45.184 RSL: RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":37,"Free":474,"Rules":"on system#boot do TCPStart 8888 endon"}}
05:27:45.647 RSL: RESULT = {"Command":"Error"}

This last line ({"Command":"Error"}) suggests that the TCP server isn’t actually starting.


Other Info


Questions

  1. Has anyone gotten the ZB-GW03 with Tasmota + EZSP working with ZHA over Ethernet?
  2. What does the "Command":"Error" on TCPStart 8888 mean?
  3. Can I update to a later version of Tastmota?
    4.Is the ESPHome version better? syssi’s setup?

Any advice or working configurations you could share would be greatly appreciated! I’m happy to post additional logs or configs if helpful.

I wish I could help. I came here looking to post basically exactly what you wrote. So when I found you had exactly all the same information I have, I didn’t bother posting another post with the same data. I bought this one off aliexpress and it sounds like what you’ve got.

I found this firmware that seems to be right, but it doesn’t work well. When I go to the console, I see nothing at all. No commands get a reply. You can see from the image below, it is connecting to 2 devices and it’s working fine if I visit the web interface. But the ZHA stuff doesn’t work. It’s definitely not listening on port 8888.

I would be fine if it used MQTT. I don’t have to have the ZHA integration. But even though I’ve checked the Enable MQTT, and I’ve put the right IP and port numbers in, I don’t see it posting messages on MQTT.

I hope we can get some help on this. I wonder if there’s a new version that does something weird that the Tasmota folks haven’t seen yet, so they don’t support it yet.

When I go to Info on my device, I see:

ZB-GW03-V1.2
gw03

Program Version	14.5.0 (tasmota)
Build Date & Time	2025-03-17T08:56:44
Core/SDK Version	3_1_1/5.3.2.250120
Uptime	0T01:03:33
Flash Write Count	99
Boot Count	47
Restart Reason	Software reset CPU
AP1 Information	SSId devices
RSSI 78%, -61 dBm
Mode 11g
Channel 1
BSSId x
Hostname	zigbee.local
IPv6 Global (WiFi)	x
IPv6 Local (WiFi)	x
MAC Address	x
IP Address (WiFi)	172.30.0.107
Gateway	172.30.0.1
Subnet Mask	255.255.255.0
DNS Server1	172.30.0.3
DNS Server2	9.9.9.9
Hostname	zigbee-eth.local
IPv6 Global (eth)	x
IPv6 Local (eth)	x
MAC Address	x
IP Address (eth)	172.30.0.86
Gateway	172.30.0.1
Subnet Mask	255.255.255.0
DNS Server1	172.30.0.3
DNS Server2	9.9.9.9
HTTP API	Disabled
MQTT Host	172.30.0.3
MQTT Port	1883
MQTT TLS	Disabled
MQTT User	DVES_USER
MQTT Client	gw03
MQTT Topic	gw03
MQTT Group Topic 1	cmnd/tasmotas/
MQTT Full Topic	cmnd/gw03/
MQTT Fallback Topic	cmnd/gw03_fb/
MQTT No Retain	Disabled
Emulation	None
mDNS Discovery	Enabled
mDNS Advertise	Web Server
ESP Chip Id	15616348 (ESP32-D0WD-V3 v3.1)
Flash Chip Id	0x1640EF (DIO)
Flash Size	4096 KB
Program Flash Size	4096 KB
Program Size	1876 KB
Free Program Space	1003 KB
Free Memory	130.0 KB (frag. 15%)
Partition safeboot	832 KB (used 92%)
Partition app0*	2880 KB (used 65%)
Partition fs	320 KB

Screenshot of the web interface.

Did you reassign GPIO2 to “TCP Tx” and GPIO4 to “TCP Rx”, which is necessary to forward the zigbee communication over the network.

At least @pacohope apparently didn’t, as the tasmota instance will lose access to the device information (Humidor/ MasterBedroom) after you’ve switched it over to TCP Tx/ Rx.

Your device is configured for Zigbee2Tasmote, not for ZHA or Zigbee2MQTT.

read
https://thehelpfulidiot.com/a-wired-sonoff-zigbee-alternative
(Pay attention to the part to setup for ZHA)

I dunno. Here’s what I see when I go to Configuration → Template. It sure looks like GPIO2 is set to TCP Tx and GPIO is set to TCP Rx.

Or maybe it looks like I can’t read. :smile: That says Zigbee Tx, doesn’t it. :stuck_out_tongue:

I am an idiot. I fixed that, and it’s working for me. :man_facepalming: Thanks.

Exactly that’s the difference between letting the zb-gw03 handle all the zigbee communiction itself, by tasmota on the esp32 XOR passing it on (via tcpstart) to ZHA or z2m.