GithubHelp home page GithubHelp logo

udi-aeris-poly's Introduction

AERIS weather service

This is a node server to pull weather data from the AERIS weather network and make it available to a Universal Devices ISY994i Polyglot interface with Polyglot V2

(c) 2020 Robert Paauwe MIT license.

Installation

  1. Backup Your ISY in case of problems!
    • Really, do the backup, please
  2. Go to the Polyglot Store in the UI and install.
  3. Add NodeServer in Polyglot Web
    • After the install completes, Polyglot will reboot your ISY, you can watch the status in the main polyglot log.
  4. Once your ISY is back up open the Admin Console.
  5. Configure the node server per configuration section below.

Node Settings

The settings for this node are:

Short Poll

  • How often to poll the AERIS weather service for current condition data (in seconds). Note that the PWS partner plan only allows for 1000 requests per day so set this appropriately. Also note that two queries are made during each poll.

Long Poll

  • How often to poll the AERIS weather service for forecast data (in seconds). Note that the data is only updated every 15 minutes. Setting this to less may result in exceeding the free service rate limit.

ClientID

* Your AERIS client ID, needed to authorize the connection the the AERIS API.

ClientSecret

* Your AERIS client secret key, needed to authorize the connection the the AERIS API.

Location

* Specify the location to use in the weather data queries.  The location can be specified using the following conventions:
	- coordinates (latitude,longitude)  Ex.  37.25,-122.25
	- city,state                        Ex.  seattle,wa
	- city,state,country                Ex.  seattle,wa,us
	- city,country                      Ex.  paris,france
	- zip/postal code                   Ex.  98109
	- 3 character IATA airport codes    Ex.  ROA
	- NOAA public weather zone          Ex.  MNZ029
	- PWS Station                       Ex.  PWS_VILLONWMR2

Elevation

* The elevation of your location, in meters. This is used for the ETo calculation.

Forecast Days

* The number of days of forecast data to track (0 - 12). Note that the basic plan only provides 7 days of data.

Plant Type

* Used for the ETo calculation to compensate for different types of ground cover. Default is 0.23

Units

* set to 'imperial' or 'metric' to control which units are used to display the weather data.

Node substitution variables

Current condition node

  • sys.node.[address].ST (Node sever online)
  • sys.node.[address].CLITEMP (current temperature)
  • sys.node.[address].CLIHUM (current humidity)
  • sys.node.[address].DEWPT (current dew point)
  • sys.node.[address].BARPRES (current barometric pressure)
  • sys.node.[address].SPEED (current wind speed)
  • sys.node.[address].WINDDIR (current wind direction )
  • sys.node.[address].DISTANC (current visibility)
  • sys.node.[address].SOLRAD (current solar radiation)
  • sys.node.[address].UV (current uv index)
  • sys.node.[address].GV5 (current gust speed)
  • sys.node.[address].GV11 (current condition coverage)
  • sys.node.[address].GV12 (current intensity of conditions)
  • sys.node.[address].GV13 (current weather conditions)
  • sys.node.[address].GV14 (current percent cloud coverage)
  • sys.node.[address].GV6 (current precipitation accumulation)
  • sys.node.[address].GV2 (current feels like temperature)
  • sys.node.[address].GV3 (current heat index temperature)
  • sys.node.[address].GV4 (current wind chill temperature)

Forecast node

  • sys.node.[address].CLIHUM (forecasted humidity)
  • sys.node.[address].BARPRES (forecasted barometric pressure)
  • sys.node.[address].UV (forecasted max UV index)
  • sys.node.[address].GV19 (day of week forecast is for)
  • sys.node.[address].GV0 (forecasted high temperature)
  • sys.node.[address].GV1 (forecasted low temperature)
  • sys.node.[address].GV11 (forecasted condition coverage)
  • sys.node.[address].GV12 (forecasted intensity of conditions)
  • sys.node.[address].GV13 (forecasted weather conditions)
  • sys.node.[address].GV14 (forecasted percent cloud coverage)
  • sys.node.[address].SPEED (forecasted wind speed)
  • sys.node.[address].GV5 (forecasted gust speed)
  • sys.node.[address].GV6 (forecasted precipitation)
  • sys.node.[address].GV15 (forecasted snowfall)
  • sys.node.[address].GV7 (forecasted max wind speed)
  • sys.node.[address].GV8 (forecasted min wind speed)
  • sys.node.[address].GV18 (forecasted precent chance of precipitation)
  • sys.node.[address].GV20 (calculated ETo for the day)

