monitoring: force horizontal stat layout for power/climate panels
This commit is contained in:
parent
75a992b829
commit
609cfcb696
@ -605,47 +605,43 @@ ANANKE_UPS_RUNTIME_BY_SOURCE = f"ananke_ups_runtime_seconds{{{ANANKE_SELECTOR}}}
|
|||||||
ANANKE_UPS_LOAD_BY_SOURCE = f"ananke_ups_load_percent{{{ANANKE_SELECTOR}}}"
|
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_CHARGE_BY_SOURCE = f"ananke_ups_battery_charge_percent{{{ANANKE_SELECTOR}}}"
|
||||||
ANANKE_UPS_TRIGGER_BY_SOURCE = f"ananke_ups_trigger_active{{{ANANKE_SELECTOR}}}"
|
ANANKE_UPS_TRIGGER_BY_SOURCE = f"ananke_ups_trigger_active{{{ANANKE_SELECTOR}}}"
|
||||||
CLIMATE_SENSOR_COUNT = "count(atlas_climate_temperature_celsius) or on() vector(0)"
|
CLIMATE_SENSOR_COUNT = "count(typhon_temperature_celsius) or on() vector(0)"
|
||||||
CLIMATE_TEMP_MAX = "max(atlas_climate_tent_temperature_celsius) or max(atlas_climate_temperature_celsius) or on() vector(0)"
|
CLIMATE_TEMP_MAX = "max(typhon_temperature_celsius) or on() vector(0)"
|
||||||
CLIMATE_PRESSURE_CURRENT = "max(atlas_climate_tent_pressure_kpa) or max(atlas_climate_pressure_kpa) or on() vector(0)"
|
CLIMATE_PRESSURE_CURRENT = "max(typhon_vpd_kpa) or on() vector(0)"
|
||||||
CLIMATE_HUMIDITY_MAX = "max(atlas_climate_humidity_percent) or on() vector(0)"
|
CLIMATE_HUMIDITY_MAX = "max(typhon_relative_humidity_percent) or on() vector(0)"
|
||||||
CLIMATE_TEMP_SERIES = "(atlas_climate_tent_temperature_celsius or atlas_climate_temperature_celsius)"
|
CLIMATE_TEMP_SERIES = "typhon_temperature_celsius"
|
||||||
CLIMATE_PRESSURE_SERIES = "(atlas_climate_tent_pressure_kpa or atlas_climate_pressure_kpa)"
|
CLIMATE_PRESSURE_SERIES = "typhon_vpd_kpa"
|
||||||
|
CLIMATE_HUMIDITY_SERIES = "typhon_relative_humidity_percent"
|
||||||
|
CLIMATE_DEWPOINT_SERIES = (
|
||||||
|
"(243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + "
|
||||||
|
"(17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / "
|
||||||
|
"(17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + "
|
||||||
|
"(17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))"
|
||||||
|
)
|
||||||
|
CLIMATE_DEWPOINT_CURRENT = f"max({CLIMATE_DEWPOINT_SERIES}) or on() vector(0)"
|
||||||
CLIMATE_FAN_OUTLET_CURRENT = (
|
CLIMATE_FAN_OUTLET_CURRENT = (
|
||||||
'max(atlas_climate_fan_activity_level{fan_group="outlet"}) '
|
'max(typhon_fan_speed_level{fan_group="outlet"}) or on() vector(0)'
|
||||||
'or max(atlas_climate_fan_activity_level{position="outlet"}) '
|
|
||||||
"or on() vector(0)"
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_INSIDE_INLET_CURRENT = (
|
CLIMATE_FAN_INSIDE_INLET_CURRENT = (
|
||||||
'max(atlas_climate_fan_activity_level{fan_group="inside_inlet"}) '
|
'max(typhon_fan_speed_level{fan_group="inside_inlet"}) or on() vector(0)'
|
||||||
'or max(atlas_climate_fan_activity_level{position="inside_inlet"}) '
|
|
||||||
"or on() vector(0)"
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_OUTSIDE_INLET_CURRENT = (
|
CLIMATE_FAN_OUTSIDE_INLET_CURRENT = (
|
||||||
'max(atlas_climate_fan_activity_level{fan_group="outside_inlet"}) '
|
'max(typhon_fan_speed_level{fan_group="outside_inlet"}) or on() vector(0)'
|
||||||
'or max(atlas_climate_fan_activity_level{position="outside_inlet"}) '
|
|
||||||
"or on() vector(0)"
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_INTERIOR_CURRENT = (
|
CLIMATE_FAN_INTERIOR_CURRENT = (
|
||||||
'max(atlas_climate_fan_activity_level{fan_group="interior"}) '
|
'max(typhon_fan_speed_level{fan_group="interior"}) or on() vector(0)'
|
||||||
'or max(atlas_climate_fan_activity_level{position="interior"}) '
|
|
||||||
"or on() vector(0)"
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_OUTLET_SERIES = (
|
CLIMATE_FAN_OUTLET_SERIES = (
|
||||||
'(atlas_climate_fan_activity_level{fan_group="outlet"} '
|
'typhon_fan_speed_level{fan_group="outlet"}'
|
||||||
'or atlas_climate_fan_activity_level{position="outlet"})'
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_INSIDE_INLET_SERIES = (
|
CLIMATE_FAN_INSIDE_INLET_SERIES = (
|
||||||
'(atlas_climate_fan_activity_level{fan_group="inside_inlet"} '
|
'typhon_fan_speed_level{fan_group="inside_inlet"}'
|
||||||
'or atlas_climate_fan_activity_level{position="inside_inlet"})'
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_OUTSIDE_INLET_SERIES = (
|
CLIMATE_FAN_OUTSIDE_INLET_SERIES = (
|
||||||
'(atlas_climate_fan_activity_level{fan_group="outside_inlet"} '
|
'typhon_fan_speed_level{fan_group="outside_inlet"}'
|
||||||
'or atlas_climate_fan_activity_level{position="outside_inlet"})'
|
|
||||||
)
|
)
|
||||||
CLIMATE_FAN_INTERIOR_SERIES = (
|
CLIMATE_FAN_INTERIOR_SERIES = (
|
||||||
'(atlas_climate_fan_activity_level{fan_group="interior"} '
|
'typhon_fan_speed_level{fan_group="interior"}'
|
||||||
'or atlas_climate_fan_activity_level{position="interior"})'
|
|
||||||
)
|
)
|
||||||
POSTGRES_CONN_USED = (
|
POSTGRES_CONN_USED = (
|
||||||
'label_replace(sum(pg_stat_activity_count), "conn", "used", "__name__", ".*") '
|
'label_replace(sum(pg_stat_activity_count), "conn", "used", "__name__", ".*") '
|
||||||
@ -1409,6 +1405,8 @@ def build_overview():
|
|||||||
"properties": [{"id": "mappings", "value": status_mapping}, {"id": "description", "value": f"Attached node: {ANANKE_UPS_TETHYS_NODE}"}],
|
"properties": [{"id": "mappings", "value": status_mapping}, {"id": "description", "value": f"Attached node: {ANANKE_UPS_TETHYS_NODE}"}],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
orientation="horizontal",
|
||||||
|
wide_layout=True,
|
||||||
links=link_to("atlas-power"),
|
links=link_to("atlas-power"),
|
||||||
description="Per-UPS live snapshot: current draw, discharge, and charging/discharging status.",
|
description="Per-UPS live snapshot: current draw, discharge, and charging/discharging status.",
|
||||||
)
|
)
|
||||||
@ -1441,16 +1439,20 @@ def build_overview():
|
|||||||
text_mode="value",
|
text_mode="value",
|
||||||
targets=[
|
targets=[
|
||||||
{"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True},
|
{"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True},
|
||||||
{"refId": "B", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent Pressure (kPa)", "instant": True},
|
{"refId": "B", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent VPD (kPa)", "instant": True},
|
||||||
|
{"refId": "C", "expr": CLIMATE_HUMIDITY_MAX, "legendFormat": "Tent RH (%)", "instant": True},
|
||||||
|
{"refId": "D", "expr": CLIMATE_DEWPOINT_CURRENT, "legendFormat": "Dew Point (°C)", "instant": True},
|
||||||
],
|
],
|
||||||
field_overrides=[
|
field_overrides=[
|
||||||
{"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
{"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||||
{"matcher": {"id": "byName", "options": "Tent Pressure (kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
{"matcher": {"id": "byName", "options": "Tent VPD (kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
||||||
|
{"matcher": {"id": "byName", "options": "Tent RH (%)"}, "properties": [{"id": "unit", "value": "percent"}]},
|
||||||
|
{"matcher": {"id": "byName", "options": "Dew Point (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||||
],
|
],
|
||||||
links=link_to("atlas-power"),
|
links=link_to("atlas-power"),
|
||||||
description="Current tent temperature and pressure.",
|
description="Current tent temperature, humidity, VPD, and dew point.",
|
||||||
orientation="vertical",
|
orientation="horizontal",
|
||||||
wide_layout=False,
|
wide_layout=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
panels.append(
|
panels.append(
|
||||||
@ -1462,11 +1464,19 @@ def build_overview():
|
|||||||
unit="celsius",
|
unit="celsius",
|
||||||
targets=[
|
targets=[
|
||||||
{"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"},
|
{"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"},
|
||||||
{"refId": "B", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "Pressure (kPa)"},
|
{"refId": "B", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"},
|
||||||
|
{"refId": "C", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "VPD (kPa)"},
|
||||||
|
{"refId": "D", "expr": CLIMATE_DEWPOINT_SERIES, "legendFormat": "Dew Point (°C)"},
|
||||||
],
|
],
|
||||||
field_overrides=[
|
field_overrides=[
|
||||||
{
|
{
|
||||||
"matcher": {"id": "byName", "options": "Pressure (kPa)"},
|
"matcher": {"id": "byName", "options": "Humidity (%)"},
|
||||||
|
"properties": [
|
||||||
|
{"id": "unit", "value": "percent"},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {"id": "byName", "options": "VPD (kPa)"},
|
||||||
"properties": [
|
"properties": [
|
||||||
{"id": "unit", "value": "none"},
|
{"id": "unit", "value": "none"},
|
||||||
{"id": "custom.axisPlacement", "value": "right"},
|
{"id": "custom.axisPlacement", "value": "right"},
|
||||||
@ -1478,6 +1488,7 @@ def build_overview():
|
|||||||
legend_display="list",
|
legend_display="list",
|
||||||
legend_placement="bottom",
|
legend_placement="bottom",
|
||||||
links=link_to("atlas-power"),
|
links=link_to("atlas-power"),
|
||||||
|
description="Two-axis chart: tent temperature/humidity/dew point (left axis) and VPD in kPa (right axis).",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
panels.append(
|
panels.append(
|
||||||
@ -1503,6 +1514,8 @@ def build_overview():
|
|||||||
{"color": "red", "value": 9},
|
{"color": "red", "value": 9},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
orientation="horizontal",
|
||||||
|
wide_layout=True,
|
||||||
links=link_to("atlas-power"),
|
links=link_to("atlas-power"),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -3189,6 +3202,8 @@ def build_power_dashboard():
|
|||||||
"properties": [{"id": "mappings", "value": status_mapping}, {"id": "description", "value": f"Attached node: {ANANKE_UPS_TETHYS_NODE}"}],
|
"properties": [{"id": "mappings", "value": status_mapping}, {"id": "description", "value": f"Attached node: {ANANKE_UPS_TETHYS_NODE}"}],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
orientation="horizontal",
|
||||||
|
wide_layout=True,
|
||||||
description=(
|
description=(
|
||||||
"Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status."
|
"Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status."
|
||||||
),
|
),
|
||||||
@ -3222,13 +3237,19 @@ def build_power_dashboard():
|
|||||||
text_mode="name_and_value",
|
text_mode="name_and_value",
|
||||||
targets=[
|
targets=[
|
||||||
{"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True},
|
{"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True},
|
||||||
{"refId": "B", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent Pressure (kPa)", "instant": True},
|
{"refId": "B", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent VPD (kPa)", "instant": True},
|
||||||
|
{"refId": "C", "expr": CLIMATE_HUMIDITY_MAX, "legendFormat": "Tent RH (%)", "instant": True},
|
||||||
|
{"refId": "D", "expr": CLIMATE_DEWPOINT_CURRENT, "legendFormat": "Dew Point (°C)", "instant": True},
|
||||||
],
|
],
|
||||||
field_overrides=[
|
field_overrides=[
|
||||||
{"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
{"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||||
{"matcher": {"id": "byName", "options": "Tent Pressure (kPa)"}, "properties": [{"id": "unit", "value": "none"}]},
|
{"matcher": {"id": "byName", "options": "Tent VPD (kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},
|
||||||
|
{"matcher": {"id": "byName", "options": "Tent RH (%)"}, "properties": [{"id": "unit", "value": "percent"}]},
|
||||||
|
{"matcher": {"id": "byName", "options": "Dew Point (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]},
|
||||||
],
|
],
|
||||||
description="Current tent temperature and air pressure. These render once climate telemetry is online.",
|
orientation="horizontal",
|
||||||
|
wide_layout=True,
|
||||||
|
description="Current tent temperature, humidity, VPD, and dew point. These render once Typhon climate telemetry is online.",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
panels.append(
|
panels.append(
|
||||||
@ -3240,11 +3261,19 @@ def build_power_dashboard():
|
|||||||
unit="celsius",
|
unit="celsius",
|
||||||
targets=[
|
targets=[
|
||||||
{"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"},
|
{"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"},
|
||||||
{"refId": "B", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "Pressure (kPa)"},
|
{"refId": "B", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"},
|
||||||
|
{"refId": "C", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "VPD (kPa)"},
|
||||||
|
{"refId": "D", "expr": CLIMATE_DEWPOINT_SERIES, "legendFormat": "Dew Point (°C)"},
|
||||||
],
|
],
|
||||||
field_overrides=[
|
field_overrides=[
|
||||||
{
|
{
|
||||||
"matcher": {"id": "byName", "options": "Pressure (kPa)"},
|
"matcher": {"id": "byName", "options": "Humidity (%)"},
|
||||||
|
"properties": [
|
||||||
|
{"id": "unit", "value": "percent"},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {"id": "byName", "options": "VPD (kPa)"},
|
||||||
"properties": [
|
"properties": [
|
||||||
{"id": "unit", "value": "none"},
|
{"id": "unit", "value": "none"},
|
||||||
{"id": "custom.axisPlacement", "value": "right"},
|
{"id": "custom.axisPlacement", "value": "right"},
|
||||||
@ -3255,7 +3284,7 @@ def build_power_dashboard():
|
|||||||
],
|
],
|
||||||
legend_display="table",
|
legend_display="table",
|
||||||
legend_placement="right",
|
legend_placement="right",
|
||||||
description="Two-axis chart: tent temperature (left axis) and tent pressure in kPa (right axis).",
|
description="Two-axis chart: tent temperature/humidity/dew point (left axis) and tent VPD in kPa (right axis).",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
panels.append(
|
panels.append(
|
||||||
@ -3281,6 +3310,8 @@ def build_power_dashboard():
|
|||||||
{"color": "red", "value": 9},
|
{"color": "red", "value": 9},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
orientation="horizontal",
|
||||||
|
wide_layout=True,
|
||||||
description="Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans.",
|
description="Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans.",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1281,7 +1281,9 @@
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
@ -1363,14 +1365,26 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "max(atlas_climate_tent_temperature_celsius) or max(atlas_climate_temperature_celsius) or on() vector(0)",
|
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||||
"legendFormat": "Tent Temp (\u00b0C)",
|
"legendFormat": "Tent Temp (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "max(atlas_climate_tent_pressure_kpa) or max(atlas_climate_pressure_kpa) or on() vector(0)",
|
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||||
"legendFormat": "Tent Pressure (kPa)",
|
"legendFormat": "Tent VPD (kPa)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||||
|
"legendFormat": "Tent RH (%)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "max((243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))) or on() vector(0)",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -1415,7 +1429,7 @@
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Tent Pressure (kPa)"
|
"options": "Tent VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
@ -1423,6 +1437,30 @@
|
|||||||
"value": "suffix:kPa"
|
"value": "suffix:kPa"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Tent RH (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Dew Point (\u00b0C)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "celsius"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -1438,8 +1476,8 @@
|
|||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "value",
|
"textMode": "value",
|
||||||
"orientation": "vertical",
|
"orientation": "horizontal",
|
||||||
"wideLayout": false
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
@ -1448,7 +1486,7 @@
|
|||||||
"targetBlank": true
|
"targetBlank": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Current tent temperature and pressure."
|
"description": "Current tent temperature, humidity, VPD, and dew point."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 43,
|
"id": 43,
|
||||||
@ -1467,13 +1505,23 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_tent_temperature_celsius or atlas_climate_temperature_celsius)",
|
"expr": "typhon_temperature_celsius",
|
||||||
"legendFormat": "Temperature (\u00b0C)"
|
"legendFormat": "Temperature (\u00b0C)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_tent_pressure_kpa or atlas_climate_pressure_kpa)",
|
"expr": "typhon_relative_humidity_percent",
|
||||||
"legendFormat": "Pressure (kPa)"
|
"legendFormat": "Humidity (%)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "typhon_vpd_kpa",
|
||||||
|
"legendFormat": "VPD (kPa)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "(243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
@ -1484,7 +1532,19 @@
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Pressure (kPa)"
|
"options": "Humidity (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
@ -1522,7 +1582,8 @@
|
|||||||
"url": "/d/atlas-power",
|
"url": "/d/atlas-power",
|
||||||
"targetBlank": true
|
"targetBlank": true
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"description": "Two-axis chart: tent temperature/humidity/dew point (left axis) and VPD in kPa (right axis)."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 140,
|
"id": 140,
|
||||||
@ -1541,25 +1602,25 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outlet\"}) or max(atlas_climate_fan_activity_level{position=\"outlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Outlet",
|
"legendFormat": "Inside Outlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"inside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Inlet",
|
"legendFormat": "Inside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"outside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Outside Inlet",
|
"legendFormat": "Outside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"interior\"}) or max(atlas_climate_fan_activity_level{position=\"interior\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"interior\"}) or on() vector(0))",
|
||||||
"legendFormat": "Interior Fans",
|
"legendFormat": "Interior Fans",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
@ -1606,7 +1667,9 @@
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
@ -1633,22 +1696,22 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outlet\"} or atlas_climate_fan_activity_level{position=\"outlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||||
"legendFormat": "Inside Outlet"
|
"legendFormat": "Inside Outlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"} or atlas_climate_fan_activity_level{position=\"inside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||||
"legendFormat": "Inside Inlet"
|
"legendFormat": "Inside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"} or atlas_climate_fan_activity_level{position=\"outside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||||
"legendFormat": "Outside Inlet"
|
"legendFormat": "Outside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"interior\"} or atlas_climate_fan_activity_level{position=\"interior\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"interior\"}",
|
||||||
"legendFormat": "Interior Fans"
|
"legendFormat": "Interior Fans"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -215,7 +215,9 @@
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"description": "Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status."
|
"description": "Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status."
|
||||||
},
|
},
|
||||||
@ -284,14 +286,26 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "max(atlas_climate_tent_temperature_celsius) or max(atlas_climate_temperature_celsius) or on() vector(0)",
|
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||||
"legendFormat": "Tent Temp (\u00b0C)",
|
"legendFormat": "Tent Temp (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "max(atlas_climate_tent_pressure_kpa) or max(atlas_climate_pressure_kpa) or on() vector(0)",
|
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||||
"legendFormat": "Tent Pressure (kPa)",
|
"legendFormat": "Tent VPD (kPa)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||||
|
"legendFormat": "Tent RH (%)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "max((243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))) or on() vector(0)",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -336,12 +350,36 @@
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Tent Pressure (kPa)"
|
"options": "Tent VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
"id": "unit",
|
"id": "unit",
|
||||||
"value": "none"
|
"value": "suffix:kPa"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Tent RH (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Dew Point (\u00b0C)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "celsius"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -358,9 +396,11 @@
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"description": "Current tent temperature and air pressure. These render once climate telemetry is online."
|
"description": "Current tent temperature, humidity, VPD, and dew point. These render once Typhon climate telemetry is online."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 4,
|
"id": 4,
|
||||||
@ -379,13 +419,23 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_tent_temperature_celsius or atlas_climate_temperature_celsius)",
|
"expr": "typhon_temperature_celsius",
|
||||||
"legendFormat": "Temperature (\u00b0C)"
|
"legendFormat": "Temperature (\u00b0C)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_tent_pressure_kpa or atlas_climate_pressure_kpa)",
|
"expr": "typhon_relative_humidity_percent",
|
||||||
"legendFormat": "Pressure (kPa)"
|
"legendFormat": "Humidity (%)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "typhon_vpd_kpa",
|
||||||
|
"legendFormat": "VPD (kPa)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "(243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
@ -396,7 +446,19 @@
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Pressure (kPa)"
|
"options": "Humidity (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
@ -428,7 +490,7 @@
|
|||||||
"mode": "multi"
|
"mode": "multi"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description": "Two-axis chart: tent temperature (left axis) and tent pressure in kPa (right axis)."
|
"description": "Two-axis chart: tent temperature/humidity/dew point (left axis) and tent VPD in kPa (right axis)."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 5,
|
"id": 5,
|
||||||
@ -447,25 +509,25 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outlet\"}) or max(atlas_climate_fan_activity_level{position=\"outlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Outlet",
|
"legendFormat": "Inside Outlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"inside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Inlet",
|
"legendFormat": "Inside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"outside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Outside Inlet",
|
"legendFormat": "Outside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"interior\"}) or max(atlas_climate_fan_activity_level{position=\"interior\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"interior\"}) or on() vector(0))",
|
||||||
"legendFormat": "Interior Fans",
|
"legendFormat": "Interior Fans",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
@ -512,7 +574,9 @@
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"description": "Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans."
|
"description": "Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans."
|
||||||
},
|
},
|
||||||
@ -533,22 +597,22 @@
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outlet\"} or atlas_climate_fan_activity_level{position=\"outlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||||
"legendFormat": "Inside Outlet"
|
"legendFormat": "Inside Outlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"} or atlas_climate_fan_activity_level{position=\"inside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||||
"legendFormat": "Inside Inlet"
|
"legendFormat": "Inside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"} or atlas_climate_fan_activity_level{position=\"outside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||||
"legendFormat": "Outside Inlet"
|
"legendFormat": "Outside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"interior\"} or atlas_climate_fan_activity_level{position=\"interior\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"interior\"}",
|
||||||
"legendFormat": "Interior Fans"
|
"legendFormat": "Interior Fans"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -1290,7 +1290,9 @@ data:
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
@ -1372,14 +1374,26 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "max(atlas_climate_tent_temperature_celsius) or max(atlas_climate_temperature_celsius) or on() vector(0)",
|
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||||
"legendFormat": "Tent Temp (\u00b0C)",
|
"legendFormat": "Tent Temp (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "max(atlas_climate_tent_pressure_kpa) or max(atlas_climate_pressure_kpa) or on() vector(0)",
|
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||||
"legendFormat": "Tent Pressure (kPa)",
|
"legendFormat": "Tent VPD (kPa)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||||
|
"legendFormat": "Tent RH (%)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "max((243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))) or on() vector(0)",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -1424,7 +1438,7 @@ data:
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Tent Pressure (kPa)"
|
"options": "Tent VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
@ -1432,6 +1446,30 @@ data:
|
|||||||
"value": "suffix:kPa"
|
"value": "suffix:kPa"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Tent RH (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Dew Point (\u00b0C)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "celsius"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -1447,8 +1485,8 @@ data:
|
|||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "value",
|
"textMode": "value",
|
||||||
"orientation": "vertical",
|
"orientation": "horizontal",
|
||||||
"wideLayout": false
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
@ -1457,7 +1495,7 @@ data:
|
|||||||
"targetBlank": true
|
"targetBlank": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Current tent temperature and pressure."
|
"description": "Current tent temperature, humidity, VPD, and dew point."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 43,
|
"id": 43,
|
||||||
@ -1476,13 +1514,23 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_tent_temperature_celsius or atlas_climate_temperature_celsius)",
|
"expr": "typhon_temperature_celsius",
|
||||||
"legendFormat": "Temperature (\u00b0C)"
|
"legendFormat": "Temperature (\u00b0C)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_tent_pressure_kpa or atlas_climate_pressure_kpa)",
|
"expr": "typhon_relative_humidity_percent",
|
||||||
"legendFormat": "Pressure (kPa)"
|
"legendFormat": "Humidity (%)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "typhon_vpd_kpa",
|
||||||
|
"legendFormat": "VPD (kPa)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "(243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
@ -1493,7 +1541,19 @@ data:
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Pressure (kPa)"
|
"options": "Humidity (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
@ -1531,7 +1591,8 @@ data:
|
|||||||
"url": "/d/atlas-power",
|
"url": "/d/atlas-power",
|
||||||
"targetBlank": true
|
"targetBlank": true
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"description": "Two-axis chart: tent temperature/humidity/dew point (left axis) and VPD in kPa (right axis)."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 140,
|
"id": 140,
|
||||||
@ -1550,25 +1611,25 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outlet\"}) or max(atlas_climate_fan_activity_level{position=\"outlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Outlet",
|
"legendFormat": "Inside Outlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"inside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Inlet",
|
"legendFormat": "Inside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"outside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Outside Inlet",
|
"legendFormat": "Outside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"interior\"}) or max(atlas_climate_fan_activity_level{position=\"interior\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"interior\"}) or on() vector(0))",
|
||||||
"legendFormat": "Interior Fans",
|
"legendFormat": "Interior Fans",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
@ -1615,7 +1676,9 @@ data:
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"links": [
|
"links": [
|
||||||
{
|
{
|
||||||
@ -1642,22 +1705,22 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outlet\"} or atlas_climate_fan_activity_level{position=\"outlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||||
"legendFormat": "Inside Outlet"
|
"legendFormat": "Inside Outlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"} or atlas_climate_fan_activity_level{position=\"inside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||||
"legendFormat": "Inside Inlet"
|
"legendFormat": "Inside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"} or atlas_climate_fan_activity_level{position=\"outside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||||
"legendFormat": "Outside Inlet"
|
"legendFormat": "Outside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"interior\"} or atlas_climate_fan_activity_level{position=\"interior\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"interior\"}",
|
||||||
"legendFormat": "Interior Fans"
|
"legendFormat": "Interior Fans"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -224,7 +224,9 @@ data:
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"description": "Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status."
|
"description": "Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status."
|
||||||
},
|
},
|
||||||
@ -293,14 +295,26 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "max(atlas_climate_tent_temperature_celsius) or max(atlas_climate_temperature_celsius) or on() vector(0)",
|
"expr": "max(typhon_temperature_celsius) or on() vector(0)",
|
||||||
"legendFormat": "Tent Temp (\u00b0C)",
|
"legendFormat": "Tent Temp (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "max(atlas_climate_tent_pressure_kpa) or max(atlas_climate_pressure_kpa) or on() vector(0)",
|
"expr": "max(typhon_vpd_kpa) or on() vector(0)",
|
||||||
"legendFormat": "Tent Pressure (kPa)",
|
"legendFormat": "Tent VPD (kPa)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "max(typhon_relative_humidity_percent) or on() vector(0)",
|
||||||
|
"legendFormat": "Tent RH (%)",
|
||||||
|
"instant": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "max((243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))) or on() vector(0)",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -345,12 +359,36 @@ data:
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Tent Pressure (kPa)"
|
"options": "Tent VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
"id": "unit",
|
"id": "unit",
|
||||||
"value": "none"
|
"value": "suffix:kPa"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Tent RH (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "Dew Point (\u00b0C)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "celsius"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -367,9 +405,11 @@ data:
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"description": "Current tent temperature and air pressure. These render once climate telemetry is online."
|
"description": "Current tent temperature, humidity, VPD, and dew point. These render once Typhon climate telemetry is online."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 4,
|
"id": 4,
|
||||||
@ -388,13 +428,23 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_tent_temperature_celsius or atlas_climate_temperature_celsius)",
|
"expr": "typhon_temperature_celsius",
|
||||||
"legendFormat": "Temperature (\u00b0C)"
|
"legendFormat": "Temperature (\u00b0C)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_tent_pressure_kpa or atlas_climate_pressure_kpa)",
|
"expr": "typhon_relative_humidity_percent",
|
||||||
"legendFormat": "Pressure (kPa)"
|
"legendFormat": "Humidity (%)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "C",
|
||||||
|
"expr": "typhon_vpd_kpa",
|
||||||
|
"legendFormat": "VPD (kPa)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"refId": "D",
|
||||||
|
"expr": "(243.12 * (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius))) / (17.62 - (ln(clamp_min(typhon_relative_humidity_percent, 1) / 100) + (17.62 * typhon_temperature_celsius) / (243.12 + typhon_temperature_celsius)))",
|
||||||
|
"legendFormat": "Dew Point (\u00b0C)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
@ -405,7 +455,19 @@ data:
|
|||||||
{
|
{
|
||||||
"matcher": {
|
"matcher": {
|
||||||
"id": "byName",
|
"id": "byName",
|
||||||
"options": "Pressure (kPa)"
|
"options": "Humidity (%)"
|
||||||
|
},
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"id": "unit",
|
||||||
|
"value": "percent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": {
|
||||||
|
"id": "byName",
|
||||||
|
"options": "VPD (kPa)"
|
||||||
},
|
},
|
||||||
"properties": [
|
"properties": [
|
||||||
{
|
{
|
||||||
@ -437,7 +499,7 @@ data:
|
|||||||
"mode": "multi"
|
"mode": "multi"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description": "Two-axis chart: tent temperature (left axis) and tent pressure in kPa (right axis)."
|
"description": "Two-axis chart: tent temperature/humidity/dew point (left axis) and tent VPD in kPa (right axis)."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 5,
|
"id": 5,
|
||||||
@ -456,25 +518,25 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outlet\"}) or max(atlas_climate_fan_activity_level{position=\"outlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Outlet",
|
"legendFormat": "Inside Outlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"inside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Inside Inlet",
|
"legendFormat": "Inside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"}) or max(atlas_climate_fan_activity_level{position=\"outside_inlet\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
|
||||||
"legendFormat": "Outside Inlet",
|
"legendFormat": "Outside Inlet",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "round(max(atlas_climate_fan_activity_level{fan_group=\"interior\"}) or max(atlas_climate_fan_activity_level{position=\"interior\"}) or on() vector(0))",
|
"expr": "round(max(typhon_fan_speed_level{fan_group=\"interior\"}) or on() vector(0))",
|
||||||
"legendFormat": "Interior Fans",
|
"legendFormat": "Interior Fans",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
@ -521,7 +583,9 @@ data:
|
|||||||
"fields": "",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"textMode": "name_and_value"
|
"textMode": "name_and_value",
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"wideLayout": true
|
||||||
},
|
},
|
||||||
"description": "Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans."
|
"description": "Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans."
|
||||||
},
|
},
|
||||||
@ -542,22 +606,22 @@ data:
|
|||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outlet\"} or atlas_climate_fan_activity_level{position=\"outlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outlet\"}",
|
||||||
"legendFormat": "Inside Outlet"
|
"legendFormat": "Inside Outlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "B",
|
"refId": "B",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"inside_inlet\"} or atlas_climate_fan_activity_level{position=\"inside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"inside_inlet\"}",
|
||||||
"legendFormat": "Inside Inlet"
|
"legendFormat": "Inside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "C",
|
"refId": "C",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"outside_inlet\"} or atlas_climate_fan_activity_level{position=\"outside_inlet\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"outside_inlet\"}",
|
||||||
"legendFormat": "Outside Inlet"
|
"legendFormat": "Outside Inlet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"refId": "D",
|
"refId": "D",
|
||||||
"expr": "(atlas_climate_fan_activity_level{fan_group=\"interior\"} or atlas_climate_fan_activity_level{position=\"interior\"})",
|
"expr": "typhon_fan_speed_level{fan_group=\"interior\"}",
|
||||||
"legendFormat": "Interior Fans"
|
"legendFormat": "Interior Fans"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user