[PROJECT] Driver for Ambient API/Local and Ecowitt

I do not know the app development at all yet, have not even looked at it, but I wonder if an app could "easily" consolidate multiple weather "devices" and let people pick and choose what they want and how they represent it.

Anyways... I will try to work some adjustments in the next couple evenings. Maybe they will help.

1 Like

General request: If someone has an Ambient Weather device in the EU, or a predominantly Metric environment, could you send me a debug sample like I showed above a ways? I want to make sure from a REAL source (not messing with my own) what gets reported.

Thanks in advance!

If it helps I can set my system to all metric and forward the output later this evening.

Ambient Weather doesn't sell outside the US. Only Amazon.com does. They're instead branded Aercus Instruments and Waldbeck Halley. All of them are the same Fine Offset brand units, but with custom firmware on the Observer IP bridge. None of them will upload to Ambient Weather without paying a substantial fee and using something like Metobridge.

OK. That is what I was wondering about with the way their API is structured (US-centric) as opposed to other APIs I have dealt with that usually start with Metric (to be more scientific).

I can flip my own over. I was just wondering if that would "fudge" the results any because I did not know they were US only. Thanks for the offer though!

1 Like

It looks like v0.7 will include calculating dewPoint if it is not reported (but requires tempf and humidityout at this time) as well as calculating Heat Index and Wind Chill. Still looking for a reasonable calculation for "Feels Like" although there are MANY conflicting opinions on that one apparently.

Ambient's API notes that feelsLike is "if < 50ºF => Wind Chill, if > 68ºF => Heat Index" so I guess I could "cheat" and copy those over in such scenarios...

1 Like

Ambient Weather recently added the feelsLike and dewPoint for add-on sensors to the API. This was released last week.

The API reports them as:
feelsLike1,2,3,4 etc
dewPoint1,2,3,4 etc

Here's a full API output from my systems. I have a "little" experience with Ambient Weather if you have any questions.

[
{
    "macAddress": "",
    "lastData": {
        "dateutc": 1567566300000,
        "winddir": 10,
        "windspeedmph": 0,
        "windgustmph": 0,
        "maxdailygust": 4.5,
        "tempf": 65.8,
        "hourlyrainin": 0,
        "dailyrainin": 0,
        "weeklyrainin": 0.1,
        "monthlyrainin": 0.1,
        "totalrainin": 77.24,
        "baromrelin": 29.99,
        "baromabsin": 29.45,
        "humidity": 91,
        "tempinf": 74.7,
        "humidityin": 52,
        "uv": 0,
        "solarradiation": 0,
        "feelsLike": 65.8,
        "dewPoint": 63.1,
        "feelsLikein": 74.3,
        "dewPointin": 55.9,
        "lastRain": "2019-09-02T22:59:00.000Z",
        "tz": "America/New_York",
        "date": "2019-09-04T03:05:00.000Z"
    },
    "info": {
        "name": "WS-2902",
        "location": "Home"
    }
},
{
    "macAddress": "",
    "lastData": {
        "dateutc": 1567566240000,
        "winddir": 219,
        "windspeedmph": 0,
        "windgustmph": 0,
        "maxdailygust": 7.61,
        "tempf": 66.6,
        "battout": 1,
        "humidity": 91,
        "hourlyrainin": 0,
        "eventrainin": 0,
        "dailyrainin": 0,
        "weeklyrainin": 0.04,
        "monthlyrainin": 0.04,
        "yearlyrainin": 6.69,
        "totalrainin": 6.69,
        "tempinf": 72.1,
        "battin": 1,
        "humidityin": 62,
        "baromrelin": 30.21,
        "baromabsin": 29.45,
        "uv": 0,
        "solarradiation": 0,
        "temp1f": 75.38,
        "humidity1": 51,
        "batt1": 1,
        "temp5f": 68.9,
        "humidity5": 69,
        "batt5": 1,
        "temp7f": 75.74,
        "humidity7": 67,
        "batt7": 1,
        "temp8f": 72.86,
        "humidity8": 51,
        "batt8": 1,
        "feelsLike": 66.6,
        "dewPoint": 63.89,
        "feelsLike1": 75,
        "dewPoint1": 56,
        "feelsLike5": 68.7,
        "dewPoint5": 58.3,
        "feelsLike7": 76.2,
        "dewPoint7": 64,
        "feelsLike8": 72.2,
        "dewPoint8": 53.7,
        "feelsLikein": 71.9,
        "dewPointin": 58.3,
        "lastRain": "2019-09-02T19:12:00.000Z",
        "tz": "America/New_York",
        "date": "2019-09-04T03:04:00.000Z"
    },
    "info": {
        "location": "Home-OIP",
        "name": "WS-1401"
    }
},
{
    "macAddress": "",
    "lastData": {
        "dateutc": 1567044840000,
        "tempinf": 74.3,
        "humidityin": 57,
        "battout": 1,
        "temp1f": 69.8,
        "humidity1": 67,
        "batt1": 1,
        "batt2": 1,
        "temp3f": 69.9,
        "batt3": 1,
        "feelsLike1": 69.6,
        "dewPoint1": 58.3,
        "feelsLike2": 71.2,
        "dewPoint2": 59.7,
        "feelsLikein": 74.1,
        "dewPointin": 58.1,
        "soiltemp2": 71.2,
        "soilhum2": 67,
        "tz": "America/New_York",
        "date": "2019-08-29T02:14:00.000Z"
    },
    "info": {
        "location": "Home",
        "name": "WS-8482"
    }
}

]

