[FREE/PAID] β›… Tricky Weather Extension

Overview

The Tricky Weather Extension is a comprehensive Kodular extension that provides access to the weather. It offers 15+ different weather data types with enhanced processing including weather icons, descriptions, and meteorological insights.

Features

  • 15+ Weather Data Types - Current, daily, hourly forecasts and specialized data
  • Enhanced Responses - Weather icons (emoji), descriptions, and day names
  • Multiple Locations - Support for any global coordinates
  • Unit Conversions - Temperature, wind speed, pressure conversions
  • Error Handling - Comprehensive error reporting

Properties

Default Latitude

  • Type : Number (Float)
  • Default : 51.5074 (London)
  • Description : Default latitude for weather requests

Default Longitude

  • Type : Number (Float)
  • Default : -0.1278 (London)
  • Description : Default longitude for weather requests

API

  • Type : Text
  • Default : -Empty
  • Description : API key to access Extension

Methods

Basic Weather Data

GetCurrentWeather

Gets current weather conditions for default coordinates.
Sample Response

{
  "current_weather": {
    "temperature": 15.3,
    "windspeed": 12.8,
    "winddirection": 180,
    "weathercode": 2,
    "is_day": 1,
    "time": "2024-01-15T14:00",
    "weather_icon_emoji": "β›…",
    "weather_icon_name": "partly_cloudy_day",
    "weather_description": "Partly cloudy",
    "wind_description": "Strong breeze",
    "day_name": "Monday",
    "day_name_short": "Mon"
  }
}

GetDailyForecast

Gets daily forecast for specified number of days (1-16).

Parameters :

  • days (Number): Number of forecast days (1-16)

Sample Response :

{
  "daily": {
    "time": ["2024-01-15", "2024-01-16", "2024-01-17"],
    "weathercode": [2, 61, 80],
    "temperature_2m_max": [16.2, 14.8, 13.5],
    "temperature_2m_min": [8.3, 7.1, 6.8],
    "precipitation_sum": [0.0, 2.5, 1.2],
    "windspeed_10m_max": [15.2, 18.7, 12.3],
    "day_names": ["Monday", "Tuesday", "Wednesday"],
    "day_names_short": ["Mon", "Tue", "Wed"],
    "weather_icons_emoji": ["β›…", "🌧️", "🌦️"],
    "weather_icons_name": ["partly_cloudy_day", "rain", "rain_showers"],
    "weather_descriptions": ["Partly cloudy", "Slight rain", "Slight rain showers"],
    "wind_descriptions": ["Strong breeze", "Near gale", "Strong breeze"],
    "precipitation_descriptions": ["Dry", "Moderate precipitation", "Light precipitation"]
  }
}

GetHourlyForecast

Gets hourly forecast for specified days (1-7).

Parameters :

  • days (Number): Number of forecast days (1-7)

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T00:00", "2024-01-15T01:00", "2024-01-15T02:00"],
    "temperature_2m": [8.3, 7.8, 7.2],
    "relativehumidity_2m": [85, 87, 89],
    "precipitation": [0.0, 0.0, 0.2],
    "weathercode": [1, 1, 51],
    "windspeed_10m": [8.2, 9.1, 10.5],
    "day_names": ["Monday", "Monday", "Monday"],
    "day_names_short": ["Mon", "Mon", "Mon"],
    "is_day": [0, 0, 0],
    "weather_icons_emoji": ["🌀️", "🌀️", "🌦️"],
    "weather_icons_name": ["mostly_clear_night", "mostly_clear_night", "drizzle"],
    "weather_descriptions": ["Mainly clear", "Mainly clear", "Light drizzle"],
    "wind_descriptions": ["Fresh breeze", "Fresh breeze", "Strong breeze"],
    "precipitation_descriptions": ["Dry", "Dry", "Very light precipitation"]
  }
}

GetOneDayHourlyForecast

