Weather

@actionsflow/trigger-weather

This is a weather trigger using Openweathermap API of Actionsflow. You can watch some city's weather updates by using this trigger.

This is an official trigger, you don't need to install it manually.

View trigger on Github

Usage

When the temperature is below 13°C at 07:00 AM every morning:

on:
weather:
apiKey: ${{ secrets.OPENWEATHERMAP_API_KEY }}
params:
lat: 51.509865
lon: -0.118092
units: metric
every: "0 7 * * *"
timeZone: UTC
filter:
"current.temp":
$lt: 13

When it will rain today:

on:
weather:
apiKey: ${{ secrets.OPENWEATHERMAP_API_KEY }}
params:
lat: 51.509865
lon: -0.118092
units: metric
every: "0 7 * * *"
timeZone: UTC
filter:
"daily.0.weather.0.main":
$eq: Rain

Options

You can use General Config for Actionsflow Trigger for more customization.

Outputs

This trigger's outputs will be the item of the following results.

An onecall outputs example:

{
"lat": 40.12,
"lon": -96.66,
"timezone": "America/Chicago",
"timezone_offset": -18000,
"current": {
"dt": 1595243443,
"sunrise": 1595243663,
"sunset": 1595296278,
"temp": 293.28,
"feels_like": 293.82,
"pressure": 1016,
"humidity": 100,
"dew_point": 293.28,
"uvi": 10.64,
"clouds": 90,
"visibility": 10000,
"wind_speed": 4.6,
"wind_deg": 310,
"weather": [
{
"id": 501,
"main": "Rain",
"description": "moderate rain",
"icon": "10n"
},
{
"id": 201,
"main": "Thunderstorm",
"description": "thunderstorm with rain",
"icon": "11n"
}
],
"rain": {
"1h": 2.93
}
},
"minutely": [
{
"dt": 1595243460,
"precipitation": 2.928
},
...
},
"hourly": [
{
"dt": 1595242800,
"temp": 293.28,
"feels_like": 293.82,
"pressure": 1016,
"humidity": 100,
"dew_point": 293.28,
"clouds": 90,
"visibility": 10000,
"wind_speed": 4.6,
"wind_deg": 123,
"weather": [
{
"id": 501,
"main": "Rain",
"description": "moderate rain",
"icon": "10n"
}
],
"pop": 0.99,
"rain": {
"1h": 2.46
}
},
...
}
"daily": [
{
"dt": 1595268000,
"sunrise": 1595243663,
"sunset": 1595296278,
"temp": {
"day": 298.82,
"min": 293.25,
"max": 301.9,
"night": 293.25,
"eve": 299.72,
"morn": 293.48
},
"feels_like": {
"day": 300.06,
"night": 292.46,
"eve": 300.87,
"morn": 293.75
},
"pressure": 1014,
"humidity": 82,
"dew_point": 295.52,
"wind_speed": 5.22,
"wind_deg": 146,
"weather": [
{
"id": 502,
"main": "Rain",
"description": "heavy intensity rain",
"icon": "10d"
}
],
"clouds": 97,
"pop": 1,
"rain": 12.57,
"uvi": 10.64
},
...
},
"alerts": [
{
"sender_name": "NWS Tulsa (Eastern Oklahoma)",
"event": "Heat Advisory",
"start": 1597341600,
"end": 1597366800,
"description": "...HEAT ADVISORY REMAINS IN EFFECT FROM 1 PM THIS AFTERNOON TO\n8 PM CDT THIS EVENING...\n* WHAT...Heat index values of 105 to 109 degrees expected.\n* WHERE...Creek, Okfuskee, Okmulgee, McIntosh, Pittsburg,\nLatimer, Pushmataha, and Choctaw Counties.\n* WHEN...From 1 PM to 8 PM CDT Thursday.\n* IMPACTS...The combination of hot temperatures and high\nhumidity will combine to create a dangerous situation in which\nheat illnesses are possible."
},
...
]

You can use the outputs like this:

on:
weather:
apiKey: ${{ secrets.OPENWEATHERMAP_API_KEY }}
params:
lat: 51.509865
lon: -0.118092
units: metric
every: 0
filter:
"current.temp":
$lt: 13
jobs:
print:
name: Print
runs-on: ubuntu-latest
steps:
- name: Print Outputs
env:
current_temp: ${{ on.weather.outputs.current.temp }}
run: |
echo current_temp: $current_temp

For the other API outputs, please see here