Grafana dashboard: WeatherFlow Collector - Forecast Vs Observed
Description: WeatherFlow Collector provides multiple ways of collecting data from the WeatherFlow Tempest, Air, and Sky weather systems. These Grafana dashboards offer visualizations in real-time for current conditions, derived metrics, and forecasting.

As forecast data is collected, this dashboard may be used to compare what was forecasted (by how many days out) versus the observed metric from your WeatherFlow device. Temperature, Humidity, Wind, and UV measurements are covered here. By default, "All" available forecast days are overlayed over the observed metric. You can choose different "Days Out" from the top drop-down menu to compare individual forecasts.

More details on these WeatherFlow Collector dashboards may be found:

- Github Project: [https://github.com/lux4rd0/weatherflow-collector/](https://github.com/lux4rd0/weatherflow-collector/)
- Web Site: [https://labs.lux4rd0.com/weatherflow-collector/](https://labs.lux4rd0.com/weatherflow-collector/)

{
  "__inputs": [
    {
      "name": "DS_INFLUXDB_- WEATHERFLOW",
      "label": "InfluxDB - weatherflow",
      "description": "",
      "type": "datasource",
      "pluginId": "influxdb",
      "pluginName": "InfluxDB"
    }
  ],
  "__requires": [
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "8.0.4"
    },
    {
      "type": "datasource",
      "id": "influxdb",
      "name": "InfluxDB",
      "version": "1.0.0"
    },
    {
      "type": "panel",
      "id": "timeseries",
      "name": "Time series",
      "version": ""
    }
  ],
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": "-- Grafana --",
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  },
  "editable": true,
  "gnetId": 14379,
  "graphTooltip": 0,
  "id": null,
  "iteration": 1625254269867,
  "links": [
    {
      "asDropdown": true,
      "icon": "external link",
      "includeVars": false,
      "keepTime": false,
      "tags": [
        "weatherflow-collector"
      ],
      "targetBlank": false,
      "title": "WeatherFlow Collector Dashboards",
      "tooltip": "",
      "type": "dashboards",
      "url": ""
    }
  ],
  "panels": [
    {
      "datasource": null,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "id": 119,
      "panels": [],
      "repeat": "station_name",
      "title": "$station_name",
      "type": "row"
    },
    {
      "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "graph": false,
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 1,
            "pointSize": 10,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "fahrenheit"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Observed"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "rgb(255, 255, 255)",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.lineWidth",
                "value": 4
              },
              {
                "id": "custom.fillOpacity",
                "value": 3
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    30,
                    3,
                    3
                  ],
                  "fill": "dash"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "0 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#29a996",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "1 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#35969a",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "2 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#41839d",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "3 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#4d71a1",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "4 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#595ea4",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "5 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#654ba8",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "6 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#7138ab",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "7 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#7d26af",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "8 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#8913b2",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "9 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#9500b6",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 12,
        "w": 8,
        "x": 0,
        "y": 1
      },
      "id": 89,
      "interval": "$interval",
      "options": {
        "graph": {},
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "pluginVersion": "7.5.2",
      "targets": [
        {
          "alias": "$tag_forecast_hourly_days_out Days Out",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "forecast_hourly_days_out"
              ],
              "type": "tag"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_forecast_hourly",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "air_temperature"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [
                  "* 9/5 + 32"
                ],
                "type": "math"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "forecast_hourly_days_out",
              "operator": "=~",
              "value": "/^$forecast_hourly_days_out$/"
            }
          ],
          "tz": "$tz"
        },
        {
          "alias": "Observed",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_obs",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "air_temperature"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [
                  "* 9/5 + 32"
                ],
                "type": "math"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "collector_type",
              "operator": "=",
              "value": "local-udp"
            }
          ],
          "tz": "$tz"
        }
      ],
      "timeFrom": null,
      "title": "Temperature",
      "type": "timeseries"
    },
    {
      "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "opacity",
            "hideFrom": {
              "graph": false,
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "smooth",
            "lineWidth": 1,
            "pointSize": 10,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "percent"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Observed"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "rgb(255, 255, 255)",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.lineWidth",
                "value": 4
              },
              {
                "id": "custom.fillOpacity",
                "value": 3
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    30,
                    3,
                    3
                  ],
                  "fill": "dash"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "0 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#ff8400",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "1 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#e3751c",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "2 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#c66739",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "3 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#aa5855",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "4 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#8e4971",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "5 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#713b8e",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "6 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#552caa",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "7 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#391dc6",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "8 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#1c0fe3",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "9 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0000ff",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 12,
        "w": 8,
        "x": 8,
        "y": 1
      },
      "id": 115,
      "interval": "$interval",
      "options": {
        "graph": {},
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "pluginVersion": "7.5.2",
      "targets": [
        {
          "alias": "$tag_forecast_hourly_days_out Days Out",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "forecast_hourly_days_out"
              ],
              "type": "tag"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "measurement": "weatherflow_forecast_hourly",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "relative_humidity"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "forecast_hourly_days_out",
              "operator": "=~",
              "value": "/^$forecast_hourly_days_out$/"
            }
          ],
          "tz": "$tz"
        },
        {
          "alias": "Observed",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_obs",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "relative_humidity"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "collector_type",
              "operator": "=",
              "value": "local-udp"
            }
          ],
          "tz": "$tz"
        }
      ],
      "title": "Humidity",
      "type": "timeseries"
    },
    {
      "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "opacity",
            "hideFrom": {
              "graph": false,
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "smooth",
            "lineWidth": 1,
            "pointSize": 10,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "pressurehg"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Observed"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "rgb(255, 255, 255)",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.lineWidth",
                "value": 4
              },
              {
                "id": "custom.fillOpacity",
                "value": 3
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    30,
                    3,
                    3
                  ],
                  "fill": "dash"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "0 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#00c9ff",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "1 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#1ccfe3",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "2 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#39d5c6",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "3 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#55dbaa",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "4 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#71e18e",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "5 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#8ee771",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "6 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#aaed55",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "7 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#c6f339",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "8 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#e3f91c",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "9 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#ffff00",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 12,
        "w": 8,
        "x": 16,
        "y": 1
      },
      "id": 125,
      "interval": "$interval",
      "options": {
        "graph": {},
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "pluginVersion": "7.5.2",
      "targets": [
        {
          "alias": "$tag_forecast_hourly_days_out Days Out",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "forecast_hourly_days_out"
              ],
              "type": "tag"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "measurement": "weatherflow_forecast_hourly",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "sea_level_pressure"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "forecast_hourly_days_out",
              "operator": "=~",
              "value": "/^$forecast_hourly_days_out$/"
            }
          ],
          "tz": "$tz"
        },
        {
          "alias": "Observed",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_obs",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "sea_level_pressure"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "collector_type",
              "operator": "=",
              "value": "remote-rest"
            }
          ],
          "tz": "$tz"
        }
      ],
      "title": "Pressure",
      "type": "timeseries"
    },
    {
      "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "graph": false,
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 1,
            "pointSize": 10,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "lengthin"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Observed"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "rgb(255, 255, 255)",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.lineWidth",
                "value": 4
              },
              {
                "id": "custom.fillOpacity",
                "value": 3
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    30,
                    3,
                    3
                  ],
                  "fill": "dash"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "0 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#25bf5d",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "1 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#5bb358",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "2 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#79a753",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "3 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#8e9a4e",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "4 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#a08c49",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "5 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#af7e45",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "6 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#bc6d41",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "7 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#c85a3c",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "8 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#d24139",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "9 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#dc1335",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 11,
        "w": 8,
        "x": 0,
        "y": 13
      },
      "id": 126,
      "interval": "$interval",
      "options": {
        "graph": {},
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "pluginVersion": "7.5.2",
      "targets": [
        {
          "alias": "$tag_forecast_hourly_days_out Days Out",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "forecast_hourly_days_out"
              ],
              "type": "tag"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_forecast_hourly",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "precip"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "sum"
              },
              {
                "params": [
                  "* 0.039370"
                ],
                "type": "math"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "forecast_hourly_days_out",
              "operator": "=~",
              "value": "/^$forecast_hourly_days_out$/"
            }
          ],
          "tz": "$tz"
        },
        {
          "alias": "Observed",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_obs",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "precip_accumulated"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "sum"
              },
              {
                "params": [
                  "* 0.039370"
                ],
                "type": "math"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "collector_type",
              "operator": "=",
              "value": "local-udp"
            }
          ],
          "tz": "$tz"
        }
      ],
      "timeFrom": null,
      "title": "Precipitation",
      "type": "timeseries"
    },
    {
      "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "opacity",
            "hideFrom": {
              "graph": false,
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "smooth",
            "lineWidth": 1,
            "pointSize": 10,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "velocitymph"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Observed"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "rgb(255, 255, 255)",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.lineWidth",
                "value": 4
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    30,
                    3,
                    3
                  ],
                  "fill": "dash"
                }
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              },
              {
                "id": "custom.fillOpacity",
                "value": 3
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "0 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0eb215",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "1 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0eb93d",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "2 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0dc068",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "3 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0dc797",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "4 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0ccec9",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "5 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0cabd5",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "6 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0b80dc",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "7 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0a52e3",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "8 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#0a1feb",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "9 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#2909f2",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 11,
        "w": 8,
        "x": 8,
        "y": 13
      },
      "id": 116,
      "interval": "$interval",
      "options": {
        "graph": {},
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "pluginVersion": "7.5.2",
      "targets": [
        {
          "alias": "$tag_forecast_hourly_days_out Days Out",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "forecast_hourly_days_out"
              ],
              "type": "tag"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "measurement": "weatherflow_forecast_hourly",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "wind_avg"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [
                  " * 2.236936"
                ],
                "type": "math"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "forecast_hourly_days_out",
              "operator": "=~",
              "value": "/^$forecast_hourly_days_out$/"
            }
          ],
          "tz": "$tz"
        },
        {
          "alias": "Observed",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_obs",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "wind_avg"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [
                  " * 2.236936"
                ],
                "type": "math"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "collector_type",
              "operator": "=",
              "value": "local-udp"
            }
          ],
          "tz": "$tz"
        }
      ],
      "title": "Wind",
      "type": "timeseries"
    },
    {
      "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "graph": false,
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "smooth",
            "lineWidth": 1,
            "pointSize": 10,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "none"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "Observed"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "rgb(255, 255, 255)",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.lineWidth",
                "value": 4
              },
              {
                "id": "custom.fillOpacity",
                "value": 3
              },
              {
                "id": "custom.gradientMode",
                "value": "none"
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    30,
                    3,
                    3
                  ],
                  "fill": "dash"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "0 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#e4f90c",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "1 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#eae500",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "2 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#edd200",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "3 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#efbe00",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "4 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#eeab00",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "5 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#eb9800",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "6 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#e78500",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "7 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#e07205",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "8 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#d86014",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "9 Days Out"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "#ce4e1d",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 11,
        "w": 8,
        "x": 16,
        "y": 13
      },
      "id": 117,
      "interval": "$interval",
      "options": {
        "graph": {},
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "pluginVersion": "7.5.2",
      "targets": [
        {
          "alias": "$tag_forecast_hourly_days_out Days Out",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "forecast_hourly_days_out"
              ],
              "type": "tag"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "measurement": "weatherflow_forecast_hourly",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "uv"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "forecast_hourly_days_out",
              "operator": "=~",
              "value": "/^$forecast_hourly_days_out$/"
            }
          ],
          "tz": "$tz"
        },
        {
          "alias": "Observed",
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "previous"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "weatherflow_obs",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "uv"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "station_name",
              "operator": "=~",
              "value": "/^$station_name$/"
            },
            {
              "condition": "AND",
              "key": "collector_type",
              "operator": "=",
              "value": "local-udp"
            }
          ],
          "tz": "$tz"
        }
      ],
      "title": "UV",
      "type": "timeseries"
    }
  ],
  "refresh": false,
  "schemaVersion": 30,
  "style": "dark",
  "tags": [
    "weatherflow-collector",
    "influxdb"
  ],
  "templating": {
    "list": [
      {
        "allValue": null,
        "current": {},
        "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
        "definition": "SHOW TAG VALUES WITH KEY = \"station_name\"",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": true,
        "label": "Station Name",
        "multi": true,
        "name": "station_name",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"station_name\"",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {},
        "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
        "definition": "SHOW TAG VALUES WITH KEY = \"timezone\"",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "Time Zone",
        "multi": false,
        "name": "tz",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"timezone\"",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {},
        "datasource": "${DS_INFLUXDB_- WEATHERFLOW}",
        "definition": "SHOW TAG VALUES WITH KEY = \"forecast_hourly_days_out\"",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": true,
        "label": "Days Out",
        "multi": false,
        "name": "forecast_hourly_days_out",
        "options": [],
        "query": "SHOW TAG VALUES WITH KEY = \"forecast_hourly_days_out\"",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": null,
        "current": {
          "selected": true,
          "text": "4h",
          "value": "4h"
        },
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "Interval",
        "multi": false,
        "name": "interval",
        "options": [
          {
            "selected": false,
            "text": "1d",
            "value": "1d"
          },
          {
            "selected": false,
            "text": "12h",
            "value": "12h"
          },
          {
            "selected": false,
            "text": "6h",
            "value": "6h"
          },
          {
            "selected": true,
            "text": "4h",
            "value": "4h"
          },
          {
            "selected": false,
            "text": "2h",
            "value": "2h"
          },
          {
            "selected": false,
            "text": "1h",
            "value": "1h"
          },
          {
            "selected": false,
            "text": "30m",
            "value": "30m"
          },
          {
            "selected": false,
            "text": "15m",
            "value": "15m"
          },
          {
            "selected": false,
            "text": "10m",
            "value": "10m"
          },
          {
            "selected": false,
            "text": "5m",
            "value": "5m"
          },
          {
            "selected": false,
            "text": "2m",
            "value": "2m"
          },
          {
            "selected": false,
            "text": "1m",
            "value": "1m"
          }
        ],
        "query": "1d,12h,6h,4h,2h,1h,30m,15m,10m,5m,2m,1m",
        "queryValue": "",
        "skipUrlSync": false,
        "type": "custom"
      }
    ]
  },
  "time": {
    "from": "now-7d",
    "to": "now"
  },
  "timepicker": {},
  "timezone": "",
  "title": "WeatherFlow Collector - Forecast Vs Observed",
  "uid": "lux4rd0labs_weatherflow_13",
  "version": 1,
  "description": "WeatherFlow Collector provides multiple ways of collecting data from the WeatherFlow Tempest, Air, and Sky weather systems. These Grafana dashboards offer visualizations in real-time for current conditions, derived metrics, and forecasting."
}