Gets 24-hour hourly forecast.

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T00:00", "2024-01-15T01:00", "2024-01-15T23:00"],
    "temperature_2m": [8.3, 7.8, 9.2],
    "relativehumidity_2m": [85, 87, 82],
    "precipitation": [0.0, 0.0, 0.0],
    "weathercode": [1, 1, 0],
    "windspeed_10m": [8.2, 9.1, 7.5],
    "weather_icons_emoji": ["🌀️", "🌀️", "πŸŒ™"],
    "weather_icons_name": ["mostly_clear_night", "mostly_clear_night", "clear_night"],
    "weather_descriptions": ["Mainly clear", "Mainly clear", "Clear sky"]
  }
}

GetCompleteWeather

Gets comprehensive weather data including current, hourly, and daily forecasts.

Sample Response :

{
  "current_weather": {
    "temperature": 15.3,
    "windspeed": 12.8,
    "winddirection": 180,
    "weathercode": 2,
    "is_day": 1,
    "time": "2024-01-15T14:00",
    "weather_icon_emoji": "β›…",
    "weather_icon_name": "partly_cloudy_day",
    "weather_description": "Partly cloudy",
    "wind_description": "Strong breeze",
    "day_name": "Monday",
    "day_name_short": "Mon"
  },
  "hourly": {
    "time": ["2024-01-15T00:00", "2024-01-15T01:00"],
    "temperature_2m": [8.3, 7.8],
    "relativehumidity_2m": [85, 87],
    "precipitation": [0.0, 0.0],
    "weathercode": [1, 1],
    "windspeed_10m": [8.2, 9.1],
    "weather_icons_emoji": ["🌀️", "🌀️"],
    "weather_icons_name": ["mostly_clear_night", "mostly_clear_night"],
    "weather_descriptions": ["Mainly clear", "Mainly clear"]
  },
  "daily": {
    "time": ["2024-01-15", "2024-01-16"],
    "weathercode": [2, 61],
    "temperature_2m_max": [16.2, 14.8],
    "temperature_2m_min": [8.3, 7.1],
    "precipitation_sum": [0.0, 2.5],
    "weather_icons_emoji": ["β›…", "🌧️"],
    "weather_icons_name": ["partly_cloudy_day", "rain"],
    "weather_descriptions": ["Partly cloudy", "Slight rain"]
  }
}

Specialized Weather Data

GetUVIndex

Gets UV index data for specified days.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "uv_index": [3.2, 4.1],
    "uv_index_descriptions": ["Moderate", "Moderate"]
  },
  "daily": {
    "time": ["2024-01-15", "2024-01-16"],
    "uv_index_max": [4.1, 3.8],
    "uv_index_descriptions": ["Moderate", "Moderate"]
  }
}

GetMinuteForecastWithDays

Gets 15-minute interval precipitation data.

Parameters :

  • days (Number): 1-3 days

Sample Response :

{
  "minutely_15": {
    "time": ["2024-01-15T14:00", "2024-01-15T14:15", "2024-01-15T14:30"],
    "precipitation": [0.0, 0.3, 0.8],
    "rain": [0.0, 0.2, 0.7],
    "showers": [0.0, 0.1, 0.1],
    "snowfall": [0.0, 0.0, 0.0],
    "day_names": ["Monday", "Monday", "Monday"],
    "day_names_short": ["Mon", "Mon", "Mon"],
    "is_day": [1, 1, 1],
    "precipitation_descriptions": ["Dry", "Light precipitation", "Moderate precipitation"],
    "rain_descriptions": ["No rain", "Light rain", "Moderate rain"],
    "showers_descriptions": ["No showers", "Light showers", "Light showers"],
    "snowfall_descriptions": ["No snow", "No snow", "No snow"]
  }
}

GetWeatherAlerts

Gets weather alerts and warnings for the area.

Sample Response :

{
  "alerts": {
    "alert1": {
      "event": "Heat Warning",
      "description": "High temperatures expected throughout the region",
      "severity": "Moderate",
      "onset": "2024-01-15T12:00",
      "expires": "2024-01-16T18:00"
    },
    "alert2": {
      "event": "Wind Advisory", 
      "description": "Strong winds may cause travel difficulties",
      "severity": "Minor",
      "onset": "2024-01-16T08:00",
      "expires": "2024-01-16T20:00"
    }
  }
}

