[ { "apiVersion": "influxdata.com/v2alpha1", "kind": "Label", "metadata": { "name": "xenodochial-greider-36f001" }, "spec": { "color": "#009f5f", "name": "outage" } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "CheckDeadman", "metadata": { "name": "noshing-borg-b6f003" }, "spec": { "every": "1m0s", "level": "CRIT", "name": "Energy Data Lost", "query": "from(bucket: \"vue/autogen\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e filter(fn: (r) =\u003e r[\"_field\"] == \"usage\")", "staleTime": "10m0s", "status": "active", "statusMessageTemplate": "Check: ${ r._check_name } is: ${ r._level }", "timeSince": "1m30s" } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "CheckThreshold", "metadata": { "name": "competent-hopper-f6f003" }, "spec": { "every": "1m0s", "name": "Power Outage", "query": "from(bucket: \"vuegraf\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e filter(fn: (r) =\u003e r[\"_field\"] == \"usage\")\n |\u003e filter(fn: (r) =\u003e r[\"detailed\"] == \"False\")\n |\u003e filter(fn: (r) =\u003e r[\"device_name\"] =~ /Panel/)\n |\u003e aggregateWindow(every: 1m, fn: max, createEmpty: false)\n |\u003e yield(name: \"max\")", "status": "active", "statusMessageTemplate": "Check: ${ r._check_name } is: ${ r._level }", "thresholds": [ { "level": "CRIT", "type": "lesser", "value": 1 } ] } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "Variable", "metadata": { "name": "flamboyant-einstein-76f005" }, "spec": { "language": "flux", "name": "Account", "query": "import \"influxdata/influxdb/schema\"\nimport \"array\"\n\ndynamic = schema.tagValues(bucket: \"vuegraf\", tag: \"account_name\")\n\nstatic = array.from(\n rows: [\n {\n _value: \"(All)\",\n },\n ],\n)\n\nunion(tables: [static, dynamic])", "selected": [ "(All)" ], "type": "query" } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "Variable", "metadata": { "name": "funny-kapitsa-76f009" }, "spec": { "name": "DetailedDataEnabled", "selected": [ "False" ], "type": "constant", "values": [ "True", "False" ] } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "Variable", "metadata": { "name": "inspiring-shockley-b6f001" }, "spec": { "language": "flux", "name": "Device", "query": "import \"influxdata/influxdb/schema\"\nimport \"array\"\n\ndynamic = schema.tagValues(bucket: \"vuegraf\", tag: \"device_name\")\n\nstatic = array.from(\n rows: [\n {\n _value: \"(All)\",\n },\n ],\n)\n\nunion(tables: [static, dynamic])", "selected": [ "(All)" ], "type": "query" } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "Variable", "metadata": { "name": "realistic-kowalevski-76f007" }, "spec": { "name": "CostPerkWh", "selected": [ "0.12" ], "type": "constant", "values": [ "0.10", "0.11", "0.12", "0.13", "0.14", "0.15", "0.16", "0.17", "0.18", "0.19", "0.20", "0.21", "0.22", "0.23", "0.24", "0.25", "0.26", "0.27", "0.28", "0.29", "0.30", "0.31", "0.32", "0.33", "0.34", "0.35", "0.36", "0.37", "0.38", "0.39", "0.40", "0.41", "0.42", "0.43", "0.44", "0.45", "0.46", "0.47", "0.48", "0.49", "0.50", "0.51", "0.52", "0.53", "0.54", "0.55", "0.56", "0.57", "0.58", "0.59", "0.60", "0.61", "0.62", "0.63", "0.64", "0.65", "0.66", "0.67", "0.68", "0.69", "0.70", "0.71", "0.72", "0.73", "0.74", "0.75", "0.76", "0.77", "0.78", "0.79", "0.80", "0.81", "0.82", "0.83", "0.84", "0.85", "0.86", "0.87", "0.88", "0.89", "0.90", "0.91", "0.92", "0.93", "0.94", "0.95", "0.96", "0.97", "0.98", "0.99" ] } }, { "apiVersion": "influxdata.com/v2alpha1", "kind": "Dashboard", "metadata": { "name": "musing-gauss-b6f001" }, "spec": { "charts": [ { "colors": [ { "hex": "#7CE490", "id": "0", "name": "honeydew", "type": "min" }, { "hex": "#FFD255", "id": "EWB_hfTr0JyVEfRaI7TtX", "name": "thunder", "type": "threshold", "value": 3 }, { "hex": "#DC4E58", "id": "k6XHqpWMc-pSrzoRu8pXD", "name": "fire", "type": "threshold", "value": 5 }, { "hex": "#BF3D5E", "id": "1", "name": "ruby", "type": "max", "value": 10 } ], "decimalPlaces": 1, "height": 4, "kind": "Gauge", "name": "Most Recent Combined Usage", "queries": [ { "query": "accountFilter = (tables=\u003c-) =\u003e\n if v.Account != \"(All)\" then\n tables |\u003e filter(fn: (r) =\u003e r[\"account_name\"] == v.Account)\n else\n tables\n\nfrom(bucket: \"vuegraf\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e accountFilter()\n |\u003e filter(fn: (r) =\u003e r[\"device_name\"] =~ /Panel/ and r[\"device_name\"] !~ /-Balance/)\n |\u003e filter(fn: (r) =\u003e (r[\"detailed\"] == \"False\"))\n |\u003e group(columns: [\"_time\"])\n |\u003e sum()\n |\u003e map(fn: (r) =\u003e ({ r with _value: r._value / 1000.0}))\n |\u003e group()\n |\u003e last()" } ], "staticLegend": {}, "suffix": " kW", "width": 3 }, { "axes": [ { "base": "10", "name": "x", "scale": "linear" }, { "base": "10", "name": "y", "scale": "linear", "suffix": "kW" } ], "colorizeRows": true, "colors": [ { "hex": "#31C0F6", "id": "dNYnHkyoVodZBiY5Ah-1Y", "name": "Nineteen Eighty Four", "type": "scale" }, { "hex": "#A500A5", "id": "N-KsOA9A4CWWm1TXAgmPp", "name": "Nineteen Eighty Four", "type": "scale" }, { "hex": "#FF7E27", "id": "KXxluUZHVG6IGhsRq2QK0", "name": "Nineteen Eighty Four", "type": "scale" } ], "geom": "line", "height": 4, "hoverDimension": "auto", "kind": "Xy", "legendColorizeRows": true, "legendOpacity": 1, "legendOrientationThreshold": 100000000, "name": "Combined Usage over Time Period", "opacity": 1, "orientationThreshold": 100000000, "position": "overlaid", "queries": [ { "query": "accountFilter = (tables=\u003c-) =\u003e\n if v.Account != \"(All)\" then\n tables |\u003e filter(fn: (r) =\u003e r[\"account_name\"] == v.Account)\n else\n tables\n\nfrom(bucket: \"vuegraf\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e accountFilter()\n |\u003e filter(fn: (r) =\u003e r[\"device_name\"] =~ /Panel/ and r[\"device_name\"] !~ /-Balance/)\n |\u003e filter(fn: (r) =\u003e (r[\"detailed\"] == \"False\"))\n |\u003e group(columns: [\"_time\"])\n |\u003e sum()\n |\u003e map(fn: (r) =\u003e ({ r with _value: r._value / 1000.0}))\n |\u003e group()" } ], "shade": true, "staticLegend": { "colorizeRows": true, "opacity": 1, "orientationThreshold": 100000000, "widthRatio": 1 }, "width": 12, "widthRatio": 1, "xCol": "_time", "yCol": "_value", "yPos": 4 }, { "axes": [ { "base": "10", "name": "x", "scale": "linear" }, { "base": "10", "name": "y", "scale": "linear", "suffix": "W" } ], "colorizeRows": true, "colors": [ { "hex": "#74D495", "id": "HtHVo9w6qtur77QlYwY2B", "name": "Atlantis", "type": "scale" }, { "hex": "#3F3FBA", "id": "xVw_K2WdESvGIhqDSt1re", "name": "Atlantis", "type": "scale" }, { "hex": "#FF4D9E", "id": "bH9L5-MEa6kMawcnqcqKY", "name": "Atlantis", "type": "scale" } ], "geom": "line", "height": 4, "heightRatio": 0.75, "hoverDimension": "xy", "kind": "Xy", "legendColorizeRows": true, "legendOpacity": 0.77, "legendOrientationThreshold": 100000000, "name": "Individual Device Usage over Time Period", "opacity": 1, "orientationThreshold": 100000000, "position": "overlaid", "queries": [ { "query": "accountFilter = (tables=\u003c-) =\u003e\n if v.Account != \"(All)\" then\n tables |\u003e filter(fn: (r) =\u003e r[\"account_name\"] == v.Account)\n else\n tables\n\ndeviceFilter = (tables=\u003c-) =\u003e\n if v.Device == \"(All)\" then\n tables |\u003e filter(fn: (r) =\u003e r[\"device_name\"] !~ /Panel/)\n else\n tables |\u003e filter(fn: (r) =\u003e r[\"device_name\"] == v.Device)\n\nfrom(bucket: \"vuegraf\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e accountFilter()\n |\u003e deviceFilter()\n |\u003e filter(fn: (r) =\u003e (r[\"detailed\"] == \"False\" and r[\"device_name\"] =~ /-Balance/) or (r[\"detailed\"] == v.DetailedDataEnabled and r[\"device_name\"] !~ /-Balance/))\n |\u003e group(columns: [\"device_name\"])\n |\u003e aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |\u003e yield(name: \"mean\")" } ], "shade": true, "staticLegend": { "colorizeRows": true, "heightRatio": 0.75, "opacity": 1, "orientationThreshold": 100000000, "valueAxis": "y", "widthRatio": 1 }, "valueAxis": "y", "width": 12, "widthRatio": 1, "xCol": "_time", "yCol": "_value", "yPos": 8 }, { "colors": [ { "hex": "#FFD255", "id": "base", "name": "thunder", "type": "text" } ], "decimalPlaces": 0, "height": 2, "kind": "Single_Stat", "name": "Accumulated Combined Usage", "queries": [ { "query": "accountFilter = (tables=\u003c-) =\u003e\n if v.Account != \"(All)\" then\n tables |\u003e filter(fn: (r) =\u003e r[\"account_name\"] == v.Account)\n else\n tables\n\nfrom(bucket: \"vuegraf\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e accountFilter()\n |\u003e filter(fn: (r) =\u003e r[\"device_name\"] =~ /Panel/ and r[\"device_name\"] !~ /-Balance/)\n |\u003e filter(fn: (r) =\u003e (r[\"detailed\"] == \"False\"))\n |\u003e group(columns: [\"_time\"])\n |\u003e sum()\n |\u003e map(fn: (r) =\u003e ({ r with _value: (r._value / 60000.0)}))\n |\u003e group()\n |\u003e sum()" } ], "staticLegend": {}, "suffix": " kWh", "width": 3, "xPos": 3 }, { "colors": [ { "hex": "#BF3D5E", "id": "base", "name": "ruby", "type": "text" } ], "decimalPlaces": 2, "height": 2, "kind": "Single_Stat", "name": "Accumulated Combined Cost", "prefix": "$", "queries": [ { "query": "accountFilter = (tables=\u003c-) =\u003e\n if v.Account != \"(All)\" then\n tables |\u003e filter(fn: (r) =\u003e r[\"account_name\"] == v.Account)\n else\n tables\n\nfrom(bucket: \"vuegraf\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"energy_usage\")\n |\u003e accountFilter()\n |\u003e filter(fn: (r) =\u003e r[\"device_name\"] =~ /Panel/ and r[\"device_name\"] !~ /-Balance/)\n |\u003e filter(fn: (r) =\u003e (r[\"detailed\"] == \"False\"))\n |\u003e group(columns: [\"_time\"])\n |\u003e sum()\n |\u003e map(fn: (r) =\u003e ({ r with _value: (r._value / 60000.0) * float(v: v.CostPerkWh)}))\n |\u003e group()\n |\u003e sum()" } ], "staticLegend": {}, "width": 3, "xPos": 3, "yPos": 2 }, { "colors": [ { "hex": "#4ED8A0", "id": "base", "name": "rainforest", "type": "text" }, { "hex": "#4ED8A0", "id": "WSyp2s3QMf552_5MxZ82q", "name": "rainforest", "type": "text" }, { "hex": "#00C9FF", "id": "uq4MehfknGiAspmyZGYlo", "name": "laser", "type": "text", "value": 1 }, { "hex": "#F48D38", "id": "wrpn7oZHPA5FbdpFjIiaO", "name": "tiger", "type": "text", "value": 2 }, { "hex": "#BF3D5E", "id": "sAeFfBE5HDJfnIS_4EFWq", "name": "ruby", "type": "text", "value": 3 } ], "fieldOptions": [ { "displayName": "Alarm", "fieldName": "_check_name", "visible": true }, { "displayName": "Severity", "fieldName": "_value", "visible": true }, { "displayName": "Status", "fieldName": "_level", "visible": true }, { "displayName": "Alarm", "fieldName": "Alarm" }, { "displayName": "Status", "fieldName": "Status" }, { "displayName": "_start", "fieldName": "_start" }, { "displayName": "_stop", "fieldName": "_stop" }, { "displayName": "Update Time", "fieldName": "_time" }, { "displayName": "_check_id", "fieldName": "_check_id" }, { "displayName": "_field", "fieldName": "_field" }, { "displayName": "_measurement", "fieldName": "_measurement" }, { "displayName": "_source_measurement", "fieldName": "_source_measurement" }, { "displayName": "_type", "fieldName": "_type" }, { "displayName": "account_name", "fieldName": "account_name" }, { "displayName": "detailed", "fieldName": "detailed" }, { "displayName": "device_name", "fieldName": "device_name" }, { "displayName": "Update Time", "fieldName": "Update Time" } ], "height": 4, "kind": "Table", "name": "Alarm Status", "queries": [ { "query": "from(bucket: \"_monitoring\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"statuses\")\n |\u003e filter(fn: (r) =\u003e r[\"_field\"] == \"_message\")\n |\u003e filter(fn: (r) =\u003e r[\"detailed\"] == \"False\")\n |\u003e drop(columns: [\"_value\"])\n |\u003e duplicate(column: \"_level\", as: \"_value\")\n |\u003e map(fn: (r) =\u003e ({ r with _value: if r._value == \"ok\" then 0 else if r._value == \"info\" then 1 else if r._value == \"warn\" then 2 else 3 }))\n |\u003e group(columns: [\"_check_id\"])\n |\u003e sort(columns: [\"_time\"])\n |\u003e last()\n |\u003e group()\n |\u003e keep(columns: [\"_check_name\",\"_level\",\"_value\"])" } ], "staticLegend": {}, "tableOptions": { "sortBy": "Alarm", "verticalTimeAxis": true }, "timeFormat": "YYYY-MM-DD HH:mm:ss", "width": 6, "xPos": 6 } ], "name": "Vuegraf Energy Dashboard" } } ]