ZB-GW03 eWeLink Ethernet Zigbee Gateway now hacked with Tasmota and ESPHome so can be used via MQTT or as a remote Zigbee LAN adapter with Home Assistant's ZHA integration or Zigbee2MQTT

ZB-GW03 eWeLink Ethernet Zigbee Gateway is a spiritual successor of the ITead Sonoff ZBBridge

It features an ESP32 chip and a wired Ethernet port (instead of the older ESP8266/ESP8285 and WiFi).

The Silicon Labs EFR32MG21 based Zigbee SiP radio module it uses is the exact same “SM-011 V1.0” modules and Zigbee firmware by CoolKit-Technologies that ITead Sonoff ZBBridge board uses.

The good news it that Tasmota community member cronyx has now hacked it with Tasmota ZBBridge firmware (using same process as hacking Tead Sonoff ZBBridge) so can be used either with Tasmota32’s own Zigbee2Tasmota (Z2T) to MQTT implementation or as a remote Zigbee coordinator adapter with native Home Assistant ZHA integration.

Basic Tasmota32-zbbridge backing info posted on blakadder’s Zigbee compatibility database here:

https://templates.blakadder.com/ewelink_ZB-GW03

Home Assistant community member thehelpfulidiot posted step-by-step instructions in these guides:

https://thehelpfulidiot.com/a-wired-sonoff-zigbee-alternative

https://thehelpfulidiot.com/update-a-wired-sonoff-zigbee-alternative

https://thehelpfulidiot.com/update-2-a-wired-sonoff-zigbee-alternative

Update! syssi has now also got ESPHome working on it with serial stream server componant from oxan:

https://github.com/syssi/esphome-zb-gw03

https://github.com/syssi/esphome-zb-gw03/blob/main/README.md

https://github.com/syssi/esphome-zb-gw03/blob/main/docs/flashing.md

If you think of it as an ITead Sonoff ZBBridge clone with ESP32 and Ethernet for Tasmota then you should perhaps also be able to get further tips and ideas reading guides from @digiblurHow to use the Sonoff Zigbee Bridge with Home Assistant - Tasmota | digiblurDIY and Zigbee2MQTT with the Sonoff Zigbee Bridge | digiblurDIY

Tasmota discussion here where they want feedback for unofficial build of Tasmota ZigbeeBridge on it:

https://github.com/arendst/Tasmota/discussions/12764

Disclaimer! I don’t own a ZB-GW03 myself so I have not hacked it, but I collected this information so far:

ZB-GW03 v1.0 and ZB-GW03-V1.2 is apparently sold rebranded under many names, including as EACHEN eWeLink ZigBee Smart Hub (zbbridge pro) and SmartWise brands Zigbee Bridge Pro:

https://ewelink.eachen.cc/product/eachen-ewelink-zigbee-bridge-pro-zbbridge-pro/

https://www.okosabbotthon.hu/smartwise-zigbee-bridge-pro

https://ewelinkcommunity.net/device-lists/zigbee/eachen-zb-gw03/

https://www.aliexpress.com/item/1005002935401684.html

https://www.aliexpress.com/item/1005003490030879.html

https://www.aliexpress.com/item/4000459723849.html

https://www.amazon.de/APP-Fernbedienung-Sprachsteuerung-Funktioniert-Verbindung-Smart-Produkten/dp/B094JKVLNR/

Looks like it used the exact same “SM-011 V1.0” module by CoolKit as ITead Sonoff ZBBridge uses:

https://github.com/zigpy/zigpy/discussions/586

https://www.coolkit.cn/product/sm-011/

https://github.com/CoolKit-Technologies/DevDocs/tree/master/Zigbee

https://github.com/CoolKit-Technologies/DevDocs/blob/d5ad915ef57d78e071e812863dda38aa779d8d93/Zigbee/SM-011%E5%BA%94%E7%94%A8%E6%8C%87%E5%AF%BC%E4%B9%A6.md

https://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fgithub.com%2FCoolKit-Technologies%2FDevDocs%2Fblob%2Fmaster%2FZigbee%2FSM-011%E5%BA%94%E7%94%A8%E6%8C%87%E5%AF%BC%E4%B9%A6.md

Tip:

Know that the “SM-011 V1.0” module by CoolKit is based on the great EFR32MG21 SoC by Silicon Labs (Silabs), but unfortunatly this specific “SM-011 V1.0” module by CoolKit (as well as the first Zigbee 3.0 USB Dongle by ITead which is likley also design by CoolKit engineers) are known for being extremely susceptible to electromagnetic interference due to lack of RF shielding, and a relatively poor antenna design that has not been properly tuned in hardware for that specific integrated PCB antenna.

Because of this, you want to make sure to keep this Zigbee gateway away from other electronic appliances, especially other devices with WiFi radios, or other sources of EMI (electromagnetic interference) such as live electrical wires, etc., as well as try to place it in an optimal location a little bit away from walls, ceilings and floors built with dense building materials.

As always try to as soon as possible to add at least a few mains-powered Zigbee devices closer to the Zigbee gateway than wireless Zigbee devices so that mains-powered Zigbee devices can act as Zigbee routers for wireless Zigbee end-devices.

For more tips see:

4 Likes

Does anyone have a pre-compiled version with ethernet? Could you please share it?

You can check out my webpage. I precompiled the firmware but also show you how to do it yourself:

https://thehelpfulidiot.com/a-wired-sonoff-zigbee-alternative

3 Likes

