-
Notifications
You must be signed in to change notification settings - Fork 3
Home
There are two methods under the CirrusWrapper class that allow you to retrieve information from the Ambient Weather REST endpoint.
- FetchDeviceHistory
- FetchDeviceHistory
Each method has three overloads that take different starting date parameters.
The IAsyncEnumerable<IEnumerable<Device>> FetchDeviceHistory(DateTimeOffset? startDate, DateTimeOffset? endDate) overload will walk the REST API from the specified starting date to the specified end date (if one is given; if not, it will walk to the current date).
The IAsyncEnumerable<IEnumerable<Device>> FetchDeviceHistory(TimeSpan numberOfDaysToGoBack) overload will walk the specified number of whole days backwards from the current date (if the includeToday argument is true; otherwise, it walks from yesterday).
The IAsyncEnumerable<IEnumerable<Device>> FetchDeviceHistory(int? numberOfDaysToGoBack) overload overload will walk the specified number of whole days backwards from the current date (if the includeToday argument is true; otherwise, it walks from yesterday), same the above TimeSpan overload above.
When this class is initiated, the constructor takes an IOptions argument and sets the class properties: MacAddress, ApiKey, and ApplicationKey for this class instance.
All class methods will use the three above instance variables for querying the API.
There are 3 different functions with a few different overloads, which are broken down below:
For fetching Weather Event Data from a Weather Station for a specified date:
- FetchDeviceDataAsync
- FetchDeviceDataAsJsonAsync
- FetchDeviceDataAsServiceResponse
For fetching Weather Station metadata and most recent event data for a weather station by Mac Address:
- FetchUserDevicesAsync
- FetchUserDevicesAsJsonAsync
- FetchUserDevices
For checking if data exists for a weather station on a particular date:
- DoesDeviceDataExist
| API Event Name | Library Property Name | .NET Type |
|---|---|---|
| "dateutc" | EpochMilliseconds | long? |
| "tempinf" | IndoorTemperatureFahrenheit | double? |
| "humidityin" | IndoorHumidity | int? |
| "baromrelin" | RelativeBarometricPressure | double? |
| "baromabsin" | AbsoluteBarometricPressure | double? |
| "tempf" | OutdoorTemperatureFahrenheit | double? |
| "battout" | BatteryLowIndicator | int? |
| "humidity" | OutdoorHumidity | int? |
| "winddir" | WindDirection | int? |
| "windspeedmph" | WindSpeedMph | double? |
| "windgustmph" | WindGustMph | double? |
| "maxdailygust" | MaxDailyGust | double? |
| "hourlyrainin" | HourlyRainfall | double? |
| "eventrainin" | EventRainfall | double? |
| "dailyrainin" | DailyRainfall | double? |
| "weeklyrainin" | WeeklyRainfall | double? |
| "monthlyrainin" | MonthlyRainfall | double? |
| "yearlyrainin" | YearlyRainfall | double? |
| "totalrainin" | TotalRainfall | double? |
| "solarradiation" | SolarRadiation | double? |
| "uv" | UltravioletRadiationIndex | int? |
| "feelsLike" | OutdoorFeelsLikeTemperatureFahrenheit | double? |
| "dewPoint" | DewPointFahrenheit | double? |
| "feelsLikein" | IndoorFeelsLikeTemperatureFahrenheit | double? |
| "dewPointin" | IndoorDewPointTemperatureFahrenheit | double? |
| "lastRain" | LastRain | DateTimeOffset |
| "loc" | Loc | string? |
| "date" | UtcDate | DateTimeOffset? |
| "windgustdir" | WindGustDir | int? |
| "windspdmph_avg2m" | WindSpeedMph2MinuteAverage | double? |
| "winddir_avg2m" | WindDirection2MinuteAverage | int? |
| "windspdmph_avg10m" | WindSpeedMph10MinuteAverage | double? |
| "winddir_avg10m" | WindDirection10MinuteAverage | int? |
| "batt_25" | PM25AirQualityBatteryLowIndicator | int? |
| "24hourrainin" | Previous24HourRainfall | double? |
| "co2" | CO2PartsPerMillion | double? |
| "batt_co2" | CO2SensorBatteryLowIndicator | int |
| "pm25" | PM25OutdoorAirQuality | double? |
| "pm25_24h" | PM25OutdoorAirQuality24HourAverage | double? |
| "pm25_in" | PM25IndoorAirQuality | double? |
| "pm25_in_24h" | PM25IndoorAirQuality24HourAverage | double? |
| "humidity1" | HumiditySensor1 | int? |
| "humidity2" | HumiditySensor2 | int? |
| "humidity3" | HumiditySensor3 | int? |
| "humidity4" | HumiditySensor4 | int? |
| "humidity5" | HumiditySensor5 | int? |
| "humidity6" | HumiditySensor6 | int? |
| "humidity7" | HumiditySensor7 | int? |
| "humidity8" | HumiditySensor8 | int? |
| "humidity9" | HumiditySensor9 | int? |
| "humidity10" | HumiditySensor10 | int? |
| "temp1f" | TemperatureSensor1 | double? |
| "temp2f" | TemperatureSensor2 | double? |
| "temp3f" | TemperatureSensor3 | double? |
| "temp4f" | TemperatureSensor4 | double? |
| "temp5f" | TemperatureSensor5 | double? |
| "temp6f" | TemperatureSensor6 | double? |
| "temp7f" | TemperatureSensor7 | double? |
| "temp8f" | TemperatureSensor8 | double? |
| "temp9f" | TemperatureSensor9 | double? |
| "temp10f" | TemperatureSensor10 | double? |
| "soiltemp1f" | SoilTemperatureSensor1 | double? |
| "soiltemp2f" | SoilTemperatureSensor2 | double? |
| "soiltemp3f" | SoilTemperatureSensor3 | double? |
| "soiltemp4f" | SoilTemperatureSensor4 | double? |
| "soiltemp5f" | SoilTemperatureSensor5 | double? |
| "soiltemp6f" | SoilTemperatureSensor6 | double? |
| "soiltemp7f" | SoilTemperatureSensor7 | double? |
| "soiltemp8f" | SoilTemperatureSensor8 | double? |
| "soiltemp9f" | SoilTemperatureSensor9 | double? |
| "soiltemp10f" | SoilTemperatureSensor10 | double? |
| "soilhum1" | SoilHumiditySensor1 | int? |
| "soilhum2" | SoilHumiditySensor2 | int? |
| "soilhum3" | SoilHumiditySensor3 | int? |
| "soilhum4" | SoilHumiditySensor4 | int? |
| "soilhum5" | SoilHumiditySensor5 | int? |
| "soilhum6" | SoilHumiditySensor6 | int? |
| "soilhum7" | SoilHumiditySensor7 | int? |
| "soilhum8" | SoilHumiditySensor8 | int? |
| "soilhum9" | SoilHumiditySensor9 | int? |
| "soilhum10" | SoilHumiditySensor10 | int? |
| "batt1" | BatteryLowIndicator1 | int? |
| "batt2" | BatteryLowIndicator2 | int? |
| "batt3" | BatteryLowIndicator3 | int? |
| "batt4" | BatteryLowIndicator4 | int? |
| "batt5" | BatteryLowIndicator5 | int? |
| "batt6" | BatteryLowIndicator6 | int? |
| "batt7" | BatteryLowIndicator7 | int? |
| "batt8" | BatteryLowIndicator8 | int? |
| "batt9" | BatteryLowIndicator9 | int? |
| "batt10" | BatteryLowIndicator10 | int? |
| "relay1" | Relay1 | int? |
| "relay2" | Relay2 | int? |
| "relay3" | Relay3 | int? |
| "relay4" | Relay4 | int? |
| "relay5" | Relay5 | int? |
| "relay6" | Relay6 | int? |
| "relay7" | Relay7 | int? |
| "relay8" | Relay8 | int? |
| "relay9" | Relay9 | int? |
| "relay10" | Relay10 | int? |
| "tz" | IANATimeZone | string? |
| "feelsLike1" | FeelsLikeTemperatureFahrenheit1 | double? |
| "feelsLike2" | FeelsLikeTemperatureFahrenheit2 | double? |
| "feelsLike3" | FeelsLikeTemperatureFahrenheit3 | double? |
| "feelsLike4" | FeelsLikeTemperatureFahrenheit4 | double? |
| "feelsLike5" | FeelsLikeTemperatureFahrenheit5 | double? |
| "feelsLike6" | FeelsLikeTemperatureFahrenheit6 | double? |
| "feelsLike7" | FeelsLikeTemperatureFahrenheit7 | double? |
| "feelsLike8" | FeelsLikeTemperatureFahrenheit8 | double? |
| "feelsLike9" | FeelsLikeTemperatureFahrenheit9 | double? |
| "feelsLike10" | FeelsLikeTemperatureFahrenheit10 | double? |
| "dewPoint1" | DewPointFahrenheit1 | double? |
| "dewPoint2" | DewPointFahrenheit2 | double? |
| "dewPoint3" | DewPointFahrenheit3 | double? |
| "dewPoint4" | DewPointFahrenheit4 | double? |
| "dewPoint5" | DewPointFahrenheit5 | double? |
| "dewPoint6" | DewPointFahrenheit6 | double? |
| "dewPoint7" | DewPointFahrenheit7 | double? |
| "dewPoint8" | DewPointFahrenheit8 | double? |
| "dewPoint9" | DewPointFahrenheit9 | double? |
| "dewPoint10" | DewPointFahrenheit10 | double? |
| "lightning_day" | LightningStrikesPerDay | int? |
| "lightning_hour" | LightningStrikesPerHours | int? |
| "lightning_time" | LastLightningStrikeTime | DateTimeOffset? |
| "lightning_distance" | LightningStrikeDistance | double? |
| "macAddress" | MacAddress | string? |