Jump to content

Polyglot weather station node servers


bpwwer

Recommended Posts

An update to version 1.1.0 of the DarkSky node server should show up in the Polyglot store shortly.  This version adds daily evapotranspiration forecasts to each of the daily forecast nodes. The calculation wasn't quite a scary as I originally thought. There's a paper published that describes the calculations in a step-by-step format and that's what the code is based on.  The numbers I'm getting seem to roughly correspond to the values reported by digital.weather.gov.  Currently it only provides them in mm/day as the ISY doesn't have a inches/day unit of measure defined. 

For the evapotranspiration calculations to work, they need some additional site information.  You'll need to enter your locations elevation above sea level, in meters and there's a coefficient value that maps to the type of vegetation. The default, reference crop (Plant Type), coefficient is 0.23. 

- APIkey   : Your API ID, needed to authorize connection to the DarkSky API.

- Location : latitude and longitude of the location to query the data for. ex: 42.3601,-71.0589

- Units    : 'si' or 'us' request data in this units format.

- Elevation : The elevation, in meters, of the location.

- Plant Type: Used as part of the ETo calculation to compensate for different types of ground cover.  Default is 0.23

I'm curious to know if this is useful and specifically, how helpful is it in determining irrigation requirements.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I've tried DarkSkys both on the cloud and Rpi.  I connect but the values are zeros.  From the error logs it seems to be a misformed URL.


 
5/4/19 22:08:18:480 [NodeServer][DEBUG] :: request = https://api.darksky.net/forecast/6f12534f01d07684022c1e2bb6d6xxxx/40.9294,-73.1026 ?units=us
5/4/19 22:08:18:543 [NodeServer][DEBUG] :: found key: code
5/4/19 22:08:18:544 [NodeServer][DEBUG] :: found key: error
5/4/19 22:08:18:545 [NodeServer][ERROR] :: Exception in thread NodeServer: Traceback (most recent call last): File "/usr/local/lib/python3.7/threading.py", line 917, in _bootstrap_inner self.run() File "/usr/local/lib/python3.7/threading.py", line 865, in run self._target(*self._args, **self._kwargs) File "./darksky.py", line 103, in start self.query_conditions() File "./darksky.py", line 156, in query_conditions self.setDriver('GV13', self.icon_2_int(jdata['currently']['icon']), KeyError: 'currently'
 
If I try the URL in a browser without ?units=us, it works.
Any suggestions?
Thanks.
Edited by nadler
Link to comment
Share on other sites

By deleting and reinstalling the cloud nodeserver and NOT entering Units, it's connecting and working.  "Units us" does show up automatically as a configuration parameter.  In ISY Administration Panel everything shows up correctly in US units Farenheit etc.  When I try to place the temp value in a state variable it shows up in celcius, not Farenheit.  That has me stumped.

Link to comment
Share on other sites

12 hours ago, nadler said:

I've tried DarkSkys both on the cloud and Rpi.  I connect but the values are zeros.  From the error logs it seems to be a misformed URL.



 
5/4/19 22:08:18:480 [NodeServer][DEBUG] :: request = https://api.darksky.net/forecast/6f12534f01d07684022c1e2bb6d6xxxx/40.9294,-73.1026 ?units=us


It looks like there's an extra space after the location and before the '?' that would cause an error like what your seeing.

I never tried setting a state variable with a value so I'm not sure what's happening them.  I'm travelling and my RPI that runs Polyglot has corrupted it's SD card so I can't remote test anything.

Try restarting (not reloading) the node server and also re-load the admin console to make sure it's using the current node definition. It kind of looks like the node definition is for metric but the data is being sent to the node server as non-metric.

























 

 

Link to comment
Share on other sites

  • 3 weeks later...
2 hours ago, flaxfoot said:

Is dark sky supposed to have the weather data shown in the dashboard available to be used in the programming dashboard? Or do I need to map the rest url to a variable ? 

The ISY Dashboard doesn't show any data for DarkSky, as it appears to be a simple ON/OFF switch.  The ISY Admin Console, on the other hand, displays plenty of data from DarkSky, and the nodes are fully available in ISY programs.  See screenshots.

 

Screen Shot 2019-05-25 at 8.16.42 PM.png

Screen Shot 2019-05-25 at 8.17.47 PM.png

  • Like 1
Link to comment
Share on other sites

yea. thats my problem. dark sky isn't available to be programed in the admin console. Might have to do with the java console out put that generates when I click the program tab? 


java.lang.IllegalArgumentException: [F10.I5] editor [MB] not found, ndef=[dsweather] parm=[BARPRES]
    at com.universaldevices.ui.u7.U7CmdParameterWidget.<init>(Unknown Source)
    at com.universaldevices.ui.u7.U7CmdParameterWidget.createForProgramCondition(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionParametersPanel.initComponents(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionParametersPanel.<init>(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionPanel.addNodeDef(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionPanel.<init>(Unknown Source)
    at com.universaldevices.ui.d2d.UDTriggerConditionCustomTypeU7Cmd.<init>(Unknown Source)
    at com.universaldevices.ui.d2d.UDTriggerManager.initValues(Unknown Source)
    at com.universaldevices.ui.d2d.UDTriggerUI.<init>(Unknown Source)
    at com.universaldevices.ui.views.TriggerView.refreshEx(Unknown Source)
    at com.universaldevices.ui.views.TriggerView$1.doInBackground(Unknown Source)
    at com.universaldevices.ui.views.TriggerView$1.doInBackground(Unknown Source)
    at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at javax.swing.SwingWorker.run(SwingWorker.java:334)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Ignored incomplete status condition nodeDef [dsweather] dc=[null]
java.lang.IllegalArgumentException: [F10.I5] editor [MB] not found, ndef=[daily] parm=[BARPRES]
    at com.universaldevices.ui.u7.U7CmdParameterWidget.<init>(Unknown Source)
    at com.universaldevices.ui.u7.U7CmdParameterWidget.createForProgramCondition(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionParametersPanel.initComponents(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionParametersPanel.<init>(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionPanel.addNodeDef(Unknown Source)
    at com.universaldevices.ui.u7.U7ConditionPanel.<init>(Unknown Source)
    at com.universaldevices.ui.d2d.UDTriggerConditionCustomTypeU7Cmd.<init>(Unknown Source)
    at com.universaldevices.ui.d2d.UDTriggerManager.initValues(Unknown Source)
    at com.universaldevices.ui.d2d.UDTriggerUI.<init>(Unknown Source)
    at com.universaldevices.ui.views.TriggerView.refreshEx(Unknown Source)
    at com.universaldevices.ui.views.TriggerView$1.doInBackground(Unknown Source)
    at com.universaldevices.ui.views.TriggerView$1.doInBackground(Unknown Source)
    at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at javax.swing.SwingWorker.run(SwingWorker.java:334)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Ignored incomplete status condition nodeDef [daily] dc=[null]
Ignored variable panel nodeDef [dsweather] dc=[null]
Ignored variable panel nodeDef [daily] dc=[null]

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=then, state=T_THEN, data=

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=then, state=T_THEN, data=

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=then, state=T_THEN, data=

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=then, state=T_THEN, data=

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=then, state=T_THEN, data=

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=else, state=T_ELSE, data=

D2D Invalid Action: D2D_INVALID_CMD_RESPONSE, tag=cmd, num=T_CMD, nest=3, parent=else, state=T_ELSE, data=
 

Link to comment
Share on other sites

  • 2 weeks later...

@bpwwer
 
Would you consider adding a parameter to Westherflowpoly to send updates at an interval of time?

It currently sends data in real time which is a lot for ISY to process and much more often than I need?

Thanks for any consideration.

Link to comment
Share on other sites

On 5/27/2019 at 2:00 PM, flaxfoot said:

yea. thats my problem. dark sky isn't available to be programed in the admin console. Might have to do with the java console out put that generates when I click the program tab? 


java.lang.IllegalArgumentException: [F10.I5] editor [MB] not found, ndef=[dsweather] parm=[BARPRES]
  

It may be that the profile didn't get fully loaded.  the MB editor ID is in the file so the only reason I can think of for it not being found would be if it didn't get all the profile files copied to the ISY correctly.  I'd try un-installing and re-installing the node server.

Link to comment
Share on other sites

  • 2 weeks later...

I am so lost.  I was trying to use APIXU from the poly cloud.  It installed fine, I had empty data fields in Admin Console.  Registered on APIXU got API key opened configuration on poly site, entered API in Custom Config parameters. Now have no data fields in Admin Console and The umbrella icons have changed to light bulbs.  I have never used Polyglot before and am in very unfamiliar territory.  Any suggestions would be greatly appreciated.

Link to comment
Share on other sites

5 hours ago, TomL said:

I am so lost.  I was trying to use APIXU from the poly cloud.  It installed fine, I had empty data fields in Admin Console.  Registered on APIXU got API key opened configuration on poly site, entered API in Custom Config parameters. Now have no data fields in Admin Console and The umbrella icons have changed to light bulbs.  I have never used Polyglot before and am in very unfamiliar territory.  Any suggestions would be greatly appreciated.

It needs the following custom parameters set.  And the name (key) needs to be exact, including the upper/lower case.

The APIXU node server has the following user configuration parameters:

APIkey : Your API ID, needed to authorize connection to the APIXU API.

Location : Specify location using one of the following:

 - latitude and longitude in decimal degrees. I.E. 48.85,2.35
 - city name
 - US zip code
 - UK postcode
 - Canada postal code
 - meta: I.E. metar:EGLL
 - 3 digit airport code I.E. iata:DXB

Units : 'metric' or 'imperial' request data in this units format.

Elevation : The elevation, in meters, of the location.

Plant Type: Used as part of the ETo calculation to compensate or different types of ground cover. Default is 0.23

If you still have problems, look at the real-time log. It should have some clues as to what the problem is.

Link to comment
Share on other sites

OK, I think I screwed something up when I was trying to make things work, prior to reaching out.  I followed the above and everything is working in the Node server and in the portal>ISY Web Access>Mydevices and scenes there is a listing for APIXU and opening it gives me all the current info, but in Admin Console, there is no data or data boxes in the APIXU or forecasts.  I am sure I did something in the Admin Console>Node Server>configure>APIXU dialog box.  In messing around yesterday I changed the user ID and password to my APIXU login at one point, dum dum dum...  I did not make note of previous user ID, tried PGC and PCS, guessing at my failed memory.  Should I delete it from polycloud and reinstall, now that I know what I am doing, supposedly or is there a way to fix the configure in Admin Console.  And thank you very much for your help Bob!!!!!!

Link to comment
Share on other sites

Success.  I uninstalled and reinstalled Node Server, everything work great now.  Thank you again for all your help and what seems to be a great add-on.

Link to comment
Share on other sites

Deleting and re-installing and then restarting the admin console is typically how I try to fix anything that's not right in the admin console.

Link to comment
Share on other sites

  • 2 weeks later...

I've been using the original stand-alone Weatherflow nodeserver for some time (currently v1.0.0.19).  However when I restarted the RPI and WFNodeServer.exe this afternoon it seemed to start OK (last three responses = Querying ISY for existing nodes.   Starting Weatherflow data collection thread.  Logging server has started on port 8289.) but then at continuing 10 second intervals I get the following error message: "Deserialization of device status failed. Deserializing list type 'RuntimeType' not supported."   Looking at the nodes in the admin console, the data is current and being updated.   I'm not quite sure what do do next?  

ISY994 firmware and UI = v5.0.15A

John 

Link to comment
Share on other sites

On 7/13/2019 at 4:09 PM, inovermyhead said:

I've been using the original stand-alone Weatherflow nodeserver for some time (currently v1.0.0.19).  However when I restarted the RPI and WFNodeServer.exe this afternoon it seemed to start OK (last three responses = Querying ISY for existing nodes.   Starting Weatherflow data collection thread.  Logging server has started on port 8289.) but then at continuing 10 second intervals I get the following error message: "Deserialization of device status failed. Deserializing list type 'RuntimeType' not supported."   Looking at the nodes in the admin console, the data is current and being updated.   I'm not quite sure what do do next?  

ISY994 firmware and UI = v5.0.15A

John 

Sorry, I meant to reply to the sooner but forgot.  WeatherFlow make a small change in the 114 firmware that was released recently. It causes the node server to fail when processing the device status messages.  These are the messages that report information about the sensor health only.  It doesn't effect the actual weather data.

I need to make a small change to the node server to fix this and will try to get that done in next few days.

Link to comment
Share on other sites

  • 1 month later...
3 hours ago, DaveStLou said:

I am considering moving to WeeWX since Cumulus is no longer being updated.

@bpwwer Any possibility of adding support for WeeWX?

WeeWX already supports WeatherFlow (assuming that is what you're referring to).  I've been using it for quite a while.

https://community.weatherflow.com/t/weewx-udp-driver-for-weatherflow-station/283

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

7 hours ago, Bumbershoot said:

WeeWX already supports WeatherFlow (assuming that is what you're referring to).  I've been using it for quite a while.

https://community.weatherflow.com/t/weewx-udp-driver-for-weatherflow-station/283

I should have been clearer. WeatherPoly currently supports Cumulus which is what I am using to interface with my Davis Vantage Pro 2 weather station. WeatherFlow looks great but my current station is meeting my needs. I see WeatherLink Polyglot but I don't have Davis' WeatherLink.

What I'm asking is if if WeatherPoly could add support for WeeWx as a data source. Unless I'm missing something, I don't see it in the documentation. It says it supports Cumulus, Weather Display, MeteoBridge. Very early in this thread @bpwwer mentioned that WeeWX was very similar to Cumulus.

Link to comment
Share on other sites

On 9/1/2019 at 3:33 AM, DaveStLou said:

I should have been clearer. WeatherPoly currently supports Cumulus which is what I am using to interface with my Davis Vantage Pro 2 weather station. WeatherFlow looks great but my current station is meeting my needs. I see WeatherLink Polyglot but I don't have Davis' WeatherLink.

What I'm asking is if if WeatherPoly could add support for WeeWx as a data source. Unless I'm missing something, I don't see it in the documentation. It says it supports Cumulus, Weather Display, MeteoBridge. Very early in this thread @bpwwer mentioned that WeeWX was very similar to Cumulus.

It's been so long since I looked at WeeWX that I honestly don't remember if support was possible or not.  If it was easy, I think I would have added it. 

The key is if WeeWX has a feature where it can send its data to a user specified URL.  If so, it's just a matter of adding a simple parser to parse the data from the WeeWX http request.  I think I concluded that it would take a bit of code to make WeeWX do this, but like I said, it was a while ago.  I am currently running WeeWX on a RPi, but I don't actively use it for anything. 

If you do some experimenting with WeeWX and find that it has a way to publish the data to a URL, let me know. I'd be happy to add the support in the node server.

Link to comment
Share on other sites

3 hours ago, bpwwer said:

It's been so long since I looked at WeeWX that I honestly don't remember if support was possible or not.  If it was easy, I think I would have added it. 

The key is if WeeWX has a feature where it can send its data to a user specified URL.  If so, it's just a matter of adding a simple parser to parse the data from the WeeWX http request.  I think I concluded that it would take a bit of code to make WeeWX do this, but like I said, it was a while ago.  I am currently running WeeWX on a RPi, but I don't actively use it for anything. 

If you do some experimenting with WeeWX and find that it has a way to publish the data to a URL, let me know. I'd be happy to add the support in the node server.

I'm not ready to jump over yet, but it looks like customizations are supported and detailed here: http://weewx.com/docs/customizing.htm#introduction

I'll dig into it more and let you know if I move that direction. Thanks!

Link to comment
Share on other sites

  • 1 month later...
1 hour ago, Whitehambone said:

With APIXU converting to Weatherstack, it would seem the APIXU Node Server will no longer work.  On 10-14-2019 the APIXU server will shut down.  What are the best alternatives?   Dark Sky?  Anyone working on a Weatherstack Node Server?

I started looking at the Weatherstack API and the data you get with a free account is much more limited than what was available with APIXU.  I may still continue to try and get a Weatherstack node server going as I have time but I'm not sure it's going to be worth it. 

Both DarkSky and OpenWeatherMap are probably better alternatives.

Link to comment
Share on other sites

21 minutes ago, bpwwer said:

I started looking at the Weatherstack API and the data you get with a free account is much more limited than what was available with APIXU.  I may still continue to try and get a Weatherstack node server going as I have time but I'm not sure it's going to be worth it. 

Both DarkSky and OpenWeatherMap are probably better alternatives.

I will try one of your suggestions, thanks!  Do you know if either of them have Dew Point, Heat Index and Wind Chill?

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)

  • Forum Statistics

    • Total Topics
      36.6k
    • Total Posts
      367.8k
×
×
  • Create New...