Ambient Weather available locally now. Integration anyone?

It looks like Ambient Weather has now opened up to allowing local integrations with their devices without the need for the cloud or “hackery”.

I lack the skills, but it would be cool if someone with the knowledge could take advantage of whipping up an integration!

4 Likes

Interesting! I may try updating my unit this weekend and try some things. I think for an integration this might be tricky, since it looks like we need something to be listening for connections from the device, rather than polling the device.

Another option might be using weather display software to grab the data from the weather station and using the built-in mqtt to display it on home assistant

This option doesn’t appear for me in the awnet app for a WS-2000, however, this particular function was already available on the display itself. I do what @Edhall1044 mentioned and point it to WeeWX using the Weather Underground protocol. It works great, but would be even better to have an integration that doesn’t use WeeWX :smiley:

I just updated my 2902B and see this option now. Trying to track down some info as well.

Not sure if you are still around on the forum…I have installed your awnet add-on from your repo, but I am not getting any data into HA. Not sure what I am doing wrong. I have a WS2902C, and have set up the awnet app with protocol type Ambient Weather, server IP as my HA IP address, path is /data?, and port is 80. Not seeing any sensors created. If I go to <HA IP>:7080, I see a blank page, but after that sensor.ws2902b is created. It has the value online but no attributes, and it never changes once it is created. Add on log:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
192.168.0.18 - - [27/Nov/2021 14:18:41] "GET / HTTP/1.1" 200 0

I may be missing something obvious but I’m not sure what. Any help appreciated!

Edited to add: I got it working. The port needs to be set to 7080 in the awnet app.

1 Like

Sorry for the delay in reply! I will update my docs with some screen caps of the settings. Glad it is working for you!

1 Like

Thanks so much for putting this together - I’ve been wanting to get my weather station data locally since they announced the firmware update, but the coding/webserver skills are beyond my paygrade. Very grateful for your add-on!

@dancwilliams, I added onto your idea for using an add-on and created a local integration. Add-on and custom integration here:

Integration: GitHub - tlskinneriv/awnet_local
Add-On: GitHub - tlskinneriv/hassio-addons → awnet

I’m using this with my WS-2902C, and it’s working like a charm. Ultimately the add-on makes a call to a service exposed by the integration to perform data updates.

Enjoy!

5 Likes

Very cool! I will check this out tonight!

Do you have any more documentation of the setup? I’m trying to make this work but just getting sensors unavailable.

Update: Figured it out, you have to actually start the addon to make it work. Can’t believe I missed that.

Great work!

I installed the add-on but it keeps stopping. Getting this error in the logs:

Failed to to call /addons/8d3f9d88_awnet_to_hass/stats - Container addon_8d3f9d88_awnet_to_hass is not running

Installed the update from this morning, it works now. Great stuff! Thanks :slight_smile:

Ok, I give up. I am SUPER new to HA but fairly technically adept. I have installed both the custom itegration (via a HACS custom repository) and the custom add-on as per HA instructions. But I cannot for the life of me determine where to input the device name and mac address. I see in the readme it says to do so via the “home assistant user interface” but I am unable to find where to do that.

Thanks for any and all help…

Stand down…

All good now…

I won’t even tell you what I forgot to do…

I’ve got this up and running, and it’s awesome. Thanks for work. However I have a couple of sensors still showing as unavailable, and one as unknown. These are sensors that I know are provided by my station (WS-2902B), as they show on the cloud based integration, and on my console.

Looking at the log for the add-on, it’s obvious they’re not coming across in the get request, but why? Am I missing something?

In my case, the following are showing unavailable but shouldn’t be:
Dew Point
Feels Like Temperature
Last rain

And Solar Radiation Lx shows as unknown.

Any ideas?

I think that the values you are missing are calculated from the raw weather station data in the console (except I am not sure what you mean by “Last rain”, I have a 2902-C so we should have the same sensors). This link might be helpful to show what raw data is available:

Awnet Advanced Settings - ambient weather

I found this API documentation a few days ago. It’s for the web API, but I believe the info is still relevant

It indicates that yes, those missing fields are calculated by the server, and not directly returned from the station. With that being known, this integration should not be trying to gather them from the local API, as they don’t exist. If we can try and reproduce the calculation, cool. That will then match the official integration. If not, they should be omitted.

It mentions in there, but Last Rain is a datetime field indicating the last time the station measured rainfall. It would be pretty easy to replicate in the integration, or in a template sensor if needed

1 Like

I am not actually using any add-ons or integrations anymore. A few months ago I switched from HAOS to HA Container, so now I am running a Python program based on the one from Handling data from Ambient Weather WS-2902C API to MQTT - Austin's Nerdy Things on my Ubuntu host, and pulling the data into HA with MQTT sensors. Not fancy but it works great!

Fair enough. I’m actually testing another add-on right now that uses MQTT as well