https://github.com/dacarson/weatherflowapi
Arduino library to provide easy access to network WeatherFlow data
https://github.com/dacarson/weatherflowapi
Last synced: about 1 year ago
JSON representation
Arduino library to provide easy access to network WeatherFlow data
- Host: GitHub
- URL: https://github.com/dacarson/weatherflowapi
- Owner: dacarson
- License: mit
- Created: 2023-04-18T21:18:16.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-06T18:12:57.000Z (about 2 years ago)
- Last Synced: 2025-01-22T22:30:43.314Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
 
# WeatherFlowApi
## Description
This light weight Arduino library has a class (`WeatherFlowData`) that process WeatherFlow event as defined here:
[WeatherFlow Tempest UDP Reference](https://weatherflow.github.io/Tempest/api/udp.html)
When a class is successfully processed, a user defined callback is called.
`WeatherFlowUdp` inherits from `WeatherFlowData`, and will setup a UDP listener for WeatherFlow data packets being broadcast on the local network, and will feed them to WeatherFlowData for processing.
An independant helper class, `WeatherFlowStrings` takes the enumerated types from WeatherFlowData and returns strings. The strings are stored in PROGMEM, aka it returns F() strings.
## Examples
The examples folder contains these examples:
- ### SerialPrinter
This example prints all the values of the event that caused the callback to be invoked. The example shows how to setup `WeatherFlowUdp` with a callback. It prints all the values of the most recently processed event.
- ### PrometheusPublisher
This example publishes the WeatherFlow data as a [Prometheus](https://prometheus.io) data source. It shows how to access all the data stored by `WeatherFlowData` and iterate through it.
## License
This library is licensed under [MIT License](https://opensource.org/license/mit/)