diff --git a/lib/towerops_web/live/equipment_live/show.ex b/lib/towerops_web/live/equipment_live/show.ex
index f76d4087..9d41cdd0 100644
--- a/lib/towerops_web/live/equipment_live/show.ex
+++ b/lib/towerops_web/live/equipment_live/show.ex
@@ -55,8 +55,12 @@ defmodule ToweropsWeb.EquipmentLive.Show do
cpu_chart_data = load_sensor_chart_data(equipment_id, ["cpu_load"])
memory_chart_data = load_sensor_chart_data(equipment_id, ["memory_usage"])
storage_chart_data = load_sensor_chart_data(equipment_id, ["disk_usage"])
- temperature_chart_data = load_sensor_chart_data(equipment_id, ["temperature", "cpu_temperature", "celsius"])
- voltage_chart_data = load_sensor_chart_data(equipment_id, ["voltage", "volts"])
+
+ # Filter sensors by type for temperature and voltage
+ temperature_sensors =
+ Enum.filter(snmp_data.sensors, &(&1.sensor_type in ["temperature", "cpu_temperature", "celsius"]))
+
+ voltage_sensors = Enum.filter(snmp_data.sensors, &(&1.sensor_type in ["voltage", "volts"]))
# Calculate metrics for dashboard
metrics = calculate_metrics(recent_checks, equipment)
@@ -73,8 +77,8 @@ defmodule ToweropsWeb.EquipmentLive.Show do
|> assign(:cpu_chart_data, cpu_chart_data)
|> assign(:memory_chart_data, memory_chart_data)
|> assign(:storage_chart_data, storage_chart_data)
- |> assign(:temperature_chart_data, temperature_chart_data)
- |> assign(:voltage_chart_data, voltage_chart_data)
+ |> assign(:temperature_sensors, temperature_sensors)
+ |> assign(:voltage_sensors, voltage_sensors)
end
defp calculate_metrics(checks, _equipment) do
diff --git a/lib/towerops_web/live/equipment_live/show.html.heex b/lib/towerops_web/live/equipment_live/show.html.heex
index 632f1be0..65eb8c5e 100644
--- a/lib/towerops_web/live/equipment_live/show.html.heex
+++ b/lib/towerops_web/live/equipment_live/show.html.heex
@@ -262,100 +262,79 @@
<% end %>
-
- <%= if @temperature_chart_data do %>
-
- <.link
- navigate={
- ~p"/orgs/#{@current_organization.slug}/equipment/#{@equipment.id}/graph/temperature"
- }
- class="block px-4 py-3 border-b border-zinc-200 dark:border-zinc-700 hover:bg-zinc-50 dark:hover:bg-zinc-750 transition-colors"
- >
-
-
- Temperature (24 Hours)
-
- <.icon name="hero-arrow-right" class="h-4 w-4 text-zinc-400" />
-
-
-
-
- <% end %>
-
- <%= if @voltage_chart_data do %>
-
- <.link
- navigate={
- ~p"/orgs/#{@current_organization.slug}/equipment/#{@equipment.id}/graph/voltage"
- }
- class="block px-4 py-3 border-b border-zinc-200 dark:border-zinc-700 hover:bg-zinc-50 dark:hover:bg-zinc-750 transition-colors"
- >
-
-
- Voltage (24 Hours)
-
- <.icon name="hero-arrow-right" class="h-4 w-4 text-zinc-400" />
-
-
-
-
- <% end %>
-
- <%= if @snmp_sensors && length(@snmp_sensors) > 0 do %>
+
+ <%= if @temperature_sensors && length(@temperature_sensors) > 0 do %>
-
Sensors
+
+ Temperature
+
-
- <%= for sensor <- @snmp_sensors do %>
-
-
- {sensor.sensor_descr}
-
- <%= if sensor.latest_reading do %>
-
-
- {format_sensor_value(
- sensor.latest_reading.value,
- sensor.sensor_divisor
- )}
-
-
- {sensor.sensor_unit}
-
-
- <% else %>
-
No data
- <% end %>
+
+ <%= for sensor <- @temperature_sensors do %>
+
+
-
+ <.link
+ navigate={
+ ~p"/orgs/#{@current_organization.slug}/equipment/#{@equipment.id}/graph/temperature"
+ }
+ class="hover:text-blue-600 dark:hover:text-blue-400 hover:underline"
+ >
+ {sensor.sensor_descr}
+
+
+ -
+ <%= if sensor.latest_reading do %>
+ {format_sensor_value(
+ sensor.latest_reading.value,
+ sensor.sensor_divisor
+ )}
+ {sensor.sensor_unit}
+ <% else %>
+ N/A
+ <% end %>
+
<% end %>
-
+
+
+
+ <% end %>
+
+ <%= if @voltage_sensors && length(@voltage_sensors) > 0 do %>
+
+
+
Voltage
+
+
+
+ <%= for sensor <- @voltage_sensors do %>
+
+
-
+ <.link
+ navigate={
+ ~p"/orgs/#{@current_organization.slug}/equipment/#{@equipment.id}/graph/voltage"
+ }
+ class="hover:text-blue-600 dark:hover:text-blue-400 hover:underline"
+ >
+ {sensor.sensor_descr}
+
+
+ -
+ <%= if sensor.latest_reading do %>
+ {format_sensor_value(
+ sensor.latest_reading.value,
+ sensor.sensor_divisor
+ )}
+ {sensor.sensor_unit}
+ <% else %>
+ N/A
+ <% end %>
+
+
+ <% end %>
+
<% end %>