WeatherLink 1.0.1

dotnet add package WeatherLink --version 1.0.1
                    
NuGet\Install-Package WeatherLink -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WeatherLink" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WeatherLink" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="WeatherLink" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WeatherLink --version 1.0.1
                    
#r "nuget: WeatherLink, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WeatherLink@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WeatherLink&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=WeatherLink&version=1.0.1
                    
Install as a Cake Tool

March 20th, 2022:

Updated the package to rectify a couple of token and model issues, Fiddler reflects different data models then documentation. If you provide the information or encounter an issue, I will attempt to rectify.


The package is relatively straight forward. You simply do the following:

 var api = new WeatherLinkService(key, secret, universal datetime);
 var stations = api.GetStations();

Will return an object for when the request was generated and an array of Stations that will include:

  • station_id
  • station_name
  • gateway_id
  • gateway_id_hex
  • product_number
  • username
  • password
  • user_email
  • active
  • uploadInterval
  • firmware_version
  • imei
  • meid
  • registered_date
  • subscription_end_date
  • timezone
  • city
  • region
  • country
  • latitude
  • longitude
  • elevation

Once you have a station id, you can simply do:

 var sensors = api.GetCurrentConditions(station id); <-- I noticed null or irregular information for station id, so I allow a string input

 foreach(var sensor in sensors.sensors)
      foreach(var measurement in sensor.data)
      {
           All sensor measurement properties would be exposed here.
      }

I specifically received the following in Fiddler:

        public int ts
        public int? bar_trend
        public float? bar
        public float? temp_in
        public int? hum_in
        public float? temp_out
        public int? wind_speed
        public int? wind_speed_10_min_avg
        public int? wind_dir
        public string? temp_extra_1
        public object? temp_extra_2
        public object? temp_extra_3
        public object? temp_extra_4
        public object? temp_extra_5
        public object? temp_extra_6
        public object? temp_extra_7
        public object? temp_soil_1
        public object? temp_soil_2
        public object? temp_soil_3
        public object? temp_soil_4
        public object? temp_leaf_1
        public object? temp_leaf_2
        public object? temp_leaf_3
        public object? temp_leaf_4
        public int? hum_out
        public object? hum_extra_1
        public object? hum_extra_2
        public object? hum_extra_3
        public object? hum_extra_4
        public object? hum_extra_5
        public object? hum_extra_6
        public object? hum_extra_7
        public int? rain_rate_clicks
        public int? rain_rate_in
        public int? rain_rate_mm
        public object? uv
        public int? solar_rad
        public int? rain_storm_clicks
        public float? rain_storm_in
        public float? rain_storm_mm
        public int? rain_storm_start_date
        public int? rain_day_clicks
        public float? rain_day_in
        public float? rain_day_mm
        public int? rain_month_clicks
        public float? rain_month_in
        public float? rain_month_mm
        public int? rain_year_clicks
        public float? rain_year_in
        public float? rain_year_mm
        public float? et_day
        public float? et_month
        public float? et_year
        public object? moist_soil_1
        public object? moist_soil_2
        public object? moist_soil_3
        public object? moist_soil_4
        public object? wet_leaf_1
        public object? wet_leaf_2
        public object? wet_leaf_3
        public int? wet_leaf_4
        public int? forecast_rule
        public string forecast_desc
        public int? dew_point
        public int? heat_index
        public int? wind_chill
        public int? wind_gust_10_min

The historic model I expect to be similar, but it might be different and might be broken. Will research a bit more.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 603 3/20/2022
1.0.0 554 3/18/2022