Jump to content

Polyglot weather station node servers


bpwwer

Recommended Posts

35 minutes ago, bpwwer said:

Not sure, maybe the log would show some information to track down what's happening.  I don't see anything wrong in the code, if it's reported as MM and you're wanting inches, it should be doing the conversion.  It's the same logic for precipitation as it is for temperature.

Looked at the logs.  I have this(see below).  I see messages looking like its converting the temperature, but not the same message on the rain.  Also attaching what I see when I flip the units from US to Metric.  It will change temp back and forth, but not the rain units.  Also attaching screen print from meteobridge. 


 
2020-07-02 14:19:03,791 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set rain driver GV3 to 3.8
2020-07-02 14:19:03,792 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver rain - GV3: 3.8, uom: 105
2020-07-02 14:19:03,798 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set humidity driver ST to 81.0
2020-07-02 14:19:03,799 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver humidity - ST: 81.0, uom: 51
2020-07-02 14:19:03,802 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set temperature driver GV4 to 26.2
2020-07-02 14:19:03,803 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver temperature - GV4: 79.2, uom: 17
2020-07-02 14:19:03,805 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set temperature driver GV0 to 25.1
2020-07-02 14:19:03,806 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver temperature - GV0: 77.2, uom: 17
2020-07-02 14:19:03,808 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set temperature driver ST to 28.7
2020-07-02 14:19:03,810 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver temperature - ST: 83.7, uom: 17
2020-07-02 14:19:03,813 Thread-1 polyinterface INFO weatherstation:log_message: "GET //mb.php?d=02/07/2020%2014:19:01%2028.7%2081.0%2025.1%202.7%200.9%20288.0%200.0%200.0%201011.1%20281.0%201%20m/s%20C%20hPa%20mm%202.2%201011.8%203.8%20417.8%203.8%2026.2%2049.0%2028.7%2029.3%2029.3%2020200702131747%2021.2%2020200702031258%202.7%2020200702093901%207.2%2020200702093539%201013.1%2020200702113801%201009.4%2020200702030500%204.3%2013444%206.3%20TL-MR3020%20--%20--%202.3%20--%20281.0%200.0%2027.1%2020200701073223%2020.1%2020200701191906%2027.1%2020200701073223%2027.6%2020200609114208%20-6.1%2020200122110206%20--%2098.0%2020200702034956%2069.0%2020200702122503%2025.4%2020200702140345%2020.6%2020200702024418%2029.2%2080.0%2025.4%2026.3%2046%202.5%202.2%20--%20--%20--%20--%20--%20--%20--%207259581%2029.8%2020200701082249%2021.4%2020200701223210%2029.8%2020200701082249%2021.2%2020200702031258%2033.4%2020200615142822%20-1.9%2020200121065212%2013.0%2020200701191330%2013.0%2020200701191330%2017.0%2020200331113442%203.8%203.8%2020141225172101%20417.8%2020141225172101%20--%20--%20--%20--%20--%20--%20--%20--%20--%20--%20--%20--%20--%20--%20--%2020.1%2020200701191906%200%2029.0%2020200701191708%2037.6%2020150717133225%20-6.7%2020150108064422%2029.0%2020150809125932%20-15.9%2020150108053041%2020.6%2020170911164651%201013.8%2020200701121009%201009.2%2020200701195204%201013.8%2020200701121009%201009.2%2020200701195204%201030.7%2020200308111036%20993.9%2020200206145843%201038.3%2020170108091553%20985.1%2020181010122647%207508.5%2025.3%203%2092.8%2014:04%2017:36%2003:25%200.7%2098.0%2020200702034956%2069.0%2020200702122503%20100.0%2020200210230449%2023.0%2020200416145300%2096.0%2020200701014236%2073.0%2020200701112649%200.0%200.0%20[rain0total-max@M1]%20[rain0total-max@Y1]%20--%2028.7%201011.2%20--%202.7%20--%2025.2%200.0%2081.2%2019.9%200.7%2020150108064422%2020141225171735%2020150108073548%2020141225172101%2020141225172101%20230.4%2041.8%2020200630134422%20-8.4%2020200121074400%20_Increasing%20clouds%20with%20little%20temperature%20change. HTTP/1.1" 200 -
2020-07-02 14:19:25,218 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set rain driver GV3 to 3.8
2020-07-02 14:19:25,219 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver rain - GV3: 3.8, uom: 105
2020-07-02 14:19:25,221 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set humidity driver ST to 81.0
2020-07-02 14:19:25,222 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver humidity - ST: 81.0, uom: 51
2020-07-02 14:19:25,224 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set temperature driver GV4 to 26.2
2020-07-02 14:19:25,225 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver temperature - GV4: 79.2, uom: 17
2020-07-02 14:19:25,228 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set temperature driver GV0 to 25.1
2020-07-02 14:19:25,229 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver temperature - GV0: 77.2, uom: 17
2020-07-02 14:19:25,232 Thread-1 polyinterface INFO weatherstation:meteobridge: - Set temperature driver ST to 28.7
2020-07-02 14:19:25,233 Thread-1 polyinterface INFO polyinterface:reportDriver: Updating Driver temperature - ST: 83.7, uom: 17