1 Like

Thanks! More work to do then... I have to subscribe to API changes or such as well.

V0.7 is now posted. It has:

  1. Calculation for dewPoint if not received from API.
  2. Calculation for HeatIndex (if tempf >= 80)
  3. Calculation for WindChill (if tempf < 50 and windSpeed > 3)
  4. Error checking and limited correction for MAC Address.
  5. Additional attributes per @jeubanks mention above (although I just realized I did not list all the attributes in the beginning, they are all in the parsing and should send events, cannot fix that until tonight).
1 Like

v0.8 is now posted. Changes include:

  1. Added the missing attributes to the attribute list from 0.7.
  2. Found a couple attributes that were not converting to metric properly and fixed those.
  3. Cleaned up a number of unit listings in events.
  4. Major rework of metric conversion... I think I have all attributes accounted for now and cleaned up the code around it a lot. All converted attributes are rounded to hundredth place (0.01) because otherwise some of them got pretty long. They all seem to be accurate to me when switching my Hubitat to C, but if anyone spots anything funny please let me know.
1 Like

@snell Everything looks good except I see where WindChill is Null. Otherwise all is working.

WindChill probably would be null at this time.

It is only calculated when it is cold... so <50 degrees AND when wind speed is > 3. Similarly, HeatIndex is only calculated when it is >=80 degrees

I have not found any way to clear the "Current States" of Hubitat besides replacing the values. So if you send a value but then never send a new event it will always remain that old value. In the case of WindChill and HeatIndex, those would stick around even when they are not being calculated anymore. So rather than leave bad values there that might be confusing I chose to send them as null.

Got it. Sounds good. It is working great BTW. It is too bad the 2902 doesn't give the battery attribute. It would be nice to monitor that as well. Really not a problem for this unit because the display has it.

Perhaps a firmware upgrade? I didn't have battery values either until the firmware upgrade that was necessary for the Observer IP bridge to add support for the add-on sensors. I realize your unit doesn't use the Observer IP bridge, but maybe there's still an upgrade to the display (which is taking on the role of an Observer IP bridge in your case).

Thanks, I will look into seeing if there is an upgrade.

1 Like

Hey, it works! :smiley: This is the exact same sensor that Ambient Weather uses. And even though they sell it on Amazon as an ECOWHITT WH32 vs Ambient Weather's WH32E, it actually says WH32E on the back of it. Nice!

So if anyone is looking for replacement sensors for their Ambient Weather station, I can confirm this particular one is an exact replacement for the outdoor WH32E sensor and you should try Ecowitt first. Was less expensive too. $12.99 vs $18.79 for the Ambient Weather WH31B add-on outdoor sensor.

https://www.amazon.com/gp/product/B07MZ4RWY1/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&amp;psc=1

1 Like

Is it reporting as a tempf or temp1f?

1 Like

tempf ! :grin:

1 Like

Nice!

I'm thinking of purchasing one of these ambient weather stations for my home. Can someone tell me what I will need to purchase to make this work successfully? I see several different options?

I use this one Ambient Weather WS-2902A Smart Weather Station with WiFi Remote Monitoring and Alerts

2 Likes