Jump to content

PG3 DavisWeather or WeatherLink AND how to compare temps from two different sensors


TriLife

Recommended Posts

Posted (edited)

Greetings;

Now that the fires are out, its time to look into the smaller details of the migration/integration. Thanks again to @bpwwer for helping me with the aforemention task.

 

I have had a Davis Vantage Pro Plus for going on 5 years with an IP Dongle and a year ago or so I got a WeatherLink LIVE unit, so I could get a real-time look at our massive downpours (up to 10"/hr!).

Looking at the registers for the DavisWeather Node Server, I see that there is significantly more to choose from (including cumulative daily/weekly/monthly etc) than with the WeatherLink node server...

Am I guessing right that DavisWeather gets its data from the Davis Instruments server (hence API etc) and WeatherLink gets it from the actual LIVE unit sitting on my shelf?

1- Are you planning on expanding WeatherLink's features so I don't have to maintain two of them?

2- Suggestion: Inside IoP (or ISY), both of these NS show up as " WeatherLink by default... Would it make sense to change the DavisWeather one to "DavisWeather", to avoid confusion? I understand that they can be renamed...

image.png.f2e0b394675864a96453563e0f391e7f.png

3- Davis Weather CONTROLLER shows in METRIC (with a choice in the NS), yet Davis Weather WEATHER DATA with Daily/Monthly/Yearly registers only shows IMPERIAL. Any way to get all in METRIC?

WeatherLink CONTROLLER and WEATHER only shows in IMPERIAL (only asks for Station IP) ... Actually only CONTROLLER shows data. WEATHER is has blank fields. Any way to get all in METRIC? (I do have the IoP and ISYs set to metric)

4- In the instruction of WeatherLink, it specifies that you need to have an account with OpenWeatherMap... Please explain. I already publish my data for the world to see on WeatherLink and Wunderground. And nowhere in the NS was I asked fo OpenWeatherMap credentials.

The other issue is more on the ISY programming side: How can I compare the temperature from DavisWeather (outdoors) to the temperature from an MQTT device (wine cellar) and turn on a fan accordingly? the dropdown menus don't show that option. maybe cannot be done, or I need to write into variables and then compare the variables?

 

Not important issues, so whenever clarity can be given.

Cheers.

Edited by TriLife
added missing information
Posted
3 hours ago, TriLife said:

1- Are you planning on expanding WeatherLink's features so I don't have to maintain two of them?

No, I don't have any type of Davis system and these were written based on requirements and requests from others.  Any updates would need to include documentation for those updates.   I'm time limited right now so updates would be a pretty low priority.

3 hours ago, TriLife said:

2- Suggestion: Inside IoP (or ISY), both of these NS show up as " WeatherLink by default... Would it make sense to change the DavisWeather one to "DavisWeather", to avoid confusion? I understand that they can be renamed...

They weren't really meant to be used together, I didn't realize it would even make sense to use both.  My understanding was that they were different API's for different Davis stations.

3 hours ago, TriLife said:

3- Davis Weather CONTROLLER shows in METRIC (with a choice in the NS), yet Davis Weather WEATHER DATA with Daily/Monthly/Yearly registers only shows IMPERIAL. Any way to get all in METRIC?

I believe that's because it can report some data in either metric or imperial and other data in only imperial.  The node server isn't doing any conversions.

 

3 hours ago, TriLife said:

4- In the instruction of WeatherLink, it specifies that you need to have an account with OpenWeatherMap... Please explain. I already publish my data for the world to see on WeatherLink and Wunderground. And nowhere in the NS was I asked fo OpenWeatherMap credentials.

That would be a typo (or mistake)  I start with an existing node server and modify it to work for another, in this case I started with the Open Weather Map node server and forgot to change that in the instructions.

  • Thanks 1
Posted
1 hour ago, bpwwer said:

 I'm time limited right now so updates would be a pretty low priority.

Understood. No hurry here.

1 hour ago, bpwwer said:

They weren't really meant to be used together, I didn't realize it would even make sense to use both.  My understanding was that they were different API's for different Davis stations.

You are absolutely right, there shouldn't be a case where this is necessary. But Davis Instruments is really weird and I haven't been able to transfer my date from one sytem to the other. So I am running both for now (priorities). And unless WeatherLink NS is able to handle the rest of the data, I may stay this way... BTW, the way you have it set up right now, DavisWeather uses an API and gets information from the Davis server and WeatherLink gets the information from the WeatherLink LIVE base. Both of these get their data from the weather sensors on my roof.

 

1 hour ago, bpwwer said:

I believe that's because it can report some data in either metric or imperial and other data in only imperial.  The node server isn't doing any conversions.

In-house and on my WeatherLink app all data is in METRIC (per my choice). Not sure where the conversion occurs.

 

1 hour ago, bpwwer said:

That would be a typo (or mistake)  I start with an existing node server and modify it to work for another, in this case I started with the Open Weather Map node server and forgot to change that in the instructions.

OK. I'll ask OpenWeather to delete my account.

Thanks @bpwwer for the clarification. (this is supposed to go on the very top 🤩)

Cheers.

  • 4 months later...
Posted

Greetings @bpwwer;

I'm working on a project that requires me to access rain data (current-rate, hourly&daily accumulations, storm begin date/time etc). Neither the Davis Weather Link Live NS (access from station), nor the original WeatherLink NS (API based, accessing from Davis server) show these data points. Is there a way I can expand this (might be a good way for me to start getting my developer's feet wet 😀), or is does this need to be done by you? (I know you're busy).

Cheers.

Posted

@TriLife

In case Bob's response is that the NS's are providing all that there is to provide, you can write programs to determine when a storm begins depending on your definition of a storm (mine is .02 to eliminate dew days) and when it ends (mine is 24 hours after the last rain).  Hourly and daily accumulations can also be determined with programs and variables.  I'm not sure how one would record "current rain rate" as it changes minute by minute when it's raining.

  • Thanks 1
Posted
1 hour ago, Ross said:

@TriLife

In case Bob's response is that the NS's are providing all that there is to provide, you can write programs to determine when a storm begins depending on your definition of a storm (mine is .02 to eliminate dew days) and when it ends (mine is 24 hours after the last rain).  Hourly and daily accumulations can also be determined with programs and variables.  I'm not sure how one would record "current rain rate" as it changes minute by minute when it's raining.

Hi Ross,

Thanks for that. Yes rain-rate changes minute by minute (on server) and every few seconds on the LIVE station... We do get really heavy rains here and that rain-rate will help me anticipate creek turbidity to close the sluice gate to my lake...

If I remember correctly, a "storm" starts with a drop of recorded rain and stops when the last drop of rain in 24hrs has fallen. Something like that.

Posted

How easy it is to add depends on what data is available from the source.  

If you set the log level of the node server(s) to debug and let them run for an hour or so, then download the logs and post them or PM them, I can take a look and see if there are fields available that I didn't use.

If any of those are available directly, it's pretty easy to add.

If they aren't, then they would have to be calculated from existing data which is more effort.

  • Thanks 1
Posted
50 minutes ago, TriLife said:

Hi Ross,

Thanks for that. Yes rain-rate changes minute by minute (on server) and every few seconds on the LIVE station... We do get really heavy rains here and that rain-rate will help me anticipate creek turbidity to close the sluice gate to my lake...

If I remember correctly, a "storm" starts with a drop of recorded rain and stops when the last drop of rain in 24hrs has fallen. Something like that.

@TriLife The DavisWeather NS (used if you have Weatherlink IP) has a field "High Rain Rate".  You might be able to use that if it exceeds a threshold.  I don't use it; so, I don't know when it resets (at the end of the hour/day/storm).

  • Thanks 1
Posted
53 minutes ago, bpwwer said:

How easy it is to add depends on what data is available from the source.  

If you set the log level of the node server(s) to debug and let them run for an hour or so, then download the logs and post them or PM them, I can take a look and see if there are fields available that I didn't use.

If any of those are available directly, it's pretty easy to add.

If they aren't, then they would have to be calculated from existing data which is more effort.

Thanks Bob,

I'm about to head out of town for a couple of weeks and we're in a dry spell anyway, with no rain at all.

I'll run that log when I get back.

Thanks again

Posted
25 minutes ago, Ross said:

@TriLife The DavisWeather NS (used if you have Weatherlink IP) has a field "High Rain Rate".  You might be able to use that if it exceeds a threshold.  I don't use it; so, I don't know when it resets (at the end of the hour/day/storm).

Good tip. Thanks Ross,

I'll dig into that. My hope is to retire the Weather Link IP in favor of LIVE, assuming I can get all information from the latter...

  • 4 weeks later...
Posted (edited)
On 5/8/2023 at 11:14 AM, bpwwer said:

If you set the log level of the node server(s) to debug and let them run for an hour or so, then download the logs and post them or PM them, I can take a look and see if there are fields available that I didn't use.

Hi @bpwwer;

I was able to migrate to PG3x on eISY and installed your WeatherLink NS (Live version).

You'll find the Debug log of the nodeserver attached.

But judging from this line, a lot of information is available from the WeatherLink Live box located at the IP address specified.

2023-05-30 19:50:38,358 Thread-246 udi_interface      DEBUG    wll:query_conditions: {'data': {'did': '001D0A71724E', 'ts': 1685494236, 'conditions': [{'lsid': 508874, 'data_structure_type': 1, 'txid': 1, 'temp': 60.3, 'hum': 100.0, 'dew_point': 60.3, 'wet_bulb': 60.3, 'heat_index': 61.5, 'wind_chill': 60.3, 'thw_index': 61.5, 'thsw_index': 59.5, 'wind_speed_last': 0.0, 'wind_dir_last': 0, 'wind_speed_avg_last_1_min': 0.0, 'wind_dir_scalar_avg_last_1_min': 0, 'wind_speed_avg_last_2_min': 0.0, 'wind_dir_scalar_avg_last_2_min': 0, 'wind_speed_hi_last_2_min': 0.0, 'wind_dir_at_hi_speed_last_2_min': 0, 'wind_speed_avg_last_10_min': 0.0, 'wind_dir_scalar_avg_last_10_min': 0, 'wind_speed_hi_last_10_min': 0.0, 'wind_dir_at_hi_speed_last_10_min': 0, 'rain_size': 1, 'rain_rate_last': 0, 'rain_rate_hi': 0, 'rainfall_last_15_min': 0, 'rain_rate_hi_last_15_min': 0, 'rainfall_last_60_min': 0, 'rainfall_last_24_hr': 126, 'rain_storm': 710, 'rain_storm_start_at': 1684549020, 'solar_rad': 0, 'uv_index': 0.0, 'rx_state': 0, 'trans_battery_flag': 0, 'rainfall_daily': 86, 'rainfall_monthly': 1049, 'rainfall_year': 2797, 'rain_storm_last': 232, 'rain_storm_last_start_at': 1684283100, 'rain_storm_last_end_at': 1684404060}, {'lsid': 508856, 'data_structure_type': 4, 'temp_in': 79.6, 'hum_in': 51.7, 'dew_point_in': 60.3, 'heat_index_in': 79.8}, {'lsid': 508855, 'data_structure_type': 3, 'bar_sea_level': 30.231, 'bar_trend': 0.067, 'bar_absolute': 23.368}]}, 'error': None}

I'm a bloody beginner at programming node servers, but this might be an opportunity to get my feet wet (or drown🤪). Please let me know, if/how I can help.

I have both the WeatherLink Live box and the unit with the Davis Instruments IP Dongle here in house along with a full blown Vantage II Pro Plus weather station.

 

Cheers;

 

JR

WeatherLink_5-30-2023_55044_PM.zip

Edited by TriLife
added missing information
  • 1 month later...
Posted
On 5/30/2023 at 7:59 PM, TriLife said:

Hi @bpwwer;

I was able to migrate to PG3x on eISY and installed your WeatherLink NS (Live version).

You'll find the Debug log of the nodeserver attached.

But judging from this line, a lot of information is available from the WeatherLink Live box located at the IP address specified.

2023-05-30 19:50:38,358 Thread-246 udi_interface      DEBUG    wll:query_conditions: {'data': {'did': '001D0A71724E', 'ts': 1685494236, 'conditions': [{'lsid': 508874, 'data_structure_type': 1, 'txid': 1, 'temp': 60.3, 'hum': 100.0, 'dew_point': 60.3, 'wet_bulb': 60.3, 'heat_index': 61.5, 'wind_chill': 60.3, 'thw_index': 61.5, 'thsw_index': 59.5, 'wind_speed_last': 0.0, 'wind_dir_last': 0, 'wind_speed_avg_last_1_min': 0.0, 'wind_dir_scalar_avg_last_1_min': 0, 'wind_speed_avg_last_2_min': 0.0, 'wind_dir_scalar_avg_last_2_min': 0, 'wind_speed_hi_last_2_min': 0.0, 'wind_dir_at_hi_speed_last_2_min': 0, 'wind_speed_avg_last_10_min': 0.0, 'wind_dir_scalar_avg_last_10_min': 0, 'wind_speed_hi_last_10_min': 0.0, 'wind_dir_at_hi_speed_last_10_min': 0, 'rain_size': 1, 'rain_rate_last': 0, 'rain_rate_hi': 0, 'rainfall_last_15_min': 0, 'rain_rate_hi_last_15_min': 0, 'rainfall_last_60_min': 0, 'rainfall_last_24_hr': 126, 'rain_storm': 710, 'rain_storm_start_at': 1684549020, 'solar_rad': 0, 'uv_index': 0.0, 'rx_state': 0, 'trans_battery_flag': 0, 'rainfall_daily': 86, 'rainfall_monthly': 1049, 'rainfall_year': 2797, 'rain_storm_last': 232, 'rain_storm_last_start_at': 1684283100, 'rain_storm_last_end_at': 1684404060}, {'lsid': 508856, 'data_structure_type': 4, 'temp_in': 79.6, 'hum_in': 51.7, 'dew_point_in': 60.3, 'heat_index_in': 79.8}, {'lsid': 508855, 'data_structure_type': 3, 'bar_sea_level': 30.231, 'bar_trend': 0.067, 'bar_absolute': 23.368}]}, 'error': None}

I'm a bloody beginner at programming node servers, but this might be an opportunity to get my feet wet (or drown🤪). Please let me know, if/how I can help.

I have both the WeatherLink Live box and the unit with the Davis Instruments IP Dongle here in house along with a full blown Vantage II Pro Plus weather station.

 

Cheers;

 

JR

WeatherLink_5-30-2023_55044_PM.zip 31.91 kB · 0 downloads

Hello @bpwwer;

Were you able to have a look at the log you asked me to send you to see, if those additional values can be made available?

Cheers.

Posted

@TriLife  Here are the fields I see in the data that aren't reported by the node server. 

               'thw_index': 63.2,
               'thsw_index': 61.2,
               'wind_speed_avg_last_1_min': 1.37,
               'wind_dir_scalar_avg_last_1_min': 32,
               'wind_speed_avg_last_2_min': 1.56,
               'wind_dir_scalar_avg_last_2_min': 31,
               'wind_dir_at_hi_speed_last_2_min': 22,
               'wind_speed_avg_last_10_min': 0.62,
               'wind_dir_scalar_avg_last_10_min': 23,     
               'wind_speed_hi_last_10_min': 3.0,
               'wind_dir_at_hi_speed_last_10_min': 36,    
               'rain_rate_hi': 0,
               'rainfall_last_15_min': 0,
               'rain_rate_hi_last_15_min': 0,
               'rainfall_last_60_min': 0,
               'rainfall_last_24_hr': 125,
               'rain_storm': 709,
               'rainfall_monthly': 1048,
               'rain_storm_last': 232,

 

Are there specific ones you are interested in?

One of the reasons that I didn't just add them all is that the ISY/IoX doesn't handle multiple values of the same type in a node.  I.E. a node can only have one value for rain rate or wind speed or wind direction.  There are ways around that somewhat, but there are then other limitations that come into play so it's not possible to include all of the above values without re-designing the node server to split the current conditions in to multiple nodes.

  • Thanks 1
Posted
1 hour ago, bpwwer said:

Are there specific ones you are interested in?

Thanks Bob,

Let me analyze that and give you the most useful values for what I'm trying to accomplish. Please give me a few days. Appreciate the help.

Posted

@bpwwer If available for the DavisWeather node server, I would enjoy having rain_storm.  Although, I don't know what the 709 represents, I'm sure I could figure it out after a storm.  I also don't know how that differs from rain_storm_last.  

No hurry - it's not going to storm in San Diego until October  :)

Posted
21 hours ago, bpwwer said:

@TriLife  Here are the fields I see in the data that aren't reported by the node server. 

               'thw_index': 63.2,
               'thsw_index': 61.2,
               'wind_speed_avg_last_1_min': 1.37,
               'wind_dir_scalar_avg_last_1_min': 32,
               'wind_speed_avg_last_2_min': 1.56,
               'wind_dir_scalar_avg_last_2_min': 31,
               'wind_dir_at_hi_speed_last_2_min': 22,
               'wind_speed_avg_last_10_min': 0.62,
               'wind_dir_scalar_avg_last_10_min': 23,     
               'wind_speed_hi_last_10_min': 3.0,
               'wind_dir_at_hi_speed_last_10_min': 36,    
               'rain_rate_hi': 0,
               'rainfall_last_15_min': 0,
               'rain_rate_hi_last_15_min': 0,
               'rainfall_last_60_min': 0,
               'rainfall_last_24_hr': 125,
               'rain_storm': 709,
               'rainfall_monthly': 1048,
               'rain_storm_last': 232,

 

Are there specific ones you are interested in?

One of the reasons that I didn't just add them all is that the ISY/IoX doesn't handle multiple values of the same type in a node.  I.E. a node can only have one value for rain rate or wind speed or wind direction.  There are ways around that somewhat, but there are then other limitations that come into play so it's not possible to include all of the above values without re-designing the node server to split the current conditions in to multiple nodes.

Hello @bpwwer,

 

Thanks for your patience.

 

 

For my current project, two values are of interest, in order of importance:

1. 'rainfall_last_60_min': 0,

2. 'rain_rate_hi_last_15_min': 0,


Reason being if that number is high, I'm likely going to get turbid water in my creek and can open or close the sluice accordingly.

For a pending project, the other two pieces of data would be:

solar_rad:

 

No huge hurry either. Unlike @Ross it pours constantly here, but my lake always ends up clear once the deluge slows down.

 

Cheers;

Posted
2 hours ago, Ross said:

@bpwwer If available for the DavisWeather node server, I would enjoy having rain_storm.  Although, I don't know what the 709 represents, I'm sure I could figure it out after a storm.  I also don't know how that differs from rain_storm_last.  

No hurry - it's not going to storm in San Diego until October  :)

From the Vantage Vue Pro2 manual:

Rain Storm
Rain Storm displays the rain total of the last rain event. It takes two tips of the rain
bucket to begin a storm event and 24 hours without rain to end a storm event.

Posted
2 hours ago, Ross said:

@bpwwer If available for the DavisWeather node server, I would enjoy having rain_storm.  Although, I don't know what the 709 represents, I'm sure I could figure it out after a storm.  I also don't know how that differs from rain_storm_last.  

No hurry - it's not going to storm in San Diego until October  :)

You'd have to set the node server log to debug level and check the query response message.  If the rain_storm value is listed there, then I can add it to the node server.

The 709 represents how many bucket tips happened during the store. There's another value in the list that specifies how much rain is in a single bucket tip (.1 inches or ...).  The node server knows how to translate that to inches/mm of rain.

  • Like 1
Posted
10 minutes ago, MrBill said:

From the Vantage Vue Pro2 manual:

Rain Storm
Rain Storm displays the rain total of the last rain event. It takes two tips of the rain
bucket to begin a storm event and 24 hours without rain to end a storm event.

Thanks @MrBill.  I do understand Rain Storm, it was the 709 number that threw me.   I figure rain_storm_last is probably the last storm and rain_storm is the current storm. 

Posted
1 hour ago, TriLife said:

For my current project, two values are of interest, in order of importance:

1. 'rainfall_last_60_min': 0,

2. 'rain_rate_hi_last_15_min': 0,

For a pending project, the other two pieces of data would be:

solar_rad:

 

Ok, easy enough.

Solar radiation should already be reported, is it not?

Posted

Version 2.0.4 is now in the store with the additional rain values.

After you update/re-install this version you will have to restart the Admin Console to see the new values. 

  • Like 1
  • 3 weeks later...
Posted

 

On 12/28/2022 at 3:49 PM, TriLife said:

3- Davis Weather CONTROLLER shows in METRIC (with a choice in the NS), yet Davis Weather WEATHER DATA with Daily/Monthly/Yearly registers only shows IMPERIAL. Any way to get all in METRIC?

When I had a polisy with PG2 (MTI license), I made modifications to day.py, month.py, and year.py to change the units. The reason day, month, and year nodes displayed only in Fahrenheit was because 'us' was "hardwired" and would not change to metric even if metric was chosen.

This was the code that forced it to 'us' units:
class DayNode(polyinterface.Node):
    id = 'day'
    hint = [1,11,4,0]
    units = 'us'

Now I have eisy and bought the Nodeserver for PG3 and the hardwired imperial seems to be inherited.    
I am including the modified files for PG2; therefore, to work in PG3, polyinterface needs to be replaced with udi-interface in each file."

@bpwwer Is there any chance to add this modification to have metric and imperial in all nodes. I do not pretend to be a good programmer and I am sure you can do it better, but if my modifications are to your standards you can use them.

 

day.py month.py year.py

Guest
This topic is now closed to further replies.

×
×
  • Create New...