Good day, anyone can share any experience already on how the device operates?
Thank you

With WIFI it is not that stable, if the wifi is gone and back for whatever reason then often it cannot reconnect. Today I flashed the LAN version, testing, so far looks promising, it is connected on the first attempt.

1 Like

Thank you very much. I’m interested in your experience with lan version.
I’ve been running the lidal/tuya lan version modified to work with z2m/zha and has been very stable; however z2m has informed there won’t be more development on ezsp and there’s still a few bugs. For instance none of the battery sensors report battery level correctly.

That is bad news.

Yes, someone raised the question in github and the response was no ezsp further development.

I guess the alternative is to use zha, however I don’t know if it works better for these devices. I haven’t used it.

ZHA works fine over Ethernet. With a power cycle though, it doesn’t connect to zha until you toggle between the templates from zha to zigbee2tasmota and back. I figured out a couple automations to do it automatically and seems to work fine.

2 Likes

Thank you,
How about on zigbee2tasmota directly (with the lan ewelink hub)? Is it stable?
I used z2t for about a year on a DIY c2530+2591 and it worked fine.

Hey I haven’t tested it extensively with zigbee2tasmota unfortunately. I messed around with it a bit on a sonoff zigbee but just went straight to ZHA.

Here is the work around I mentioned in case anyone is interested.

https://thehelpfulidiot.com/update-a-wired-sonoff-zigbee-alternative

Able to automatically reconnect to ZHA after hard reboot.

2 Likes

I’m still struggling with reconnection at every power-loss type of restart. Have to manually mess around with setting it by hand to tasmota mode then back to zha mode.

Maybe be nicer if can instead run ESPHome on it with serial-server and zeroconf from thegroove on it?

https://github.com/thegroove/esphome-zbbridge

https://github.com/thegroove/esphome-serial-server

https://github.com/thegroove/esphome-zeroconf

https://github.com/thegroove/esphome-zha-ezsp-zeroconf

oxan has an alternative UART/Serial stream server as a new external component for newer ESPHome:

https://github.com/oxan/esphome-stream-server

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

Another option would be to use ESPHome stream server + config used by tube0013 in tube gateways:

https://github.com/tube0013/tube_gateways

https://github.com/tube0013/tube_gateways/tree/main/esphome

As long as you know which GPIO pins to use you should be able to base it on his EFR32 configuration:

https://github.com/tube0013/tube_gateways/blob/7bde5f09852b95fd98d146f659464678bd6ce2f9/esphome/tube_zb_gw_efr32_Series2.yaml

https://github.com/tube0013/tube_gateways/blob/7bde5f09852b95fd98d146f659464678bd6ce2f9/esphome/tube_zb_gw_efr32_Pro.yaml

I am still struggling to get ethernet working, it just does not work, I have no light or packets on my router. Anyone has any informtion?

Spec says it supports 10/100M Ethernet Connection so assume you may need to force the network port to 100Mbps on your switch/router if it is having problems with auto-negotiation for whatever reason.

That is, note that it does not support 1Gbps connection so either auto-negotiation works detecting that it needs 100Mbps or you need to force the port on your switch/router to 100Mbps if it uses 1Gbps by default.

You are a livesaver, this post should be PINNED // but still struggling, I see connected 100mbps, my DHCP server offered IP, but it is not accepting

Maybe the firmware that you flashed has config to use a static-IP instead of DHCP?

And/or maybe your firmware was configured to use Wifi instead of ETH/PHY1?

Believe most (but not all) firmware will use DHCP and Wifi in standard configuration.

Made firmware over helpful idiot guide, where should I check these options?

I don’t use Tasmota myself so best would be to as in the Tasmota community, but as I read that linked guide it sounds as if need to first connect it to Wi-Fi and then configure it before connecting to Ethernet.

To me, it sounds as if one of the key point in the guide is to disable Wifi (Wifi 0 + backlog rule2 on system#boot do Wifi 0 endon ; rule2 1) after seeing messages after setting up Eth connection:

https://thehelpfulidiot.com/a-wired-sonoff-zigbee-alternative

Now Flash.

Once you finish, it’s a matter of setting up Tasmota and a few more finishing touches.

Set up Tasmota through the access point first and add this Template by issuing the following command:

backlog Template {"NAME":"ZB-GW03-V1.2","GPIO":[0,0,3552,0,3584,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

From this website, select ncp-uart-sw-6.7.8_115200.ota. Go to the upgrade firmware screen to update the zigbee radio. The device will automatically recognize this as firmware for the zigbee radio and will apply it accordingly.

Now try plugging the device in to Ethernet. I noticed it was sort of strange and took a couple reboots and unplugging and plugging the cable back in, but I saw messages about setting up the Eth connection in the console. There was no real way to change Ethernet settings like you can with WiFi, but I noticed two DHCP listings in my router. Once Ethernet is set up, you can disconnect WiFi with the following, but do not do the following until Ethernet is set up! Make sure the first command turning WiFi off works first before applying the subsequent rule which will disable it on each reboot. The first command by itself will not persist across reboots.

Wifi 0
backlog rule2 on system#boot do Wifi 0 endon ; rule2 1

If something went wrong and now you are locked out of the device because Ethernet isn’t working and WiFi is down, you can try Tasmota device recovery.

The device is now set up to use with Zigbee2Tasmota. For Home Assistant, there are a few more steps.

I have tried Wifi 0, then I see DHCP offered IP, but ZB-GW03 not bounding