metobridge.png

ustometric.png

Link to comment
Share on other sites

Hi Bob @bpwwer,

I wonder if it might be possible to "expose" each of the various "sub-devices" (w.g., daily rainfall, hourly rainfall under Precipitation, inside temperature under Temperatures, indoor humidity under Humidity) so that they could be "picked up"/read by some of the mobile apps that are on offer? I can see each of these just fine in the admin console, but if there is more than one "sub-device" in each heading, I see only one of these sub-devices when I am using Orchestrated Mobilinc (OML). In my case, for "devices"  that have multiple "sub-devices", I see only Temperature (which is the outdoor temp), Humidity (the outdoor humidity), Wind Speed (current wind speed, but not gust speed, wind direction, or average wind speed), and Rain Rate (under Precipitation). Barometric pressure shows only the current pressure, of course, and I see that.

I realize this is likely a limitation of Mobilinc, but if there were a tweak possible from the node server end that would address this I thought I would bring up the idea, to see if something might be possible. Wes isn't making changes or updates to OML now, and I don't think his more recent product, Mobilinc X, addresses this, either. So, absolutely no expectation of you, of course (you've already done us all a huge favor by developing this excellent nodeserver) but I didn't know exactly where else to turn, so thought I'd bring it up. Thanks for all you've done, and do. If you have any ideas or suggestions, I'm all ears. Thanks!

 

Link to comment
Share on other sites

1 hour ago, madcodger said:

Hi Bob @bpwwer,

I wonder if it might be possible to "expose" each of the various "sub-devices" (w.g., daily rainfall, hourly rainfall under Precipitation, inside temperature under Temperatures, indoor humidity under Humidity) so that they could be "picked up"/read by some of the mobile apps that are on offer? I can see each of these just fine in the admin console, but if there is more than one "sub-device" in each heading, I see only one of these sub-devices when I am using Orchestrated Mobilinc (OML). In my case, for "devices"  that have multiple "sub-devices", I see only Temperature (which is the outdoor temp), Humidity (the outdoor humidity), Wind Speed (current wind speed, but not gust speed, wind direction, or average wind speed), and Rain Rate (under Precipitation). Barometric pressure shows only the current pressure, of course, and I see that.

I realize this is likely a limitation of Mobilinc, but if there were a tweak possible from the node server end that would address this I thought I would bring up the idea, to see if something might be possible. Wes isn't making changes or updates to OML now, and I don't think his more recent product, Mobilinc X, addresses this, either. So, absolutely no expectation of you, of course (you've already done us all a huge favor by developing this excellent nodeserver) but I didn't know exactly where else to turn, so thought I'd bring it up. Thanks for all you've done, and do. If you have any ideas or suggestions, I'm all ears. Thanks!

While it is possible to organize things that way, the issue is that the ISY can only have a limited number of nodes (or devices). So if I split up each existing node into multiples, it means the one node server could potentially be using up a significant portion of the available nodes.

I believe it also would use more memory resources on the ISY as it would increase the number of node definitions the ISY would have to hold in memory.

Link to comment
Share on other sites

17 hours ago, bpwwer said:

While it is possible to organize things that way, the issue is that the ISY can only have a limited number of nodes (or devices). So if I split up each existing node into multiples, it means the one node server could potentially be using up a significant portion of the available nodes.

I believe it also would use more memory resources on the ISY as it would increase the number of node definitions the ISY would have to hold in memory.

Understood, and thank you. If you should ever wish to try this and need a "lab rat", please feel free to let me know. I wonder if user-selectable "tradeoffs" of captured values, or frequency of updates, might mitigate this somewhat? For example, I never really use barometric pressure, and 15-minute increments of outside temperature updates would be plenty for my personal needs, if it allowed me to monitor indoor temp and humidity, or gain better access to an additional parameter, such as daily rainfall. 

Anyway, I am grateful for the access I have, and appreciate your efforts. Thank You!

Link to comment
Share on other sites

Bob,

I just installed the Weatherflow Tempest weather station and your node server.  Everything is working nicely.  Any chance of adding the Evotranspiration calc to the Weatherflow node server?

Ken

  • Like 1
Link to comment
Share on other sites

On 7/5/2020 at 7:34 AM, kwb007 said:

Bob,

I just installed the Weatherflow Tempest weather station and your node server.  Everything is working nicely.  Any chance of adding the Evotranspiration calc to the Weatherflow node server?

Ken

Hi Ken,

It's on my list of things to do someday.  Adding ETo to the weather station node servers isn't as straightforward as it is on the weather service node servers. The calculation requires things like the min/max temperature for the day.  The weather services provide this in daily forecasts so the data is readily available.  Your Tempest, on the other hand, just provides the current temperature.  I'll need to add the capability of tracking the temperature (and other values) throughout the day and then will be able to do the calculation at the end of the day.   And that's the other difference. Without a forecast, the data will always be 24 hours behind.

Now if WeatherFlow adds the ability to get the forecast data they're providing on their APP, that should make it pretty easy to add ETo for the WeatherFlow node server.

Link to comment
Share on other sites

On 7/2/2020 at 3:53 PM, bpwwer said:

Found the bug, version 0.1.11 should be available to upgrade from the store in about an hour.

Just got back and installed the fix.  Works perfectly.   Thanks for fixing this!!!!!

Link to comment
Share on other sites

Newly set up policy to get Aeris Weather. Its working. First full day exceeded my 1000 hits per 24hrs. I think I must adjust the 'short pole/ long pole' settings? Are these seconds?

Link to comment
Share on other sites

1 minute ago, kp3 said:

Newly set up policy to get Aeris Weather. Its working. First full day exceeded my 1000 hits per 24hrs. I think I must adjust the 'short pole/ long pole' settings? Are these seconds?

Yes, they are in seconds.  

Link to comment
Share on other sites

1 hour ago, bpwwer said:

Yes, they are in seconds.  

So I'm guessing the reason why its pinging so much is its a hit per forecast days requested, times the frequency of the polling perhaps?

Link to comment
Share on other sites

2 hours ago, Dean said:

if you feed data to Areis, I think some part of their service is free?

Yes, part of it. Here is how it looks for me at this point. Tho its possible there's more data than the poly is written to ask for, it's strictly fetching only what I'm sending it (No ET), or I'm really don't know what I'm talking about.

Screenshot 2020-07-06 19.04.43.png

Edited by kp3
Link to comment
Share on other sites

One thing I've noticed about several weather feeds is the item that is listed here as "Windchill". Doesn't quite seem the same in the summer, so I've seen that listed as "Feels Like" in a header. Of course, humidity, etc. comes into play in the summer.

Edited by Dean
add the humidity comment
Link to comment
Share on other sites

@bpwwer  Hi, I just started to notice that weatherbit doesn't seem to be updating. I am getting the following error after each poll.

Thanks

Gary

2020-07-07 12:29:19,261 NodeServer polyinterface ERROR polyinterface:write: Exception in thread NodeServer:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/var/polyglot/nodeservers/WeatherBit/nodes/Controller.py", line 106, in start
self.query_conditions(True)
File "/var/polyglot/nodeservers/WeatherBit/nodes/Controller.py", line 180, in query_conditions
LOGGER.debug('**>>> WeatherCoded = ' + weather)
TypeError: can only concatenate str (not "int") to str
Link to comment
Share on other sites

14 hours ago, kp3 said:

Yes, part of it. Here is how it looks for me at this point. Tho its possible there's more data than the poly is written to ask for, it's strictly fetching only what I'm sending it (No ET), or I'm really don't know what I'm talking about.

 

The node server is pulling most of the data available from the "basic" Aeris subscription plan. That's the same for all of the weather service node servers.  None of them take advantage of the additional data available in the higher priced plans.

ETo is calculated based on forecast data, not current conditions.  The main node for each node server is the current conditions and that is what gets updated most frequently.  Via the custom parameters configuration you can specify how many days (again, limited by what the plan supports) of forecast data you want to see.  Each day of forecast data is shown in a separate node.  Forecast day 0 is for the current day.   ETo is calculated for each forecast day.  By definition, ETo is a per day value so it needs data for the entire day, not just a single snapshot at a point in time.

Link to comment
Share on other sites

4 hours ago, Dean said:

One thing I've noticed about several weather feeds is the item that is listed here as "Windchill". Doesn't quite seem the same in the summer, so I've seen that listed as "Feels Like" in a header. Of course, humidity, etc. comes into play in the summer.

There are a number of different terms related to an adjusted temperature value (heat index, windchill, apparent temperature, feels like). Some of them get used interchangeably but there are actual formulas for each.  So windchill and feels like may or may not represent the same formula depending on who is doing the reporting. 

The node servers are simply reporting the data that the service is sending.  

Link to comment
Share on other sites

4 minutes ago, bpwwer said:

There are a number of different terms related to an adjusted temperature value (heat index, windchill, apparent temperature, feels like). Some of them get used interchangeably but there are actual formulas for each.  So windchill and feels like may or may not represent the same formula depending on who is doing the reporting. 

The node servers are simply reporting the data that the service is sending.  

That makes perfect sense.

Link to comment
Share on other sites

18 minutes ago, garybixler said:

@bpwwer  Hi, I just started to notice that weatherbit doesn't seem to be updating. I am getting the following error after each poll.

Thanks

Gary

2020-07-07 12:29:19,261 NodeServer polyinterface ERROR polyinterface:write: Exception in thread NodeServer:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/var/polyglot/nodeservers/WeatherBit/nodes/Controller.py", line 106, in start
self.query_conditions(True)
File "/var/polyglot/nodeservers/WeatherBit/nodes/Controller.py", line 180, in query_conditions
LOGGER.debug('**>>> WeatherCoded = ' + weather)
TypeError: can only concatenate str (not "int") to str

Strange that this is just showing up now.   I wonder if they changed that in the API or if no one has run with debug logging enabled?  In either case, I've pushed an update that will fix it.  Thanks for reporting the issue.

  • Like 1
Link to comment
Share on other sites

I did the update but don't seem to be getting any wind speed or direction. Possibly no updates.  It doesn't seem to be polling. This is the log after a restart. I have the units set to I. The forecasts are all loaded.

2020-07-07 14:32:18,473 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV16, 3.542130) 2020-07-07 14:32:18,484 NodeServer polyinterface INFO polyinterface:reportDriver: Updating Driver forecast_4 - GV15: 13.6, uom: 116 2020-07-07 14:32:18,487 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV15, 13.600000) 2020-07-07 14:32:18,488 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV18, 55.000000) 2020-07-07 14:32:18,498 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV10, 295.267000) 2020-07-07 14:32:18,500 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV9, 0.526178) 2020-07-07 14:32:18,501 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV13, 803.000000) 2020-07-07 14:32:18,505 NodeServer polyinterface INFO weatherbit_daily:update_forecast: Conversion of temperature/wind speed required 2020-07-07 14:32:18,506 NodeServer polyinterface DEBUG node_funcs:update_driver: setDriver (GV20, 4.330000) 2020-07-07 14:32:18,507 NodeServer polyinterface INFO weatherbit_daily:update_forecast: ETo = 4.329116 0.170438

