[DRIVER] Ecowitt GW1000 Wi-Fi Gateway

So you are not seeing any wind and solar info? That's strange. It could be a problem in my driver... unfortunately I don't have a WS-2902 to test.

Do you see wind and solar info in the Ecowitt WS View app?

@razorwing, I just released a new version v0.6.5 of the driver adding tracing/diagnostic capabilities.

  1. Update both drivers code in "Hubitat -> Drivers Code"
  2. Then go to "Hubitat -> Devices -> Ecowitt Gateway" and in the device preferences select "Log Verbosity = Trace" (it will disable itself after 30 minutes)
  3. Save Preferences

After a few minutes in the "Ecowitt Gateway" device log something like the following should appear:

If you could copy/paste and send it via private message, it would help me a lot in the development and troubleshooting of the driver. Thx!

The WS-2902 is NOT going to work. The EcoWitt GW and Display's only work with the Ambient PWS's that ALSO use the ObserverIP Module. Those are designated in their names normally with a "-IP" in their name.


  • Added on-the-fly metric ↔ imperial unit conversion
  • Removed unnecessary attributes and states
  • Cleaned-up, optimized and commented code
  • Child devices can be manually deleted now without sending the parent on a wild goose chase
  • Added more diagnostic and troubleshooting support
1 Like


  • Child sensors have now a friendlier default name, easier to identify when selecting devices in tiles and RM rules
1 Like


  • Further code optimization
  • Release to stable

@mircolino I've just tested your drivers with my GW1000 + WS-2902A + 8 x WH31 + 2 x WH51 and everything seems to be working great! Nice work! The WS-2902A reports in as a WH40 + WH80 + WH32.

Let me know if there is anything I can help with.

At some point I would like to get the Ecowitt WH55 and add it to the mix. :slight_smile:


Thank you @OpenDave, nice to hear it's working! :+1:
I got addicted to Ecowitt now: these little sensors are like candies.
I have a bunch of them on order, including a couple of WH55. As soon as I receive them I'll support them right away. At this point it should be relatively easy: with the main driver architecture in place it's just a matter of knowing which new tag they are returning.

Yes, that's by design. In essence that's what a WS-2902A sums up to.
You can always change the child devices labels and add a WS-2902A reference

Yeah, Ecowitt is really a great low cost local ecosystem. I'm very happy with it. The first two rounds I ordered from Amazon, but I cannot find much from them there anymore. Did you order your new stuff directly? (That is what our friend Snell has done) and I'm about to break down and do it because I would like the leak sensors to replace my home-made one running connected to a pi.

Hey, quick question, and I can delete it if we don't want to pollute this thread, is there a simple HE tile or way to display with both temp and humidity? (Just asking because you may already know the answer.)

Yes, that's the only way to get the new sensors right now. They are not yet sold on Amazon.

To combine temp and humidity you could make a string combining both using global variables in Rule Machine... but it is a bit messy.

@OpenDave, you just gave me a great idea! :slightly_smiling_face: :pray:

It took me the better part of the weekend, but I just released a new version of the driver which now supports HTML templates.

If you are a bit familiar with html, now with a simple string and a few ${servlets} you can gang-up sensor attributes and customize a tile to your liking.



Very cool @mircolino! I didn't realize that a driver could be used to change how tiles worked. You've taught me something new about HE! Ok, this is something I'm definitely going to check out! :cool:

1 Like

Me neither. Then your question made me thinking... could a driver act as a mini webserver and serve html snippets to a dashboard?

1 Like

v1.1.8 released:

  • Normalization and rounding of floating numbers (temperature 1 decimal, pressure 2 decimals etc.) to be consistent with Ecowitt WS View app
  • HTML templates
1 Like

That HTML templates needs far more notice! I have not seen another driver capable of it and I think most people were resigned that no easy way to do this type of customization existed!

I think you need to make a separate thread/explainer for this one so that more people can understand this is actually possible and make their drivers support it.

1 Like

Thx. Don't know if it hasn't been tried in a driver before, but yeah, I think it's a pretty neat feature, especially for our sensors, which have lots of attributes.
But before we start advertising it, we need far more testing and certainly a better GUI (don't want @bravenel and @chuck.schwer to get mad at me :wink:).

If you'd like, grab the code from my driver and add it to yours so we double the testing capacity. And then, when we feel confident, we can create a separate thread.

Ok. Since it is just in the child devices it really does not alter that much overall. Do you know if a parent can write preferences to a child? I was thinking it might be useful if the parent writes a default, or example, into the child since the parent could know what that child is overall. At least for our sensors.

Sure it can. In the child you can write a non private helper function to update the template:

void updateHtmlTemplate(String template) {
  device.updateSetting("htmlTemplate", template);

And in the parent, something like:

com.hubitat.app.ChildDeviceWrapper sensor;
String template;



But it could be costly. The code I wrote in the child is designed to fire up events only if a template has been initialized. By having the parent automatically setup html templates for every child you end up triggering a lot of events for templates that the user might actually never use in tiles. IMHO.

Ok. I was thinking of it for cases of limited sensors, like the sensors that only provide temperature and humidity. But I see how it is only using it if it is not blank. Trying it out now with mine (or at least trying to).

Download the Hubitat app