Jump to content

Polyglot weather station node servers


bpwwer

Recommended Posts

8 hours ago, andrewm said:

Well, setting the hub to be publicly visible fixed things.

So how is the Weatherflow nodeserver getting the data? Is it getting it from the hub, from the Weatherflow server, or some combination?

A combination. 

When it starts, it queries the WeatherFlow server so that it can determine what devices are associated with the station, what your preferred units are, the station elevation,  the historical rain data and some historical pressure data to calculate the current pressure trend.  Once it has all that, it then just listens for the UDP packets.

You should be able to enter all the configuration that it's pulling from the server manually and it will function fine without a connection to the server.  You do lose the historical rain and have to wait about 3 hours for the pressure trend to be accurate.

WeatherFlow has been putting a lot more effort into their server based data correction to compensate for inaccuracies in the physical sensor data.   The more they do this, the less useful simply reporting the local UDP data will become.

  • Like 1
Link to comment
Share on other sites

1 hour ago, bpwwer said:

WeatherFlow has been putting a lot more effort into their server based data correction to compensate for inaccuracies in the physical sensor data.   The more they do this, the less useful simply reporting the local UDP data will become.

Thanks for the response - I'm glad you're untangling this for us!

Seems like we should leave it to the nodeserver to work out what the best data is (raw vs corrected / local vs server). So I should leave the station publicly available, at least until such potential future time as the nodeserver implements authentication against the weatherflow server.

If the nodeserver is going to the server, does that mean it gets access to more generic forecast data, such as rainfall forecasts? Just wondering if I'll be able to retire the other weather-related nodeservers?

- Andrew

Link to comment
Share on other sites

2 minutes ago, andrewm said:

If the nodeserver is going to the server, does that mean it gets access to more generic forecast data, such as rainfall forecasts? Just wondering if I'll be able to retire the other weather-related nodeservers?

- Andrew

That's the plan, but WeatherFlow hasn't released an API to access the forecast data yet.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

@bpwwer Could you add the ability to change the logging level to the Aeris weather polyglot?

Below are log entries generated within a few seconds to give you an idea of what's being saved currently:

2020-07-25 18:42:55,765 Controller polyinterface      DEBUG    aeris:get_weather_data: request = http://api.aerisapi.com/observations/PWS_KMOOAKVI6?client_id=XXXXXXXXXX&client_secret=XXXXXXXXXX
2020-07-25 18:42:55,911 Controller polyinterface      DEBUG    aeris:get_weather_data: {'success': True, 'error': None, 'response': {'id': 'PWS_KMOOAKVI6', 'dataSource': 'PWS', 'loc': {'long': -90.355581, 'lat': 38.477064}, 'place': {'name': 'oakville', 'city': 'oakville', 'state': 'mo', 'country': 'us'}, 'profile': {'tz': 'America/Chicago', 'tzname': 'CDT', 'tzoffset': -18000, 'isDST': True, 'elevM': 168.8592, 'elevFT': 554}, 'obTimestamp': 1595720400, 'obDateTime': '2020-07-25T18:40:00-05:00', 'ob': {'type': 'station', 'timestamp': 1595720400, 'dateTimeISO': '2020-07-25T18:40:00-05:00', 'recTimestamp': 1595720550, 'recDateTimeISO': '2020-07-25T18:42:30-05:00', 'tempC': 30.6, 'tempF': 87, 'dewpointC': 24.4, 'dewpointF': 76, 'humidity': 70, 'pressureMB': 1016, 'pressureIN': 30, 'spressureMB': 997, 'spressureIN': 29.44, 'altimeterMB': 1017, 'altimeterIN': 30.04, 'windKTS': 2, 'windKPH': 3, 'windMPH': 2, 'windSpeedKTS': 2, 'windSpeedKPH': 3, 'windSpeedMPH': 2, 'windDirDEG': 225, 'windDir': 'SW', 'windGustKTS': 4, 'windGustKPH': 8, 'windGustMPH': 5, 'flightRule': None, 'visibilityKM': None, 'visibilityMI': None, 'weather': 'Sunny', 'weatherShort': 'Sunny', 'weatherCoded': '::CL', 'weatherPrimary': 'Sunny', 'weatherPrimaryCoded': '::CL', 'cloudsCoded': 'CL', 'icon': 'sunny.png', 'heatindexC': 36.7, 'heatindexF': 98, 'windchillC': 30.6, 'windchillF': 87, 'feelslikeC': 36.7, 'feelslikeF': 98, 'isDay': True, 'sunrise': 1595674684, 'sunriseISO': '2020-07-25T05:58:04-05:00', 'sunset': 1595726272, 'sunsetISO': '2020-07-25T20:17:52-05:00', 'snowDepthCM': None, 'snowDepthIN': None, 'precipMM': 0, 'precipIN': 0, 'solradWM2': 266, 'solradMethod': 'estimated', 'ceilingFT': None, 'ceilingM': None, 'light': 23, 'uvi': None, 'QC': 'O', 'QCcode': 10, 'trustFactor': 100, 'software': 'weewx-4.1.1', 'skywxSrc': 'KCPS', 'sky': 0}, 'raw': 'v1|KMOOAKVI6|2020-07-25 23:40:00|-90.355581|38.477064|554|225|2.0|5.0|87.0|0.00|30.036|76.0|70|||weewx-4.1.1|0.00||'}}
2020-07-25 18:42:55,913 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (CLITEMP, 87.000000)
2020-07-25 18:42:55,913 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (CLIHUM, 70.000000)
2020-07-25 18:42:55,914 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (BARPRES, 30.000000)
2020-07-25 18:42:55,915 Controller polyinterface      INFO     polyinterface:reportDriver: Updating Driver weather - SPEED: 2.0, uom: 48
2020-07-25 18:42:55,917 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (SPEED, 2.000000)
2020-07-25 18:42:55,918 Controller polyinterface      INFO     polyinterface:reportDriver: Updating Driver weather - GV5: 5.0, uom: 48
2020-07-25 18:42:55,920 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV5, 5.000000)
2020-07-25 18:42:55,922 Controller polyinterface      INFO     polyinterface:reportDriver: Updating Driver weather - WINDDIR: 225.0, uom: 76
2020-07-25 18:42:55,924 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (WINDDIR, 225.000000)
2020-07-25 18:42:55,925 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (DISTANC, 0.000000)
2020-07-25 18:42:55,926 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (DEWPT, 76.000000)
2020-07-25 18:42:55,927 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV3, 98.000000)
2020-07-25 18:42:55,928 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV4, 87.000000)
2020-07-25 18:42:55,929 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV2, 98.000000)
2020-07-25 18:42:55,929 Controller polyinterface      INFO     polyinterface:reportDriver: Updating Driver weather - SOLRAD: 266.0, uom: 74
2020-07-25 18:42:55,931 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (SOLRAD, 266.000000)
2020-07-25 18:42:55,932 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (UV, 0.000000)
2020-07-25 18:42:55,933 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV15, 0.000000)
2020-07-25 18:42:55,933 Controller polyinterface      DEBUG    aeris:query_conditions: **>>> WeatherCoded = ::CL
2020-07-25 18:42:55,934 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV11, 16.000000)
2020-07-25 18:42:55,935 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV12, 0.000000)
2020-07-25 18:42:55,936 Controller polyinterface      DEBUG    aeris:query_conditions: >>>  weather = CL
2020-07-25 18:42:55,936 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV13, 29.000000)
2020-07-25 18:42:55,937 Controller polyinterface      DEBUG    aeris:query_conditions: >>>  Setting GV13 to 29
2020-07-25 18:42:55,938 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV14, 0.000000)
2020-07-25 18:42:55,939 Controller polyinterface      DEBUG    aeris:get_weather_data: request = http://api.aerisapi.com/observations/summary/PWS_KMOOAKVI6?client_id=XXXXXXXXXX&client_secret=XXXXXXXXXX&fields=periods.summary.precip
2020-07-25 18:42:56,011 Controller polyinterface      DEBUG    aeris:get_weather_data: {'success': True, 'error': None, 'response': {'periods': [{'summary': {'precip': {'totalMM': 0, 'totalIN': 0, 'count': 216, 'trace': False, 'traceCount': 0, 'max_24hr': 0, 'count_max_24hr': 216, 'QCcode': 10, 'QC': 'O', 'qc': 10, 'method': 'EOD24hr0'}}}]}}
2020-07-25 18:42:56,012 Controller polyinterface      DEBUG    aeris:query_conditions: Setting precipitation to: 0
2020-07-25 18:42:56,013 Controller polyinterface      DEBUG    node_funcs:update_driver: setDriver (GV6, 0.000000)

Thanks in advance!

Edited by DaveStLou
Link to comment
Share on other sites

On 7/25/2020 at 4:47 PM, DaveStLou said:

@bpwwer Could you add the ability to change the logging level to the Aeris weather polyglot?

Below are log entries generated within a few seconds to give you an idea of what's being saved currently:

Thanks in advance!

The current condition node has a command to set the log level.  

  • Like 1
Link to comment
Share on other sites

56 minutes ago, bpwwer said:

The current condition node has a command to set the log level.  

Thank you. My screen resolution caused it to be hidden below the visible window.

Link to comment
Share on other sites

1 hour ago, DaveStLou said:

Thank you. My screen resolution caused it to be hidden below the visible window.

No problem, that's one of the issues with the Admin Console, it seems to need a minimum resolution that's pretty high and even then, it can't always display everything if there are too many node values.

Link to comment
Share on other sites

  • 2 months later...

Just wish to express my appreciation for all the development work being done in this area.  After trying several weather node servers, I found the AERISWeather worked the best for me. To better understand the relationship between the various climate fields returned in the forecast data, I found the following link helpful:  https://www.aerisweather.com/support/docs/api/reference/weather-codes/

Two small nits to report in the translation of the coded weather reports that the Aeris service provides (Polyglot Version 1.0.10).  Climate Coverage shown in ISY as "difinite" should be "definite" and Climate Intensity currently shown as "N/A" should be "Moderate" 

Thanks again to Bob Paauwe for developing and maintaining this excellent NodeServer.

Edited by vspete
  • Like 1
Link to comment
Share on other sites

Guys, I have to tell you that I have been very pleased with the WeatherFlow Weather Station device. I have been thanked by the neighborhood so many, many times. The neighbors love knowing what it is doing in this neighborhood. I have found it to be very accurate, as I have compared it to other local sources and the numbers are similar. 

Link to comment
Share on other sites

5 minutes ago, Dean said:

Guys, I have to tell you that I have been very pleased with the WeatherFlow Weather Station device. I have been thanked by the neighborhood so many, many times. The neighbors love knowing what it is doing in this neighborhood. I have found it to be very accurate, as I have compared it to other local sources and the numbers are similar. 

I think I should go that way.  I looked at their map and there is one a few blocks from me.  Can you share the data with other people?  The way you said the neighbors love it, makes me thing that might be what you are doing.

Link to comment
Share on other sites

33 minutes ago, BobMic said:

Excellent!  I'll try and contact him and give him a rebate to let me get his data.  Do the shares get the same access to the data as in will Bob's WFNodeserver work?

Currently, the Polyglot cloud version of the WeatherFlow node server can get data for any station that is marked public.  However, WeatherFlow has stated that this will likely change and access will require an access token, provided by the station owner, to access the data.

Also note, that while the WeatherFlow station is an excellent way to get current local conditions, it does not yet have the ability to provide any forecasts (that also is expected to change in the future).

The non-cloud version of the WeatherFlow node server is designed to get data directly from the WeatherFlow station on the local network, so that can't really be shared.

 

2 hours ago, BobMic said:

What does Aeris cost?  I'm not having any luck with OpenWeather.

There are also the WeatherBit and Climacell node servers.  Both of those weather services have limited no-cost plans that can be used to get current condition and forecast data.

  • Like 2
Link to comment
Share on other sites

I just looked at their web site again and have a couple of questions.

59 minutes ago, bpwwer said:

Currently, the Polyglot cloud version of the WeatherFlow node server can get data for any station that is marked public.  However, WeatherFlow has stated that this will likely change and access will require an access token, provided by the station owner, to access the data.

Are the stations that are selectable on their map (website) ones that are available to choose?  How do I chose a specific station or is it just Lat/Long and the closest is the default?

 

59 minutes ago, bpwwer said:

Also note, that while the WeatherFlow station is an excellent way to get current local conditions, it does not yet have the ability to provide any forecasts (that also is expected to change in the future).

It's interesting that they pitch the mob data as giving the ability to compile "personalized forecasts" but your saying that at this time they don't provide them to station owners?  Or it it only presented on their app?  It seems like a perfect opportunity to track weather patterns as they travel from station to station.

 

Thanks,

Bob

I'll try the cloud version and also the other two that you listed

 

Edited by BobMic
typo
Link to comment
Share on other sites

1 hour ago, BobMic said:

I just looked at their web site again and have a couple of questions.

Are the stations that are selectable on their map (website) ones that are available to choose?  How do I chose a specific station or is it just Lat/Long and the closest is the default?

Yes, by station ID.  The station ID should be the number that is part of the url when you click on a station.

 

1 hour ago, BobMic said:

It's interesting that they pitch the mob data as giving the ability to compile "personalized forecasts" but your saying that at this time they don't provide them to station owners?  Or it it only presented on their app?  It seems like a perfect opportunity to track weather patterns as they travel from station to station.

Currently, forecasts are just available via their own application/website.  They've promised an API that will allow others to pull the same forecast data it is just not available yet.

  • Like 1
Link to comment
Share on other sites

On 10/2/2020 at 11:25 AM, BobMic said:

What does Aeris cost?  I'm not having any luck with OpenWeather.