Link to comment
Share on other sites

After using postal zip code instead of lat&lon it seems to be polling now.  Pressure is displayed as 988.995mb.  That may be correct I am just use to seeing inHg and I don't see any change in wind speed or direction. I don't think anything is actually changing.

Link to comment
Share on other sites

2 hours ago, garybixler said:

After using postal zip code instead of lat&lon it seems to be polling now.  Pressure is displayed as 988.995mb.  That may be correct I am just use to seeing inHg and I don't see any change in wind speed or direction. I don't think anything is actually changing.

The log doesn't show anything wrong.

The values on the ISY are only updated when the value changes.  WeatherBit only sends barometric pressure in millibars.

Link to comment
Share on other sites

  • 2 weeks later...

I have a 2-month old Polisy successfully running the Climacell and Weatherbit nodeservers. My brand new Weatherflow Tempest just arrived to add into the mix, but I can't get the WeatherFlowPoly to work. I get 9 nodes added but the values are mainly zeros, apart from the ""Hub seconds since seen", which is 1594972239!

This is the log I'm getting after restarting the nodeserver:

MainThread polyinterface      INFO     polyinterface:init_interface: Received Config from STDIN.
MainThread polyinterface      INFO     __init__:<module>: UDI Polyglot v2 Interface 2.0.41 Starting...
MainThread polyinterface      DEBUG    polyinterface:get_network_interface: gws: {'default': {2: ('10.11.11.254', 'igb0')}, 2: [('10.11.11.254', 'igb0', True)]}
MainThread polyinterface      DEBUG    polyinterface:get_network_interface: gw: default=('10.11.11.254', 'igb0')
MainThread polyinterface      DEBUG    polyinterface:get_network_interface: ifad: igb0=[{'addr': '10.11.11.205', 'netmask': '255.255.255.0', 'broadcast': '10.11.11.255'}]
MainThread polyinterface      INFO     polyinterface:__init__: Connect: Network Interface: {'addr': '10.11.11.205', 'netmask': '255.255.255.0', 'broadcast': '10.11.11.255'}
Interface  polyinterface      INFO     polyinterface:_startMqtt: Connecting to MQTT... localhost:1883
MQTT       polyinterface      INFO     polyinterface:_connect: MQTT Connected with result code 0 (Success)
MQTT       polyinterface      INFO     polyinterface:_connect: MQTT Subscribing to topic: udi/polyglot/ns/5 -  MID: 1 Result: 0
MQTT       polyinterface      INFO     polyinterface:_connect: MQTT Subscribing to topic: udi/polyglot/connections/polyglot -  MID: 2 Result: 0
MQTT       polyinterface      INFO     polyinterface:_connect: Sent Connected message to Polyglot
MQTT       polyinterface      INFO     polyinterface:_subscribe: MQTT Subscribed Succesfully for Message ID: 1 - QoS: (0,)
MQTT       polyinterface      INFO     polyinterface:_subscribe: MQTT Subscribed Succesfully for Message ID: 2 - QoS: (0,)
NodeServer polyinterface      INFO     weatherflow:start: Starting WeatherFlow Node Server
MQTT       polyinterface      DEBUG    weatherflow:process_config: -- configuration is valid
NodeServer polyinterface      ERROR    node_funcs:get_saved_log_level: Found saved log level 30
NodeServer polyinterface      ERROR    node_funcs:save_log_level: saving log level to customdata
NodeServer polyinterface      INFO     polyinterface:saveCustomData: Sending customData to Polyglot.
NodeServer polyinterface      INFO     node_funcs:set_logging_level: set_logging_level: Setting log level to 30
NodeServer polyinterface      ERROR    weatherflow:query_wf: Bad: 'stations'
NodeServer py.warnings        WARNING  warnings:_showwarnmsg: /var/polyglot/nodeservers/WeatherFlowPoly/nodes/weatherflow.py:373: ResourceWarning: unclosed <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.11.11.205', 15696), raddr=('107.22.116.161', 80)>
NodeServer polyinterface      ERROR    hub:__init__: No sensor devices found (Sky, Air, Tempest)

"Bad 'stations'" seems to be the problem, but I'm using what I believe is the required station ID from the hub's status screen.

I've not entered any other config data in the NodeServer. I did completely reinstall the Nodeserver just to be sure.

Note that I've not set the Weatherflow Hub to be publicly available, believing that the NodeServer is supposed to talk directly to the hub over UDP.. But maybe I'm mistaken, because the above log does show an attempted connection to an Amazon AWS IP.  I do prefer not to have things publicly visible, at least until they're bedded in.

Can someone clarify this for me?

Thanks

- Andrew

Edited by andrewm
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

    • There are no registered users currently online
  • Forum Statistics

    • Total Topics
      36.5k
    • Total Posts
      367.7k
×
×
  • Create New...