Critical fixes to sensor discovery and display pipeline: - Fix float value rejection: Change is_integer guards to is_number in vendor.ex, dynamic.ex to accept decimal sensor values (temperature, counters, etc.) - Fix scale factor calculation: Rewrite base.ex divisor calculation using pure integer arithmetic to prevent rounding errors - Add missing sensor type support: Current, power, fan, load, and signal quality sensor categories now filtered and assigned in UI - Refactor resolve_snmp_community to reduce cyclomatic complexity Impact: - Sensors with float values (DHCP leases, connection counts, precise temperatures) no longer silently dropped before database - ENTITY-SENSOR-MIB divisors calculated correctly without float errors - UI coverage increased from ~35% to ~60% of discovered sensor types Files modified: - lib/towerops/snmp/profiles/vendors/vendor.ex - lib/towerops/snmp/profiles/dynamic.ex - lib/towerops/snmp/profiles/base.ex - lib/towerops_web/live/device_live/show.ex - lib/towerops/devices.ex Documentation: SENSOR_PIPELINE_FIXES.md |
||
|---|---|---|
| .. | ||
| mix/tasks | ||
| snmpkit | ||
| towerops | ||
| towerops_web | ||
| snmp_lib.ex | ||
| snmp_mgr.ex | ||
| snmpkit.ex | ||
| towerops.ex | ||
| towerops_native.ex | ||
| towerops_web.ex | ||