Requirements

  1. Polyglot V2.
  2. ISY firmware 5.0.x or later
  3. An account with AERIS weather (http://aerisweather.com)

Upgrading

Open the Polyglot web page, go to nodeserver store and click "Update" for "AERIS Weather".

Then restart the AERIS nodeserver by selecting it in the Polyglot dashboard and select Control -> Restart, then watch the log to make sure everything goes well.

The nodeserver keeps track of the version number and when a profile rebuild is necessary. The profile/version.txt will contain the profile_version which is updated in server.json when the profile should be rebuilt.

Release Notes

  • 1.0.13 12/12/2020
    • Update forecast limit to match Aeris change.
  • 1.0.12 10/02/2020
    • Update NLS profile file with typo fix and intensity fix.
  • 1.0.11 08/25/2020
    • Update polling interval documentation
    • Fix typo in MPH to m/s conversion function
    • Update polling interval to not exceed free plan limits
  • 1.0.10 07/19/2020
    • Correct latitude parsing and add error checking.
  • 1.0.9 07/18/2020
    • Add kph2ms function to convert windspeed for ETo calculation
    • Fix condition so that the conversion needed when not metric are correct.
    • Add update latitude data from current observation data.
  • 1.0.8 07/18/2020
    • Fix UOM for windspeed. Metric UOM is KPH, not M/S.
    • Update temperature range for celcius to go lower.
    • Fix error when Aeris data is different than originally expected.
  • 1.0.7 06/17/2020
    • update editor for ETo to include inches/day
  • 1.0.6 04/16/2020
    • fix syntax error introduced with previous change
  • 1.0.5 04/16/2020
    • snowfall in inches incorrectly was multiplied by 10.
  • 1.0.4 04/07/2020
    • Handle precipitation summary response if it's either a list or dictionary
  • 1.0.3 04/07/2020
    • Add query to get preciptitation summary info
  • 1.0.2 03/30/2020
    • Add snow depth to current conditions and forecasts
    • change "rain today" to "precipitation"
  • 1.0.1 03/30/2020
    • Fix issues with the profile files.
  • 1.0.0 03/18/2020
    • Initial public release
  • 0.0.1 08/20/2019
    • Initial version published to github for testing

udi-aeris-poly's People

Contributors

bpaauwe avatar compkingcanada avatar javierrefuerzo avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

udi-aeris-poly's Issues

Poll Interval Save

Changes to the Short or Long poll don't appear to save. Action: Update one or both of the polls and click the save immediately next to them. See a message that it is saving, wait several minutes, click nodes and click back to configuration where changes have reverted to the default

Typo in en_us.txt file

Line 145 "definite" is spelled wrong.
Line 160 "thunderstorm" case is inconsistent with the rest of the climate conditions.
Both are corrected in attached file.
en_us.txt

Metric Updates needed

Units for wind-speed are calc'd at km/hr but show as m/s
Update lower range for -10c being lower limit to -50c

Patches Pending
#3 #4 #5 #6 #7

In the future, I will try to combine these into a single pull request

Error installing

Hello, I installed the nodes server on Polyglot-V2 but it doesn't install correctly, the configuration section is partially missing and the nodes don't appear.
This is the log output, any assistance would be greatly appreciated.
AERISWeather_2-9-2021_95030_AM.txt

Thank you.

Documentation fix for polling

During the shortPoll there are actually two queries made against the API.

jdata = self.get_weather_data('observations')

and

jdata = self.get_weather_data('observations/summary')

Both count against the 1000 api accesses a day and was causing me to hit my daily polling max twice as fast as expected.

If would be helpful and prevent confusion if the short poll documentation should mentioned that 2 queries are made per shortPoll.

Eto Calculation seems quite low

The end goal of the updates I have been giving is to get my Irrigation System back to where it was before the ISY Climate Module was removed.

In the middle of Summer in Canada on windy days, the ETo numbers being calculated of .67mm/day is very low. I would expect greater than 3mm/day

I am trying to compare your base test scenario in the et3.py to another model to validate the accuracy of the calculation. Not a simple task from what I can see. Right now I am using someone else's ETo calculator at: http://www.fao.org/land-water/databases-and-software/eto-calculator/en/ to validate..

Do you have an external model you used when developing your source so I could try to get closer to your numbers?

Update instructions incorrect

The update instructions say to go to Polyglot store and click on the update button, there is no such button, just an install button.
Polyglot update instructions say to stop and start the node, this doesn't work either.

Also, there is no Polyglot dashboard Control->Restart

Thank you,

Account and Alert Data

I would love to test this but $80 a month they charge is pretty steep for a home user. Any options for cheaper service?

Also one thing Aeris offers that I dont see in other node servers (or in your docs) is ALERT info. Would be nice to get alerts in the ISY so for example if a tornado warning blink lights in house. (just made that up but you get the idea).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.