Browse Source

Add RSSI filter to BLE tab

Allows filtering events by minimum RSSI value to find nearby beacons

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
root 2 weeks ago
parent
commit
5c631df705
1 changed files with 3 additions and 0 deletions
  1. 3 0
      dashboard/src/components/BLETab.vue

+ 3 - 0
dashboard/src/components/BLETab.vue

@@ -12,6 +12,7 @@
       <input v-model="filterMajor" type="text" placeholder="Major..." class="filter-input small" />
       <input v-model="filterMajor" type="text" placeholder="Major..." class="filter-input small" />
       <input v-model="filterMinor" type="text" placeholder="Minor..." class="filter-input small" />
       <input v-model="filterMinor" type="text" placeholder="Minor..." class="filter-input small" />
       <input v-model="filterUuid" type="text" placeholder="UUID..." class="filter-input" />
       <input v-model="filterUuid" type="text" placeholder="UUID..." class="filter-input" />
+      <input v-model="filterRssi" type="number" placeholder="RSSI >=" class="filter-input small" />
       <span class="count">{{ filteredEvents.length }} events</span>
       <span class="count">{{ filteredEvents.length }} events</span>
     </div>
     </div>
 
 
@@ -74,6 +75,7 @@ const filterType = ref('')
 const filterMajor = ref('')
 const filterMajor = ref('')
 const filterMinor = ref('')
 const filterMinor = ref('')
 const filterUuid = ref('')
 const filterUuid = ref('')
+const filterRssi = ref('')
 
 
 const filteredEvents = computed(() => {
 const filteredEvents = computed(() => {
   return (props.events || []).filter(e => {
   return (props.events || []).filter(e => {
@@ -86,6 +88,7 @@ const filteredEvents = computed(() => {
     if (filterMajor.value && String(e.major) !== filterMajor.value) return false
     if (filterMajor.value && String(e.major) !== filterMajor.value) return false
     if (filterMinor.value && String(e.minor) !== filterMinor.value) return false
     if (filterMinor.value && String(e.minor) !== filterMinor.value) return false
     if (filterUuid.value && !e.uuid?.toLowerCase().includes(filterUuid.value.toLowerCase().replace(/-/g, ''))) return false
     if (filterUuid.value && !e.uuid?.toLowerCase().includes(filterUuid.value.toLowerCase().replace(/-/g, ''))) return false
+    if (filterRssi.value !== '' && e.rssi < Number(filterRssi.value)) return false
     return true
     return true
   })
   })
 })
 })