Hi Bob, Access to Aeris Data is available for free if you publish your weather station data to PWS Weather.  All your questions about that can be found here: https://www.pwsweather.com/frequently-asked-questions.  Once you begin publishing to PWS Weather, you are granted a free Aeris Contributor Plan subscription which is needed to use the Aeris Polyglot Nodeserver. 

You will need to limit your API calls to < 1000 per day by setting the polling times (to stay within the restrictions of the free plan). I use 300 for short (weather poll) and 600 for long (forecast poll) . The node server makes 2 API calls for weather and 1 API call for each forecast day node. These polling times work out to 700 API calls per day for me (weather plus forecasts for today and tomorrow).  Weather data is therefore updated to my ISY every 5 minutes and forecast data every 10 minutes.

I have found the forecasts provided by AERIS to be much more accurate than those from Weather Underground for my particular location. 

Link to comment
Share on other sites

On 10/2/2020 at 11:16 AM, bpwwer said:

Thanks guys!

@vspetethe changes are in version 1.0.12

I have been unable to update the Aeris nodeserver from 1.0.10 to 1.0.12 by starting and stopping the server (as described in the documentation and  elsewhere on the forum).  The version number does not update on the dashboard (which is supposed to be a known bug). 

If the node server has indeed updated, it HAS NOT downloaded updates (or replaced the client side code) to (on) my ISY, because the 1.0.12 bug fixes are not visible on my ISY.  When shutting down and restarting the node server, the node removal messages do occur and the realtime log starts over.  No apparent changes on the ISY side are visible however.  Running ISY 5.2.0 firmware & UI.

I attempted to update the Purple Air Node server from 1.0.3 to 1.0.4, by stopping and starting the service, but I cannot determine that it actually updated (version number is unchanged.)

In the past, I have only seen node changes on the ISY client side occur when the node server is DELETED from the dashboard.  Deleting a node server on the dashboard totally removes everything from the ISY (client) side. Deleting a node server therefore requires complete re-customization and re-programming on the ISY.

I would not like to have to DELETE and REINSTALL node servers every time they are updated on the cloud. I hope this isn't required.

 

Edited by vspete
Link to comment
Share on other sites

17 hours ago, vspete said:

I have been unable to update the Aeris nodeserver from 1.0.10 to 1.0.12 by starting and stopping the server (as described in the documentation and  elsewhere on the forum).  The version number does not update on the dashboard (which is supposed to be a known bug). 

If the node server has indeed updated, it HAS NOT downloaded updates (or replaced the client side code) to (on) my ISY, because the 1.0.12 bug fixes are not visible on my ISY.  When shutting down and restarting the node server, the node removal messages do occur and the realtime log starts over.  No apparent changes on the ISY side are visible however.  Running ISY 5.2.0 firmware & UI.

I attempted to update the Purple Air Node server from 1.0.3 to 1.0.4, by stopping and starting the service, but I cannot determine that it actually updated (version number is unchanged.)

In the past, I have only seen node changes on the ISY client side occur when the node server is DELETED from the dashboard.  Deleting a node server on the dashboard totally removes everything from the ISY (client) side. Deleting a node server therefore requires complete re-customization and re-programming on the ISY.

I would not like to have to DELETE and REINSTALL node servers every time they are updated on the cloud. I hope this isn't required.

 

On the Aeris current conditions screen on the ISY admin console, there's a button to update the profile files. That will force Polyglot to send the current profile files to the ISY.  Just upgrading may not do that.

I can't really help with issues related to the cloud polyglot.  The version number not changing after a node server update is a known issue and I believe the only way to get the version number to update is to delete and re-install the node server, but I'm not 100% sure on that.

Link to comment
Share on other sites

3 hours ago, bpwwer said:

On the Aeris current conditions screen on the ISY admin console, there's a button to update the profile files. That will force Polyglot to send the current profile files to the ISY.  Just upgrading may not do that.

@bpwwer - Thanks for the suggestion. Unfortunately "pressing the update the profile" button did not change the screen or correct the labels as expected in version 1.0.12.  Looks like this is a Polyglot Cloud issue.  

Link to comment
Share on other sites

1 hour ago, vspete said:

@bpwwer - Thanks for the suggestion. Unfortunately "pressing the update the profile" button did not change the screen or correct the labels as expected in version 1.0.12.  Looks like this is a Polyglot Cloud issue.  

You do have to restart the admin console.  It only reads those files once, when it starts.

  • Thanks 1
Link to comment
Share on other sites

20 hours ago, bpwwer said:

You do have to restart the admin console.  It only reads those files once, when it starts.

Thanks @bpwwer. When I started the admin console this AM I noticed that the polyglot client side had been updated. Going to the Polyglot cloud dashboard, I further noticed that the launching of the admin council had stopped and restarted the node server as well.  All good now and I am getting a much better understanding of how everything works....

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...