A Few Grafana Dashboards for Tempest

Thanks for grabbing the new files and trying them out. I doubled checked the queries and it seems to be correct based on both the UDP API and the logs that you sent me. I’ll review on a new instance and get back to you shortly. It also looks like your Wind Speed isn’t showing correctly either. You should have Lull, Average, and Gust and it looks like something got picked up but then didn’t later on. It shouldn’t be flat like it’s showing in your screenshot.

Also - no need to grab all of the files again - you should be fine with just the two.

Speaking of - what does the Overview look like for humidity? You may need to change the “Group By” to something like 1 hour for the bottom graphs to display.

Also - for metric data - they’re just calculations in the visualizations. I’ll write up a “how-to” on changing those. Things like pressure, temperature, mph/kph, inches/mm are easy to change but I didn’t build them to be dynamic.

Thanks!

1 Like

@ruud - good to go now! I had a typo in the query for Relative Humidity. Go ahead and fetch that same dashboard again and restart your Grafana instance. It’ll reprovision that dashboard and you should be good to go.

For the metrics piece - I’m still trying to think through how best to have both. Is it mostly the temperature you’d like to have changed? Or the others as well? As mentioned, several of those metrics certainly have different calculations and there’s not really a good way to toggle those today. I may just start with dual-axis where celsius is on one side and Fahrenheit is on the other but it doesn’t work as well for the Table or Stats views. And because I’ve set the dashboards up to be auto-provisioned, you can’t really change the dashboards unless you make a copy.

Happy for some feedback - I may just make several sets of dashboards :slight_smile:

1 Like

Hello Dave,

  • In the “Today so far” dashboard, relative humidity is now showing correctly. Wind speed remains weird as in the screen capture.
  • In the “Overview” dashboard, relative humidity still displays “No data found in response” (I guess the same typo needs correcting?) and the same holds for “Air temperature (last 7 days)”.
  • As for metric data, ideally temperature is displayed in degrees celsius, pressure in hectopascal or millibar (amounts to the same thing), and wind speed in kilometers per hour or meters per second. Accumulated rain is already displayed in mm.

I understand that you can’t make everything configurable and I don’t mind to do this manually. If I manage to get it working correctly I could share the JSON files with you.

As for feedback: I wouldn’t have asked you to make an Air&Sky version if I didn’t like the dashboards :slight_smile: Maybe the wind direction arrow could be improved upon, but that’s really a minor issue. I’ll use the dashboards for a couple of days to see what comes up!

1 Like

@ruud - yes - you’re correct. I updated the single Overview dashboard file in v1.05 if you want to grab that. Or just edit the file you downloaded and switch my silly “air_st” to “obs_air” in both locations. Save it - and restart the Grafana docker image. I’ll take a look at the Wind details in the Today so far and rerun the log file into it.

It’s easy enough to change the metric details as everything in the logs are actually already metric. For example, in the query:

avg_over_time({app="weatherflow"} |= "obs_air" | json obs_Air_Temperature="obs[0][7]" | unwrap obs_Air_Temperature | __error__="" [$__interval]) * 9/5 + 32

Just remove the " * 9/5 + 32 " at the end of the line. Then change the Units from Fahrenheit to Celsius. The issue comes from - because I built an “All In One” - it also means the dashboards provision themselves every time Grafana starts up and you can’t save your changes unless you make a new dashboard. (Which you totally can do that). But the database for Grafana then keeps track of all of those changes that resides in the Docker container. If you pull a new update or recreate your container, you lose your changes. That gets into more data retention, storing data into mapped Docker volumes, then permissions, etc. Which takes something intended to be “just start it up” to something customized to each person’s familiarity with running each of the components. At that point, learning how to deploy and manage makes more sense and just loading in your edited dashboards makes a lot more sense.

As far as the wind direction arrow - I’m not a fan of it either. But there’s really no good usable compass rose widget. Swapping out arrows is the best I can do until some of the other community Grafana visualization plugins get updated. There’s another project that has a nicer-looking compass but it’s not compatible with the data that I’m using.

Lastly - I’ve been working with building out a REST API collector, as well as a Forecast collector, and all of these multiple device/API types, are going to have some breaking changes in the data collector. That kind of stinks for historical data collection. Every day I learn/think about something new and it kind of makes a mess of the backend. Each backend stores and makes visualization different. 90% of them are super each to just make work - the other 10% makes it next to impossible to keep things the same. I need to settle on one and just use it without bouncing all over the place :slight_smile: But I guess that’s how these projects work. Making one project do everything increases the complexity a lot more than I was expecting and my time is pretty limited at the moment. If only I had a set of business and functional requirements to guide my tinkering. :slight_smile:

Certainly appreciate community enthusiasm. It’s all a work in progress!! Thanks!

3 Likes

