monitoring(climate): add C/F history and dedupe typhon series
This commit is contained in:
parent
58ccbfb130
commit
f67ca30f94
@ -543,48 +543,44 @@ ANANKE_UPS_LOAD_BY_SOURCE = f"ananke_ups_load_percent{{{ANANKE_SELECTOR}}}"
|
||||
ANANKE_UPS_CHARGE_BY_SOURCE = f"ananke_ups_battery_charge_percent{{{ANANKE_SELECTOR}}}"
|
||||
ANANKE_UPS_TRIGGER_BY_SOURCE = f"ananke_ups_trigger_active{{{ANANKE_SELECTOR}}}"
|
||||
CLIMATE_SENSOR_COUNT = "count(typhon_temperature_celsius) or on() vector(0)"
|
||||
CLIMATE_TEMP_MAX = "max(typhon_temperature_celsius) or on() vector(0)"
|
||||
CLIMATE_PRESSURE_CURRENT = "max(typhon_vpd_kpa) or on() vector(0)"
|
||||
CLIMATE_HUMIDITY_MAX = "max(typhon_relative_humidity_percent) or on() vector(0)"
|
||||
CLIMATE_TEMP_SERIES = "typhon_temperature_celsius"
|
||||
CLIMATE_PRESSURE_SERIES = "typhon_vpd_kpa"
|
||||
CLIMATE_HUMIDITY_SERIES = "typhon_relative_humidity_percent"
|
||||
CLIMATE_DEW_POINT_CURRENT = (
|
||||
"(243.5 * (ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) "
|
||||
"+ ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius))))) "
|
||||
"/ (17.67 - ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) "
|
||||
"- ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius)))) "
|
||||
"or on() vector(0)"
|
||||
CLIMATE_DEDUP_LABELS = "job,instance,pod,service,endpoint,namespace"
|
||||
CLIMATE_TEMP_SERIES = (
|
||||
f"max without ({CLIMATE_DEDUP_LABELS}) (typhon_temperature_celsius)"
|
||||
)
|
||||
CLIMATE_DEW_POINT_SERIES = (
|
||||
"(243.5 * (ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) "
|
||||
"+ ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))) "
|
||||
"/ (17.67 - ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) "
|
||||
"- ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))"
|
||||
CLIMATE_TEMP_FAHRENHEIT_SERIES = f"({CLIMATE_TEMP_SERIES}) * 9 / 5 + 32"
|
||||
CLIMATE_PRESSURE_SERIES = (
|
||||
f"max without ({CLIMATE_DEDUP_LABELS}) (typhon_vpd_kpa)"
|
||||
)
|
||||
CLIMATE_HUMIDITY_SERIES = (
|
||||
f"max without ({CLIMATE_DEDUP_LABELS}) (typhon_relative_humidity_percent)"
|
||||
)
|
||||
CLIMATE_TEMP_MAX = f"max({CLIMATE_TEMP_SERIES}) or on() vector(0)"
|
||||
CLIMATE_TEMP_FAHRENHEIT_MAX = f"max({CLIMATE_TEMP_FAHRENHEIT_SERIES}) or on() vector(0)"
|
||||
CLIMATE_PRESSURE_CURRENT = f"max({CLIMATE_PRESSURE_SERIES}) or on() vector(0)"
|
||||
CLIMATE_HUMIDITY_MAX = f"max({CLIMATE_HUMIDITY_SERIES}) or on() vector(0)"
|
||||
CLIMATE_FAN_OUTLET_CURRENT = (
|
||||
'max(typhon_fan_speed_level{fan_group="outlet"}) or on() vector(0)'
|
||||
f'max(max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group="outlet"}})) or on() vector(0)'
|
||||
)
|
||||
CLIMATE_FAN_INSIDE_INLET_CURRENT = (
|
||||
'max(typhon_fan_speed_level{fan_group="inside_inlet"}) or on() vector(0)'
|
||||
f'max(max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group="inside_inlet"}})) or on() vector(0)'
|
||||
)
|
||||
CLIMATE_FAN_OUTSIDE_INLET_CURRENT = (
|
||||
'max(typhon_fan_speed_level{fan_group="outside_inlet"}) or on() vector(0)'
|
||||
f'max(max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group="outside_inlet"}})) or on() vector(0)'
|
||||
)
|
||||
CLIMATE_FAN_INTERIOR_CURRENT = (
|
||||
'max(typhon_fan_speed_level{fan_group=~"interior|unknown"}) or on() vector(0)'
|
||||
f'max(max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group=~"interior|unknown"}})) or on() vector(0)'
|
||||
)
|
||||
CLIMATE_FAN_OUTLET_SERIES = (
|
||||
'typhon_fan_speed_level{fan_group="outlet"}'
|
||||
f'max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group="outlet"}})'
|
||||
)
|
||||
CLIMATE_FAN_INSIDE_INLET_SERIES = (
|
||||
'typhon_fan_speed_level{fan_group="inside_inlet"}'
|
||||
f'max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group="inside_inlet"}})'
|
||||
)
|
||||
CLIMATE_FAN_OUTSIDE_INLET_SERIES = (
|
||||
'typhon_fan_speed_level{fan_group="outside_inlet"}'
|
||||
f'max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group="outside_inlet"}})'
|
||||
)
|
||||
CLIMATE_FAN_INTERIOR_SERIES = (
|
||||
'typhon_fan_speed_level{fan_group=~"interior|unknown"}'
|
||||
f'max without ({CLIMATE_DEDUP_LABELS}) (typhon_fan_speed_level{{fan_group=~"interior|unknown"}})'
|
||||
)
|
||||
POSTGRES_CONN_USED = (
|
||||
'label_replace(sum(pg_stat_activity_count), "conn", "used", "__name__", ".*") '
|
||||
@ -1382,18 +1378,18 @@ def build_overview():
|
||||
text_mode="value",
|
||||
targets=[
|
||||
{"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True},
|
||||
{"refId": "B", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent VPD (kPa)", "instant": True},
|
||||
{"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_MAX, "legendFormat": "Tent Temp (°F)", "instant": True},
|
||||
{"refId": "C", "expr": CLIMATE_HUMIDITY_MAX, "legendFormat": "Tent RH (%)", "instant": True},
|
||||
{"refId": "D", "expr": CLIMATE_DEW_POINT_CURRENT, "legendFormat": "Dew Point (°C)", "instant": True},
|
||||
{"refId": "D", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent Pressure (VPD kPa)", "instant": True},
|
||||
],
|
||||
field_overrides=[
|
||||
{"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent VPD (kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent Temp (°F)"}, "properties": [{"id": "unit", "value": "fahrenheit"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent RH (%)"}, "properties": [{"id": "unit", "value": "percent"}]},
|
||||
{"matcher": {"id": "byName", "options": "Dew Point (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent Pressure (VPD kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
||||
],
|
||||
links=link_to("atlas-power"),
|
||||
description="Current tent temperature, VPD, humidity, and dew point.",
|
||||
description="Current tent temperature in C/F, humidity, and pressure proxy (VPD in kPa).",
|
||||
orientation="vertical",
|
||||
wide_layout=False,
|
||||
)
|
||||
@ -1407,23 +1403,29 @@ def build_overview():
|
||||
unit="celsius",
|
||||
targets=[
|
||||
{"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"},
|
||||
{"refId": "B", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"},
|
||||
{"refId": "C", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "VPD (kPa)"},
|
||||
{"refId": "D", "expr": CLIMATE_DEW_POINT_SERIES, "legendFormat": "Dew Point (°C)"},
|
||||
{"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_SERIES, "legendFormat": "Temperature (°F)"},
|
||||
{"refId": "C", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"},
|
||||
{"refId": "D", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "Pressure (VPD kPa)"},
|
||||
],
|
||||
field_overrides=[
|
||||
{
|
||||
"matcher": {"id": "byName", "options": "Temperature (°F)"},
|
||||
"properties": [
|
||||
{"id": "unit", "value": "fahrenheit"},
|
||||
],
|
||||
},
|
||||
{
|
||||
"matcher": {"id": "byName", "options": "Humidity (%)"},
|
||||
"properties": [
|
||||
{"id": "unit", "value": "percent"},
|
||||
{"id": "custom.axisPlacement", "value": "right"},
|
||||
],
|
||||
},
|
||||
{
|
||||
"matcher": {"id": "byName", "options": "VPD (kPa)"},
|
||||
"matcher": {"id": "byName", "options": "Pressure (VPD kPa)"},
|
||||
"properties": [
|
||||
{"id": "unit", "value": "none"},
|
||||
{"id": "unit", "value": "suffix:kPa"},
|
||||
{"id": "custom.axisPlacement", "value": "right"},
|
||||
{"id": "custom.axisLabel", "value": "kPa"},
|
||||
{"id": "decimals", "value": 2},
|
||||
],
|
||||
}
|
||||
@ -1431,6 +1433,7 @@ def build_overview():
|
||||
legend_display="list",
|
||||
legend_placement="bottom",
|
||||
links=link_to("atlas-power"),
|
||||
description="Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa).",
|
||||
)
|
||||
)
|
||||
panels.append(
|
||||
@ -3175,17 +3178,17 @@ def build_power_dashboard():
|
||||
text_mode="name_and_value",
|
||||
targets=[
|
||||
{"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True},
|
||||
{"refId": "B", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent VPD (kPa)", "instant": True},
|
||||
{"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_MAX, "legendFormat": "Tent Temp (°F)", "instant": True},
|
||||
{"refId": "C", "expr": CLIMATE_HUMIDITY_MAX, "legendFormat": "Tent RH (%)", "instant": True},
|
||||
{"refId": "D", "expr": CLIMATE_DEW_POINT_CURRENT, "legendFormat": "Dew Point (°C)", "instant": True},
|
||||
{"refId": "D", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent Pressure (VPD kPa)", "instant": True},
|
||||
],
|
||||
field_overrides=[
|
||||
{"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent VPD (kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent Temp (°F)"}, "properties": [{"id": "unit", "value": "fahrenheit"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent RH (%)"}, "properties": [{"id": "unit", "value": "percent"}]},
|
||||
{"matcher": {"id": "byName", "options": "Dew Point (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||
{"matcher": {"id": "byName", "options": "Tent Pressure (VPD kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
||||
],
|
||||
description="Current tent temperature, VPD, humidity, and dew point. These render once climate telemetry is online.",
|
||||
description="Current tent temperature in C/F, humidity, and pressure proxy (VPD kPa).",
|
||||
)
|
||||
)
|
||||
panels.append(
|
||||
@ -3197,30 +3200,36 @@ def build_power_dashboard():
|
||||
unit="celsius",
|
||||
targets=[
|
||||
{"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"},
|
||||
{"refId": "B", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"},
|
||||
{"refId": "C", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "VPD (kPa)"},
|
||||
{"refId": "D", "expr": CLIMATE_DEW_POINT_SERIES, "legendFormat": "Dew Point (°C)"},
|
||||
{"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_SERIES, "legendFormat": "Temperature (°F)"},
|
||||
{"refId": "C", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"},
|
||||
{"refId": "D", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "Pressure (VPD kPa)"},
|
||||
],
|
||||
field_overrides=[
|
||||
{
|
||||
"matcher": {"id": "byName", "options": "Temperature (°F)"},
|
||||
"properties": [
|
||||
{"id": "unit", "value": "fahrenheit"},
|
||||
],
|
||||
},
|
||||
{
|
||||
"matcher": {"id": "byName", "options": "Humidity (%)"},
|
||||
"properties": [
|
||||
{"id": "unit", "value": "percent"},
|
||||
{"id": "custom.axisPlacement", "value": "right"},
|
||||
],
|
||||
},
|
||||
{
|
||||
"matcher": {"id": "byName", "options": "VPD (kPa)"},
|
||||
"matcher": {"id": "byName", "options": "Pressure (VPD kPa)"},
|
||||
"properties": [
|
||||
{"id": "unit", "value": "none"},
|
||||
{"id": "unit", "value": "suffix:kPa"},
|
||||
{"id": "custom.axisPlacement", "value": "right"},
|
||||
{"id": "custom.axisLabel", "value": "kPa"},
|
||||
{"id": "decimals", "value": 2},
|
||||
],
|
||||
}
|
||||
],
|
||||
legend_display="table",
|
||||
legend_placement="right",
|
||||
description="Two-axis chart: temperature/humidity/dew point (left axis) and VPD in kPa (right axis).",
|
||||
description="Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa).",
|
||||
)
|
||||
)
|
||||
panels.append(
|
||||
|
||||
@ -1363,26 +1363,26 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0C)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||
"legendFormat": "Tent VPD (kPa)",
|
||||
"expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0F)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)) or on() vector(0)",
|
||||
"legendFormat": "Tent RH (%)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) + ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius))))) / (17.67 - ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) - ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius)))) or on() vector(0)",
|
||||
"legendFormat": "Dew Point (\u00b0C)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)) or on() vector(0)",
|
||||
"legendFormat": "Tent Pressure (VPD kPa)",
|
||||
"instant": true
|
||||
}
|
||||
],
|
||||
@ -1427,12 +1427,12 @@
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Tent VPD (kPa)"
|
||||
"options": "Tent Temp (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -1451,12 +1451,12 @@
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Dew Point (\u00b0C)"
|
||||
"options": "Tent Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "celsius"
|
||||
"value": "suffix:kPa"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1484,7 +1484,7 @@
|
||||
"targetBlank": true
|
||||
}
|
||||
],
|
||||
"description": "Current tent temperature, VPD, humidity, and dew point."
|
||||
"description": "Current tent temperature in C/F, humidity, and pressure proxy (VPD in kPa)."
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
@ -1503,23 +1503,23 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_temperature_celsius",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)",
|
||||
"legendFormat": "Temperature (\u00b0C)"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_relative_humidity_percent",
|
||||
"legendFormat": "Humidity (%)"
|
||||
"expr": "(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32",
|
||||
"legendFormat": "Temperature (\u00b0F)"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_vpd_kpa",
|
||||
"legendFormat": "VPD (kPa)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)",
|
||||
"legendFormat": "Humidity (%)"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) + ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))) / (17.67 - ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) - ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))",
|
||||
"legendFormat": "Dew Point (\u00b0C)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)",
|
||||
"legendFormat": "Pressure (VPD kPa)"
|
||||
}
|
||||
],
|
||||
"fieldConfig": {
|
||||
@ -1530,32 +1530,44 @@
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Humidity (%)"
|
||||
"options": "Temperature (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "percent"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "VPD (kPa)"
|
||||
"options": "Humidity (%)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "none"
|
||||
"value": "percent"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisLabel",
|
||||
"value": "kPa"
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
},
|
||||
{
|
||||
"id": "decimals",
|
||||
@ -1580,7 +1592,8 @@
|
||||
"url": "/d/atlas-power",
|
||||
"targetBlank": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"description": "Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa)."
|
||||
},
|
||||
{
|
||||
"id": 140,
|
||||
@ -1599,25 +1612,25 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Outlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Outside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=~\"interior|unknown\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})) or on() vector(0))",
|
||||
"legendFormat": "Interior Fans",
|
||||
"instant": true
|
||||
}
|
||||
@ -1691,22 +1704,22 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})",
|
||||
"legendFormat": "Inside Outlet"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})",
|
||||
"legendFormat": "Inside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})",
|
||||
"legendFormat": "Outside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "typhon_fan_speed_level{fan_group=~\"interior|unknown\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})",
|
||||
"legendFormat": "Interior Fans"
|
||||
}
|
||||
],
|
||||
|
||||
@ -284,26 +284,26 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0C)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||
"legendFormat": "Tent VPD (kPa)",
|
||||
"expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0F)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)) or on() vector(0)",
|
||||
"legendFormat": "Tent RH (%)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) + ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius))))) / (17.67 - ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) - ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius)))) or on() vector(0)",
|
||||
"legendFormat": "Dew Point (\u00b0C)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)) or on() vector(0)",
|
||||
"legendFormat": "Tent Pressure (VPD kPa)",
|
||||
"instant": true
|
||||
}
|
||||
],
|
||||
@ -348,12 +348,12 @@
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Tent VPD (kPa)"
|
||||
"options": "Tent Temp (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -372,12 +372,12 @@
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Dew Point (\u00b0C)"
|
||||
"options": "Tent Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "celsius"
|
||||
"value": "suffix:kPa"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -396,7 +396,7 @@
|
||||
},
|
||||
"textMode": "name_and_value"
|
||||
},
|
||||
"description": "Current tent temperature, VPD, humidity, and dew point. These render once climate telemetry is online."
|
||||
"description": "Current tent temperature in C/F, humidity, and pressure proxy (VPD kPa)."
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
@ -415,23 +415,23 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_temperature_celsius",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)",
|
||||
"legendFormat": "Temperature (\u00b0C)"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_relative_humidity_percent",
|
||||
"legendFormat": "Humidity (%)"
|
||||
"expr": "(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32",
|
||||
"legendFormat": "Temperature (\u00b0F)"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_vpd_kpa",
|
||||
"legendFormat": "VPD (kPa)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)",
|
||||
"legendFormat": "Humidity (%)"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) + ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))) / (17.67 - ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) - ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))",
|
||||
"legendFormat": "Dew Point (\u00b0C)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)",
|
||||
"legendFormat": "Pressure (VPD kPa)"
|
||||
}
|
||||
],
|
||||
"fieldConfig": {
|
||||
@ -442,32 +442,44 @@
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Humidity (%)"
|
||||
"options": "Temperature (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "percent"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "VPD (kPa)"
|
||||
"options": "Humidity (%)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "none"
|
||||
"value": "percent"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisLabel",
|
||||
"value": "kPa"
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
},
|
||||
{
|
||||
"id": "decimals",
|
||||
@ -486,7 +498,7 @@
|
||||
"mode": "multi"
|
||||
}
|
||||
},
|
||||
"description": "Two-axis chart: temperature/humidity/dew point (left axis) and VPD in kPa (right axis)."
|
||||
"description": "Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa)."
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
@ -505,25 +517,25 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Outlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Outside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=~\"interior|unknown\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})) or on() vector(0))",
|
||||
"legendFormat": "Interior Fans",
|
||||
"instant": true
|
||||
}
|
||||
@ -591,22 +603,22 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})",
|
||||
"legendFormat": "Inside Outlet"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})",
|
||||
"legendFormat": "Inside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})",
|
||||
"legendFormat": "Outside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "typhon_fan_speed_level{fan_group=~\"interior|unknown\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})",
|
||||
"legendFormat": "Interior Fans"
|
||||
}
|
||||
],
|
||||
|
||||
@ -1372,26 +1372,26 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0C)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||
"legendFormat": "Tent VPD (kPa)",
|
||||
"expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0F)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)) or on() vector(0)",
|
||||
"legendFormat": "Tent RH (%)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) + ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius))))) / (17.67 - ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) - ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius)))) or on() vector(0)",
|
||||
"legendFormat": "Dew Point (\u00b0C)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)) or on() vector(0)",
|
||||
"legendFormat": "Tent Pressure (VPD kPa)",
|
||||
"instant": true
|
||||
}
|
||||
],
|
||||
@ -1436,12 +1436,12 @@ data:
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Tent VPD (kPa)"
|
||||
"options": "Tent Temp (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -1460,12 +1460,12 @@ data:
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Dew Point (\u00b0C)"
|
||||
"options": "Tent Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "celsius"
|
||||
"value": "suffix:kPa"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1493,7 +1493,7 @@ data:
|
||||
"targetBlank": true
|
||||
}
|
||||
],
|
||||
"description": "Current tent temperature, VPD, humidity, and dew point."
|
||||
"description": "Current tent temperature in C/F, humidity, and pressure proxy (VPD in kPa)."
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
@ -1512,23 +1512,23 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_temperature_celsius",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)",
|
||||
"legendFormat": "Temperature (\u00b0C)"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_relative_humidity_percent",
|
||||
"legendFormat": "Humidity (%)"
|
||||
"expr": "(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32",
|
||||
"legendFormat": "Temperature (\u00b0F)"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_vpd_kpa",
|
||||
"legendFormat": "VPD (kPa)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)",
|
||||
"legendFormat": "Humidity (%)"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) + ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))) / (17.67 - ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) - ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))",
|
||||
"legendFormat": "Dew Point (\u00b0C)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)",
|
||||
"legendFormat": "Pressure (VPD kPa)"
|
||||
}
|
||||
],
|
||||
"fieldConfig": {
|
||||
@ -1539,32 +1539,44 @@ data:
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Humidity (%)"
|
||||
"options": "Temperature (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "percent"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "VPD (kPa)"
|
||||
"options": "Humidity (%)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "none"
|
||||
"value": "percent"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisLabel",
|
||||
"value": "kPa"
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
},
|
||||
{
|
||||
"id": "decimals",
|
||||
@ -1589,7 +1601,8 @@ data:
|
||||
"url": "/d/atlas-power",
|
||||
"targetBlank": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"description": "Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa)."
|
||||
},
|
||||
{
|
||||
"id": 140,
|
||||
@ -1608,25 +1621,25 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Outlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Outside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=~\"interior|unknown\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})) or on() vector(0))",
|
||||
"legendFormat": "Interior Fans",
|
||||
"instant": true
|
||||
}
|
||||
@ -1700,22 +1713,22 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})",
|
||||
"legendFormat": "Inside Outlet"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})",
|
||||
"legendFormat": "Inside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})",
|
||||
"legendFormat": "Outside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "typhon_fan_speed_level{fan_group=~\"interior|unknown\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})",
|
||||
"legendFormat": "Interior Fans"
|
||||
}
|
||||
],
|
||||
|
||||
@ -293,26 +293,26 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0C)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||
"legendFormat": "Tent VPD (kPa)",
|
||||
"expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32) or on() vector(0)",
|
||||
"legendFormat": "Tent Temp (\u00b0F)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)) or on() vector(0)",
|
||||
"legendFormat": "Tent RH (%)",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) + ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius))))) / (17.67 - ln(clamp_min(max(typhon_relative_humidity_percent) / 100, 0.01)) - ((17.67 * max(typhon_temperature_celsius)) / (243.5 + max(typhon_temperature_celsius)))) or on() vector(0)",
|
||||
"legendFormat": "Dew Point (\u00b0C)",
|
||||
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)) or on() vector(0)",
|
||||
"legendFormat": "Tent Pressure (VPD kPa)",
|
||||
"instant": true
|
||||
}
|
||||
],
|
||||
@ -357,12 +357,12 @@ data:
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Tent VPD (kPa)"
|
||||
"options": "Tent Temp (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -381,12 +381,12 @@ data:
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Dew Point (\u00b0C)"
|
||||
"options": "Tent Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "celsius"
|
||||
"value": "suffix:kPa"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -405,7 +405,7 @@ data:
|
||||
},
|
||||
"textMode": "name_and_value"
|
||||
},
|
||||
"description": "Current tent temperature, VPD, humidity, and dew point. These render once climate telemetry is online."
|
||||
"description": "Current tent temperature in C/F, humidity, and pressure proxy (VPD kPa)."
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
@ -424,23 +424,23 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_temperature_celsius",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)",
|
||||
"legendFormat": "Temperature (\u00b0C)"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_relative_humidity_percent",
|
||||
"legendFormat": "Humidity (%)"
|
||||
"expr": "(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32",
|
||||
"legendFormat": "Temperature (\u00b0F)"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_vpd_kpa",
|
||||
"legendFormat": "VPD (kPa)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)",
|
||||
"legendFormat": "Humidity (%)"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "(243.5 * (ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) + ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))) / (17.67 - ln(clamp_min(typhon_relative_humidity_percent / 100, 0.01)) - ((17.67 * typhon_temperature_celsius) / (243.5 + typhon_temperature_celsius)))",
|
||||
"legendFormat": "Dew Point (\u00b0C)"
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)",
|
||||
"legendFormat": "Pressure (VPD kPa)"
|
||||
}
|
||||
],
|
||||
"fieldConfig": {
|
||||
@ -451,32 +451,44 @@ data:
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Humidity (%)"
|
||||
"options": "Temperature (\u00b0F)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "percent"
|
||||
"value": "fahrenheit"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "VPD (kPa)"
|
||||
"options": "Humidity (%)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "none"
|
||||
"value": "percent"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"matcher": {
|
||||
"id": "byName",
|
||||
"options": "Pressure (VPD kPa)"
|
||||
},
|
||||
"properties": [
|
||||
{
|
||||
"id": "unit",
|
||||
"value": "suffix:kPa"
|
||||
},
|
||||
{
|
||||
"id": "custom.axisLabel",
|
||||
"value": "kPa"
|
||||
"id": "custom.axisPlacement",
|
||||
"value": "right"
|
||||
},
|
||||
{
|
||||
"id": "decimals",
|
||||
@ -495,7 +507,7 @@ data:
|
||||
"mode": "multi"
|
||||
}
|
||||
},
|
||||
"description": "Two-axis chart: temperature/humidity/dew point (left axis) and VPD in kPa (right axis)."
|
||||
"description": "Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa)."
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
@ -514,25 +526,25 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Outlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Inside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})) or on() vector(0))",
|
||||
"legendFormat": "Outside Inlet",
|
||||
"instant": true
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "round(max(typhon_fan_speed_level{fan_group=~\"interior|unknown\"}) or on() vector(0))",
|
||||
"expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})) or on() vector(0))",
|
||||
"legendFormat": "Interior Fans",
|
||||
"instant": true
|
||||
}
|
||||
@ -600,22 +612,22 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})",
|
||||
"legendFormat": "Inside Outlet"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})",
|
||||
"legendFormat": "Inside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})",
|
||||
"legendFormat": "Outside Inlet"
|
||||
},
|
||||
{
|
||||
"refId": "D",
|
||||
"expr": "typhon_fan_speed_level{fan_group=~\"interior|unknown\"}",
|
||||
"expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})",
|
||||
"legendFormat": "Interior Fans"
|
||||
}
|
||||
],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user