GetSunriseSunset

Gets sunrise and sunset times.

Parameters :

  • days (Number): 1-16 days

Sample Response :

{
  "daily": {
    "time": ["2024-01-15", "2024-01-16", "2024-01-17"],
    "sunrise": ["2024-01-15T07:45", "2024-01-16T07:44", "2024-01-17T07:43"],
    "sunset": ["2024-01-15T16:30", "2024-01-16T16:31", "2024-01-17T16:32"],
    "day_names": ["Monday", "Tuesday", "Wednesday"],
    "day_names_short": ["Mon", "Tue", "Wed"]
  }
}

Advanced Meteorological Data

GetAtmosphericData

Gets comprehensive atmospheric conditions.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "surface_pressure": [1013.2, 1012.8],
    "cloudcover": [45, 60],
    "visibility": [12500, 9800],
    "relativehumidity_2m": [65, 68],
    "weathercode": [2, 3],
    "cloud_cover_descriptions": ["Partly cloudy", "Mostly cloudy"],
    "visibility_descriptions": ["Excellent", "Very good"],
    "day_names": ["Monday", "Monday"],
    "day_names_short": ["Mon", "Mon"],
    "is_day": [1, 1],
    "weather_icons_emoji": ["β›…", "☁️"],
    "weather_icons_name": ["partly_cloudy_day", "cloudy"],
    "weather_descriptions": ["Partly cloudy", "Overcast"]
  }
}

GetAgriculturalForecast

Gets data useful for farming and agriculture.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "daily": {
    "time": ["2024-01-15", "2024-01-16"],
    "et0_fao_evapotranspiration": [2.1, 1.8],
    "precipitation_sum": [0.0, 2.5],
    "weathercode": [2, 61],
    "day_names": ["Monday", "Tuesday"],
    "day_names_short": ["Mon", "Tue"],
    "weather_icons_emoji": ["β›…", "🌧️"],
    "weather_descriptions": ["Partly cloudy", "Slight rain"]
  },
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "soil_temperature_0cm": [12.3, 12.8],
    "relativehumidity_2m": [65, 68],
    "rain": [0.0, 0.0],
    "weathercode": [2, 2],
    "day_names": ["Monday", "Monday"],
    "day_names_short": ["Mon", "Mon"],
    "weather_icons_emoji": ["β›…", "β›…"],
    "weather_descriptions": ["Partly cloudy", "Partly cloudy"]
  }
}

GetWindData

Gets detailed wind information.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "wind_speed_10m": [12.8, 14.2],
    "wind_speed_80m": [15.3, 17.1],
    "wind_direction_10m": [180, 175],
    "wind_gusts_10m": [18.5, 20.3],
    "weathercode": [2, 3],
    "wind_descriptions": ["Strong breeze", "Near gale"],
    "day_names": ["Monday", "Monday"],
    "day_names_short": ["Mon", "Mon"],
    "is_day": [1, 1],
    "weather_icons_emoji": ["β›…", "☁️"],
    "weather_icons_name": ["partly_cloudy_day", "cloudy"],
    "weather_descriptions": ["Partly cloudy", "Overcast"]
  }
}

GetTemperatureProfiles

Gets temperature at different altitudes and soil levels.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "temperature_2m": [15.3, 15.8],
    "soil_temperature_0cm": [12.3, 12.8],
    "soil_temperature_6cm": [11.8, 12.2],
    "weathercode": [2, 2],
    "day_names": ["Monday", "Monday"],
    "day_names_short": ["Mon", "Mon"],
    "is_day": [1, 1],
    "weather_icons_emoji": ["β›…", "β›…"],
    "weather_icons_name": ["partly_cloudy_day", "partly_cloudy_day"],
    "weather_descriptions": ["Partly cloudy", "Partly cloudy"]
  }
}

GetVerticalTemperatureProfile