Hello Dave,
Today I had some time to play around with the templates:

  • Relative humidity in the “Overview” dashboard works correctly with v1.05.
  • Wind speed in the “Overview” and “Today so far” didn’t display properly; it was referring to obs_air instead of obs_sky and I was able to correct that.
  • I played around with the wind direction arrow. I ended up replacing the arrows with letters like N, NE, E, etc. I haven’t found an option to use pictures or icons instead of letters.

After a bit of playing around it’s easy for me now to change the graph details, units, etc., but I still understand little of the data is represented internally. Is it possible for you to share the Air-Sky device status template, so I could learn some more from it?

Thanks for your work on this and sharing it here.
Ruud.

1 Like

For those of us with a grafana/influxdb setup already what is the minimum needed to get things flowing? Looks like you have a standalone listener build, guess I can start poking around there, see it says “more details to come” :slight_smile: Will that be maintained or is the AIO project the future?

Thanks!
-Jason

2 Likes

I think I’ve become my own worst developer. :slight_smile: I keep changing things as I find out new details or ways of doing something like each of the paths I take has slightly different “problems” to deal with depending on the collectors I’ve built. Loki, InfluxDB, and Prometheus give me somewhat different ways of getting to the elements that I want that sometimes conflict with “keep it simple.” On top of that - making it work for multiple Tempests and Air/Sky poses a kind of usability issue that my All In One will eventually need reworking to handle. (I’ve added a second Tempest to my collection.)

Since I’ve also added the REST/Socket API - I’ve found that the data resolution doesn’t have as fine of detail as the UDP data. But the REST data has more derived data to consume and display.

Long story short - I think I’m going to break out my collector and dashboards from each other. Publish them separately for those that already know Grafana/Loki/InfluxDB and then rebuild the AIO as a simplified effort. Making the AIO work for every use case is becoming more challenging than I thought, especially considering data retention and ease of maintenance. It may also let folks use the already great collector from @vinceskahan. Yeah - just so many options to choose from that I keep bouncing around with what I want it to be! :slight_smile: That’s also me endlessly fiddling around with it!

2 Likes

A sneak peek at Forecasts…

2 Likes

Almost there with the forecast visualizations…

2 Likes

Updating the stand-alone WeatherFlow collector and some of the new forecast dashboards. More details here - GitHub - lux4rd0/weatherflow-collector: A WeatherFlow data collector for local-udp, remote-socket, and remote-rest APIs. Feeds InfluxDB and Grafana Loki back-ends. - along with instructions for the docker deployment. The next step is to roll it back into the All In One that I built out. Happy for any feedback of course - but my sincerest apologies for the breaking changes with flipping the backend TSDB back to InfluxDB. There were some limitations with publishing future timestamps with Grafana Loki and Prometheus if I wanted to play around with forecasts.

2 Likes

I’m still breaking things as I find more things to stuff into my collector. Yikes! :slight_smile: Here’s a work in progress for showing a Current Conditions page… Still, a lot more to do. Hope to have something settled in a few days.

1 Like

I took a little bit of time this weekend to work on a data import. I’ve reset my data so often that it was pretty nice to fetch the observability data and load it in (none of the derived data seems to be available.) I did find out how the data rollups are happening, though.

  • 1 day = 1 minute buckets
  • 2-5 days = 5 minute buckets
  • 6-30 days - 30 minute buckets
  • 31-180 days - 180 minute buckets
  • 180+ - 1440 minute buckets

I hope to have the data import available in the next few days.

1 Like

Had a quick read but didn’t see any option to toggle between units. We have some on what you call the other side of the ocean that use metric versus imperial … possible ?

2 Likes

Hey @eric - It’s been a request from the beginning. The data is stored in metrics - I just apply calculations during rendering. Unfortunately, there’s no “toggle between calculations” in Grafana since I’m flipping display units and calculations. Once I get to a steady state with my dashboards - I’ll build a Metric version shortly and just have two sets of dashboards available for people to use. Certainly 94.7% of the world is onto something :slight_smile:

2 Likes

I’ve recently updated the All In One as well as the standalone collector with some additional forecast and rain dashboards. I also included a rewrite of the documentation and deployment instructions (with pictures for each of the dashboards.)

Forecast Vs. Observed:

Rain and Lightning

You can also view these dashboards live here:

https://labs.lux4rd0.com/weatherflow-collector/

I’d also love to make a request to the community here that if anybody would be willing to share a unique API token, I’d be happy to add their Tempest to those set of dashboards. I’m curious to see what other kinds of data look like besides my own two Tempests :slight_smile:

Thanks!

3 Likes

Just a quick update on v2.9.0 released:

Biggest improvement is mostly around performance improvements up to 90% for CPU usage for things like forecasts. I’ve also added a performance collector so I can help troubleshoot if needed.

Thank you to the community members that have shared your experiences with using my collector.

I’ve also started with a set of metrics unit dashboards that I’m hoping to get released soon!

Thanks!

_DS

2 Likes