From 9dd21023efeae6feee5d49a3c09e8ce57e4836c2 Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 8 Aug 2025 21:10:55 -0700 Subject: [PATCH] Fix network throughput sensors having duplicate unique IDs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both RX and TX sensors were using 'network' as value_template_path, causing identical unique_ids and only one sensor to be created in HA. Now using distinct paths: network.rx_throughput and network.tx_throughput. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- server/lib/systant/ha_discovery.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/lib/systant/ha_discovery.ex b/server/lib/systant/ha_discovery.ex index 687cac9..f23ff41 100644 --- a/server/lib/systant/ha_discovery.ex +++ b/server/lib/systant/ha_discovery.ex @@ -135,8 +135,8 @@ defmodule Systant.HaDiscovery do {"sensor", "disk_home_usage", build_sensor_config("Home Disk Usage", "#{base_topic}", "disk.disks", "%", "mdi:harddisk", "{{ (value_json.disk.disks | selectattr('mounted_on', 'equalto', '/home') | list | first).use_percent if (value_json.disk.disks | selectattr('mounted_on', 'equalto', '/home') | list) else 0 }}")}, # Network Sensors - Primary interface throughput - {"sensor", "network_rx_throughput", build_sensor_config("Network RX Throughput", "#{base_topic}", "network", "MB/s", "mdi:download-network", "{{ (value_json.network[0].rx_throughput_bps | float / 1024 / 1024) | round(2) if value_json.network and value_json.network|length > 0 else 0 }}")}, - {"sensor", "network_tx_throughput", build_sensor_config("Network TX Throughput", "#{base_topic}", "network", "MB/s", "mdi:upload-network", "{{ (value_json.network[0].tx_throughput_bps | float / 1024 / 1024) | round(2) if value_json.network and value_json.network|length > 0 else 0 }}")}, + {"sensor", "network_rx_throughput", build_sensor_config("Network RX Throughput", "#{base_topic}", "network.rx_throughput", "MB/s", "mdi:download-network", "{{ (value_json.network[0].rx_throughput_bps | float / 1024 / 1024) | round(2) if value_json.network and value_json.network|length > 0 else 0 }}")}, + {"sensor", "network_tx_throughput", build_sensor_config("Network TX Throughput", "#{base_topic}", "network.tx_throughput", "MB/s", "mdi:upload-network", "{{ (value_json.network[0].tx_throughput_bps | float / 1024 / 1024) | round(2) if value_json.network and value_json.network|length > 0 else 0 }}")}, # Binary Sensors for status {"binary_sensor", "system_online", build_binary_sensor_config("System Online", "#{base_topic}", "mdi:server", "connectivity")}