Operato Windrose not working with InfluxDB?

I’m trying to get this plugin working - Operato Windrose plugin for Grafana | Grafana Labs
As far as I can tell everything is configured as it should be
These are my queries:
SELECT last("wind_speed") AS wind_speed FROM "weather" WHERE ("city"::tag = 'winchester') AND $timeFilter GROUP BY time($__interval) fill(none)
SELECT last("wind_direction") AS wind_direction FROM "weather" WHERE ("city"::tag = 'winchester') AND $timeFilter GROUP BY time($__interval) fill(none)
I have lots of data which is visible in the ‘table view’, but nothing is showing in the windrose

Does anyone have this working with InfluxDB (SQL), or any suggestions?
Equally - does anyone I know where I can raise an issue with the author
Thanks

1 Like

Hi!
I had same issue, and I partially solved using transformation.
I’m using grafana on Home Assistant docker, hence not sure if will act the same.
But basically as I understood the plugin is expecting a table with
| timestamp | wind_speed | wind_direction |
What I had was 2 table, one with
| timestamp | wind_speed |
and secon one with
| timestamp | wind_direction |

So using a transformation “concatenate fields”, using option “Copy frame name to field name” as result I had proper table, and the panel has a better view


Moreover if you filter result removing null values, you should have a good overall result

I still finalising the setup, but better then not working one, hope will help :smiley:

1 Like

Nice! I used ‘Join by Field’ which works well for me - but looks my data source is a bit flaky - data is quite sparse, but thanks for the pointer on getting this working

I am using InfluxDB with Flux as datasource, and Operato Windrose plugin is also working:

Just needed to pivot data and rename columns:

I simplified this with a single Influx (1.8) InfluxQL query - note that this is formatted as ‘table’ not timeseries

I had the same issues. However I found no suitable solution in the infinite expanses of the web. So, here is my solution for influxDB:

First straight-forward the db-queries:

SELECT mean("value") FROM "°" WHERE ("entity_id"::tag = 'gw1100a_wind_direction') AND $timeFilter GROUP BY time($__interval) fill(null)

SELECT mean("value") FROM "km/h" WHERE ("entity_id"::tag = 'gw1100a_wind_speed') AND $timeFilter GROUP BY time($__interval) fill(null)

Then I needed some transformations:

1.) Conconate fields with “name”: “Copy frame name to field name” to get the requested table header

2.) Filter fields by name:
remove the 2nd time column of wind_speed.

3.) Filter data by values: remove empty cells in column “wind_speed” with:

  • Filter type: Include
  • Conditions: Match any
  • Field: wind_speed, Match: is not null

4.) Filter data by values: remove empty cells in column “wind_direction” with:

  • Filter type: Include
  • Conditions: Match any
  • Field: wind_direction, Match: is not null

For me the table view was a good tool for do the bugfixing.

I just tried to setup the windrose card with both Prometheus and InfluxDB databases and I am getting a blank windrose for both even after following all the advice here. Can someone help me figure out what’s going on here?

image