Gets temperature data for aviation purposes.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "temperature_2m": [15.3, 15.8],
    "temperature_80m": [14.2, 14.7],
    "weathercode": [2, 2],
    "day_names": ["Monday", "Monday"],
    "day_names_short": ["Mon", "Mon"],
    "is_day": [1, 1],
    "weather_icons_emoji": ["β›…", "β›…"],
    "weather_icons_name": ["partly_cloudy_day", "partly_cloudy_day"],
    "weather_descriptions": ["Partly cloudy", "Partly cloudy"]
  }
}

Severe Weather Data

GetSevereWeatherDaily

Gets severe weather indices with daily data.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "daily": {
    "time": ["2024-01-15", "2024-01-16"],
    "weathercode": [2, 95],
    "precipitation_sum": [0.0, 15.2],
    "precipitation_probability_max": [10, 85],
    "wind_speed_10m_max": [15.2, 25.8],
    "wind_gusts_10m_max": [18.5, 32.1],
    "cape_max": [120.5, 1850.3],
    "cape_descriptions": ["Weak instability", "Moderate instability"],
    "day_names": ["Monday", "Tuesday"],
    "day_names_short": ["Mon", "Tue"],
    "weather_icons_emoji": ["β›…", "β›ˆοΈ"],
    "weather_icons_name": ["partly_cloudy_day", "thunderstorm"],
    "weather_descriptions": ["Partly cloudy", "Thunderstorm"],
    "wind_descriptions": ["Strong breeze", "Storm"],
    "precipitation_descriptions": ["Dry", "Very heavy precipitation"]
  },
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "cape": [120.5, 135.2],
    "weathercode": [2, 2],
    "cape_descriptions": ["Weak instability", "Weak instability"],
    "weather_icons_emoji": ["β›…", "β›…"],
    "weather_descriptions": ["Partly cloudy", "Partly cloudy"]
  }
}

GetSevereWeatherHourly

Gets severe weather indices with hourly data.

Parameters :

  • days (Number): 1-7 days

Sample Response :

{
  "hourly": {
    "time": ["2024-01-15T12:00", "2024-01-15T13:00"],
    "cape": [120.5, 1850.3],
    "precipitation_probability": [10, 85],
    "wind_gusts_10m": [18.5, 32.1],
    "weathercode": [2, 95],
    "cape_descriptions": ["Weak instability", "Moderate instability"],
    "day_names": ["Monday", "Monday"],
    "day_names_short": ["Mon", "Mon"],
    "is_day": [1, 1],
    "weather_icons_emoji": ["β›…", "β›ˆοΈ"],
    "weather_icons_name": ["partly_cloudy_day", "thunderstorm"],
    "weather_descriptions": ["Partly cloudy", "Thunderstorm"]
  }
}

Events

Success Events

Each method has a corresponding success event:

  • OnCurrentWeatherReceived
  • OnDailyForecastReceived
  • OnHourlyForecastReceived
  • OnCompleteWeatherReceived
  • OnUVIndexReceived
  • OnMinuteForecastReceived
  • OnWeatherAlertsReceived
  • OnSunriseSunsetReceived
  • OnAtmosphericDataReceived
  • OnAgriculturalDataReceived
  • OnWindDataReceived
  • OnTemperatureProfileReceived
  • OnSevereWeatherDailyReceived
  • OnSevereWeatherHourlyReceived

Error Event

  • OnError - Triggered when any operation fails

Parameters :

  • action (String): The method that failed
  • errorMessage (String): Description of the error

Tier Feature Comparison Table

Feature FREE Tier MEDIUM Tier PRO Tier
Price - 10$ 15$
Daily Forecast Days 2 days 3 days 16 days
Hourly Forecast Days :cross_mark: Not Available 2 days 7 days
Minute Forecast Days :cross_mark: Not Available 1 day 3 days
Sunrise/Sunset Days 2 days 3 days 16 days
Atmospheric Data Days :cross_mark: Not Available 1 day 7 days
Agricultural Data Days :cross_mark: Not Available 1 day 7 days
Wind Data Days :cross_mark: Not Available 1 day 7 days
Temperature Profile Days :cross_mark: Not Available 1 day 7 days
Severe Weather Days :cross_mark: Not Available :cross_mark: Not Available 7 days

