[PROJECT] Driver for Ambient API/Local and Ecowitt

WOOHOO! Not making fun, I am just happy that my message about the WeatherSensorChild driver being needed came in handy. I keep trying to account for as many points and try to make things as easy (or described) as possible so it is nice to see that some of that checking actually was useful.

@snell Just got back from a trip and got back to the GW1000. Everything is working great, but I was hoping you could add Windspeed to the WeatherSensorChild for the Outdoor Station device. I can get it from the Ecowitt Gateway device, but it displays better in a tile with the name for the child sensor for the Outdoor Device. Just a small thing. Thanks again for your great work on these drivers!

I will have to check... Surprised it is NOT in the child, so that must be a mistake on my part.

@snell, question. I have Ambient Weather WS-50 station (here), and have been running it for a few months with just a floating pool (lake) temp and 1 basic humidity/temp sensor. Your apps and drivers are installed and working great! Three child devices, the pool, the remote sensor and the device itself which has it's own temp/humidity built in where created.

  1. Is there a place to donate? This is good stuff.
  2. This weekend I finally installed the WS-RAIN and WS-ANEMOMETER (wind) units and they are recognizing locally on the WS-50. Also, their data is posting to the parent device in your programing. However they are either not creating their own child devices, nor is their data reporting to the WS-50 child, not sure where the data should show.
    2a) Do I need to trigger some update to make them either create their own child app or do I need to delete the parent / child? Any ideas?

Glad it has worked well.

  1. No, I do not take donations, this has all been for the sake of doing it. Thanks is enough.
  2. Is there any way you can send me some logging for it? Maybe with Trace level enabled? The only thing I can think of off the top of my head is that it is not reporting it as a separate sensor, so it is just getting put in the parent.
    2a) Nope! Once enabled, child devices should automatically be created whenever new data for a child is processed. New data for an existing child will just show up there as well.

Wonder if the WS-50 pool/pond temperature sensors would be directly compatible with the Ecowitt GW1000 Gateway? Haven't been able to find an Ecowitt pool/pond temperature sensor. I would prefer not to buy another console just to get the pool/pond temp sensors. Many of the Ambient and Ecowitt devices seem to be interchangeable.

I have one of these and it is not detected by my GW1000. Have had it powered for a couple weeks, never showed up. Just tossed it in the pool earlier actually so we have an idea (it is an unheated, inflatable pool we put up yesterday).

Thanks - I'll keep looking.

get this:
https://www.walmart.com/ip/Outdoor-Products-Smartphone-Watertight-Case-Box/36547606?athcpid=36547606&athpgid=athenaItemPage&athcgid=null&athznid=PWVUB&athieid=v0&athstid=CS004&athguid=e7dda05d-c87-1724d6da69bc7e&athancid=null&athena=true
close WH31 inside:

hook this to case:
https://www.lowes.com/pd/Pacific-Clay-Common-Full-Red-Clay-Standard-Brick/4514218

throw inside pool.

2 Likes

Version 0.6.3 is now posted. Minor bug fixes only. Thanks to:
@sam.bowden: windSpeed is now fixed for Outdoor Station... I had a typo (S was lower case).
@kraig109: lastRain and RainRate should be working (if not, we have more debugging to do and it may be specific for the unit). I did find a typo for each of those also that may have been preventing it from reporting to the child.

@snell, I updated to 0.6.3 and sent you a Trace for the Parent thru PM. Let me know if you see anything! Cheers. Thanks.

windSpeed is now displaying correctly for the WS2902A child device. As always, thanks for your quick response and hard work!

Updates to both the AmbientEcowittWeather (now version 0.6.4) and WeatherSensorChild (0.7.1) due to a couple flaws I found with existing attributes, new variables I had not seen before, and fixes to a couple of the sensor batteries.

As a note... if anyone ever has a value that does not seem to be populating (and should) you can set the device for Debug logging. In the log there will be an "Unhandled data" listing. If you copy that item and send it to me I can get it into the driver(s), or correct something that should be working.

@snell Updates applied and everything looks good for now. Will let you know if I spot anything.

Got a completely new one I had never seen before "battin". Not sure yet but I assume it is for indoor sensors (generally the station) that have batteries as well. Thanks to @william_ellis for the information.

Version 0.6.5 is now posted for AmbientEcowittWeather to add "battin" support.

Thanks for the code change, can you tell me is there a special template to use to get the additional information to display on a dashboard? I use weather sensor but it only shows a couple of items.

There is the generic weather one (you know of) that is the only one included in the dashboards.

However, with the HTML command in the child devices, you can basically customize your own if you would like.

Received my Lightning and Leak sensors and have them hooked up. I will be releasing updates for the main driver and the child devices driver to support them tonight.

Updated drivers supporting the WH55 (Leak Sensor) and WH57 (Lightning Sensor) are now posted:
AmbientEcowittWeather is at version 0.6.6.
WeatherSensorChild is at version 0.7.2.

Is anyone else getting errors, I am sure it is on my end. It started last week but I did not see since I was not looking at the log.
dev:462020-06-15 01:06:26.370 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_Snell_AmbientEcowittWeather_357.GetAmbientWeather() is applicable for argument types: (java.lang.String, org.codehaus.groovy.runtime.GStringImpl, java.math.BigDecimal, org.codehaus.groovy.runtime.GStringImpl) values: [Indoor Station, feelsLikein, 67.4, �F] Possible solutions: GetAmbientWeather(java.lang.Object, java.lang.Object) (GetAmbientWeather)

Found the problem. I was making some references to setting the unit during my ProcessState...

Version 0.6.7 is now posted.