[PROJECT] Driver for Ambient API/Local and Ecowitt

:crazy_face: Battery is typically a %. 100% or 0%, 75% or 0%... Not sure which is better, but I can switch it easy enough if opinions vary.

Which ever way you decide. If the darn thing doesn't report anymore I guess that would be a 0%!! :smiley:

Yup. But I think someone has an app for watching battery devices and making a bigger notice when they are 0 and/or stop reporting. Now that there are child devices that actually report a "normal" battery things like that will work! Woohoo!

New version of the WeatherSensorChild.groovy has been posted.

0.7.0 has just one real change, but it should be a really nice one for those that want to use it:
It includes an initial version of the HTML Template method that @anon81541053 figured out. This allows someone to go into the sensors (the CHILD device, not the parent) and enter an HTML string complete with variable names in a preference.

That can then be used as an attribute on your dashboard. So if you want temperature and humidity both displayed, enter something like:
<p>Temperature: ${ temperature }°${ location.getTemperatureScale() }</p><p>Humidity: ${ humidity }%</p>

This is an initial test of how this works and if people find it useful, so feedback is appreciated. I have included the steps to use it in the driver itself.

@snell Are you going to continue to develop these drivers? I notice that Mircolino is developing a similar set of drivers for the Ecowitt GW1000 and the sensors. I was curious because the main difference between the two is that you have included the pws data as well. Is that true or not? Are you guys thinking of combining or anything like that?

I have the WS-2902 as well. I didn't know your driver did the pws too. Sorry. So is there a difference between your drivers and Snells?

Thanks for the explanation. Are you going to add the WH57. It's a lightning detector.

Also, does it take a while before the child devices show data? I have the app set to 30 sec.

Yep I ordered one also. Did you see my added question above about the child data?

Current States on all child devices are blank and it has been over 5 min.

I am definitely continuing to develop all my drivers. The only one "close" to pasture is the original AmbientWeather one because I think the newer AmbientEcowittWeather is far superior.

@anon81541053 has a lot more experience in development than I do, so his work has definitely been eye-opening for me, but I still feel mine has value (plus it all helps Ambient API users as well).

I also have a lightning and leak sensor on order, so I will incorporate those as soon as possible.

I will have to go look at that one. People with just the Ambient devices will definitely benefit.

I did not NEED a leak sensor (I have a couple Fibaro ones around on the hub directly). But I was already ordering the lightning sensor and saw the leak sensor was also on sale (and supported by GW1000) so I decided to add that as well.

I got my Ecowitt GW1000 Tuesday and got it up and running with your AmbientEcowittWeather driver yesterday. The documentation you provided in the driver comments were very necessary and helpful. Thanks again for the work you do on these drivers.

You are welcome. Still a lot for me to do and @anon81541053 has added more capabilities to his Ecowitt driver that I plan on matching as well.

Congrats @sam.bowden! I hope you enjoy the GW1000 as much as I do. :smile:

A few questions for those who have more experience with the GW1000. How much data is being stored on the HE device - is it only the most recent set of readings or is history being stored as well? Any lessons learned about the best placement for the GW1000? It obviously needs to be in RF range (about 300 feet?) of the AW 2902A and any other sensors, but are there any other considerations?

I think HE is only storing the last values sent, plus maybe any logs and events. I would not set the GW1000 to send data more than once a minute. You can hook the GW1000 up to ecowitt.net if you want to see/track the data long term. You can also integrate it with WeeWX for other things.

As for location, I plugged mine in kinda central to the sensors I'm using. It's pretty far from the WS-2902 but only through windows. The other sensors are on different floors and rooms through walls and they are working fine. I would not worry about how close it is to your HE or WiFi router as they operate on different frequencies.

I think in the Ecowitt App, under "Sensors ID" you can see the signal strength... or maybe that is just a picture showing it's connected.... since it has bars, I feel like it's the strength... but all of mine have all the bars...

I hope this helps.

It does help - thanks.

I can say that my driver has no mechanism to store data over time. It provides the most recent it has received (in Ecowitt's case) or the most recent it has polled (for Ambient API, although disclaimer there, Ambient HAS returned data that is not actually the most recent due to server-side problems, in the past). I have no plans to start storing data over time as it could become huge quickly.

HE as a whole would have additional data in the logs (depending on your logging level) and in the device events history.

As for my positioning... My GW1000 is currently towards the middle of my house, lower level (we have a split level). Purely where there was a convenient USB port for power. No trouble with signal despite that room being electronically "noisy". The ws2902 is about 3+ walls and around 50ft (guessing) from it.

Thanks. I guess the Hubitat writes over the data each time the Ecowitt GW1000 sends a new set of data. I was concerned about storage problems on the Hubitat if it retains each set of data. I have the Ecowitt gateway set to send data every 3 minutes. Placement of the Ecowitt device shouldn't present a problem for me unless I get wild with future sensor locations.