Feature Availability Table

Weather Feature FREE MEDIUM PRO
GetCurrentWeather :white_check_mark: :white_check_mark: :white_check_mark:
GetDailyForecast :white_check_mark: :white_check_mark: :white_check_mark:
GetSunriseSunset :white_check_mark: :white_check_mark: :white_check_mark:
GetHourlyForecast :cross_mark: :white_check_mark: :white_check_mark:
GetOneDayHourlyForecast :cross_mark: :white_check_mark: :white_check_mark:
GetCompleteWeather :cross_mark: :white_check_mark: :white_check_mark:
GetUVIndex :cross_mark: :white_check_mark: :white_check_mark:
GetMinuteForecastWithDays :cross_mark: :white_check_mark: :white_check_mark:
GetWeatherAlerts :cross_mark: :white_check_mark: :white_check_mark:
GetAtmosphericData :cross_mark: :white_check_mark: :white_check_mark:
GetWindData :cross_mark: :white_check_mark: :white_check_mark:
GetAgriculturalForecast :cross_mark: :cross_mark: :white_check_mark:
GetTemperatureProfiles :cross_mark: :cross_mark: :white_check_mark:
GetVerticalTemperatureProfile :cross_mark: :cross_mark: :white_check_mark:
GetSevereWeatherDaily :cross_mark: :cross_mark: :white_check_mark:
GetSevereWeatherHourly :cross_mark: :cross_mark: :white_check_mark:

Key Limits Summary

Resource FREE MEDIUM PRO
Total Features 3 11 16
Max Forecast Period 2 days 3 days 16 days
Sunrise/Sunset Data 2 days 3 days 16 days
Data Granularity Daily only Daily + Hourly Daily + Hourly + Minute
Specialized Data :cross_mark: None Basic Advanced + Agricultural

Utility Functions (All Tiers)

| 1 | CelsiusToFahrenheit | Temperature conversion
| 2 | FahrenheitToCelsius | Temperature conversion
| 3 | KmhToMph | Wind speed conversion
| 4 | MphToKmh | Wind speed conversion
| 5 | HpaToInhg | Pressure conversion
| 6 | InhgToHpa | Pressure conversion

Download AIX:
TrickyWeather.aix (19.8 KB) [DM me for API key]

[NOTE]: Use location sensor to get Current Address, Latitude and Longitude This aix need Api to work, Here is free api for test FreeKey7291843567128945

Blocks

Version : 1.0
Last Updated : 2025-10-21

5 Likes

Thank you for your contribution
It looks like you are using an API
please provide a link to that API to credit its author

Please let us know how much you charge for medium and pro

Also are you aware, that accessing the API usually is also possible by using the web component?

Taifun

This extension is combination of different weather API and and give combined result. And added description and wether icon from script

Price is included in Tier Feature Comparison Table

Yes I know that. But this extension shows data using different website API services, this may be lengthy process with web component

In this case what about crediting all authors by providing several links?
Are you having some additional code on a web server to combine all those APIs?
So if one of these APIs fails or your web server is down your extension fails, too?

Taifun

Where to get an API key from?
What are the usage restrictions?
Taifun

Read full post you will understand

I read it again and these information are missing

also what is this? A typo?

Taifun

This extension work with multiple API, if 1 fail it doesn’t effect extension. I am aware about API faill so that I used multiple api with my own code and weather response enhanced data.

You need to DM me to get api

That was typing error I have fixed that

I’m curious about how your system is set up β€” do you actually own and manage the API servers yourself, or are you relying on third-party weather APIs and integrating their data through your extension? I’m just trying to understand whether the APIs are fully under your control or if they depend on external services for the responses.

Only certain things depend on third party API, maximum things are in my control. I am working on it to completely remove third-party api