6945ece853
## Summary Added real-world testing infrastructure with 11 actual Flipper Zero community captures. Results reveal **CRITICAL GAP**: 0% accuracy on real captures vs 33% on synthetic signals. ## What Was Added ### Test Infrastructure - **tests/real_captures/** - 11 real .sub files from UberGuidoZ/Flipper repository - 3 weather sensors (LaCrosse, Acurite, Nexus) - 2 garage doors (LiftMaster 433MHz, Security+ 2.0) - 2 doorbells (GE, Byron) - 1 LED remote - 3 ceiling fan controls - **tests/real_captures/manifest.json** - Test case metadata with expected protocols - **scripts/benchmark_real.py** - Real-world benchmark runner - Loads manifest.json - Runs identification on each capture - Generates REAL_TEST_RESULTS.md - Compares with synthetic results ### Documentation - **REAL_TEST_RESULTS.md** - Benchmark results (0% accuracy) - **docs/REAL_CAPTURE_ANALYSIS.md** - Comprehensive gap analysis ## Results ### Performance Comparison | Metric | Synthetic | Real-World | Delta | |--------|-----------|------------|-------| | Top-1 Accuracy | 33.3% | **0.0%** | **-33.3%** | | Top-3 Accuracy | 50.0% | **0.0%** | **-50.0%** | | High Confidence | 66.7% | 9.1% | -57.6% | | No Matches | 8.3% | **45.5%** | +37.2% | ### Root Causes Identified 1. **Decoded File Format (45% of failures)** - CRITICAL - 5/11 files are already decoded (Protocol: Holtek_HT12X), not RAW - Our system ONLY processes RAW_Data - All ceiling fan and LED remote files fail immediately - **Fix**: Add support for parsed decode .sub file format 2. **Missing Protocols (27% of failures)** - Acurite 02077M not in database (we have 609TXC) - GE Doorbell 19297 not in database - Byron DB421E not in database - LiftMaster not in database - **Fix**: Add these protocols from real captures 3. **Real Signal Complexity (27% of failures)** - LaCrosse real capture: 131 pulses (multi-packet) - Synthetic LaCrosse: 40 bits (single packet) - Real signals have noise, jitter, interference - **Fix**: Packet segmentation, higher noise tolerance 4. **Protocol Family Competition (9% of failures)** - Nexus found at rank 34 (beaten by Oregon Scientific) - Similar protocols competing instead of grouping - **Fix**: Protocol family scoring ## Key Insights ### Why Synthetic Worked (33% accuracy): - Perfect timing with controlled 5-15% jitter - Single packet per file - All RAW format - Known protocol parameters ### Why Real Failed (0% accuracy): - 45% already decoded (not RAW) - 27% missing from database - Variable signal quality - Multi-packet transmissions - Real-world interference **Conclusion**: System was optimized for unrealistic synthetic signals. ## Recommendations (Priority Order) 1. **P1 - Support Decoded Files** (+45% accuracy) - Parse Protocol, Bit, Key, TE fields - Match by protocol name + timing element - Skip RAW analysis for decoded files 2. **P2 - Add Missing Protocols** (+27% accuracy) - Import Acurite 02077M, GE/Byron doorbells, LiftMaster, Holtek HT12X - Source from real captures or RTL_433 updates 3. **P3 - Improve Robustness** (+18% accuracy) - Packet segmentation for multi-transmission captures - Increase jitter tolerance to 25% - Repetition detection 4. **P4 - Family Grouping** (+9% accuracy) - Group similar protocols (Nexus/Oregon/Acurite) - Boost exact name matches **Expected Final Accuracy**: 60-70% after P1+P2 implementation. ## Files Changed - tests/real_captures/*.sub (11 files, 192KB) - tests/real_captures/manifest.json (11 test cases) - scripts/benchmark_real.py (370 lines) - REAL_TEST_RESULTS.md (benchmark results) - docs/REAL_CAPTURE_ANALYSIS.md (comprehensive analysis) 🎯 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.7 KiB
4.7 KiB
RF Device Identification - Real-World Benchmark Results
Date: 1771207572.2499428 Total Tests: 11 Source: Real Flipper Zero community captures
Overall Metrics
Top-K Accuracy
- Top-1: 0.0%
- Top-3: 0.0%
- Top-5: 0.0%
Confidence Distribution
- High (>80%): 1 (9.1%)
- Medium (50-80%): 4 (36.4%)
- Low (<50%): 1 (9.1%)
- None found: 5 (45.5%)
Performance
- Avg Parse Time: 0.28 ms
- Avg Match Time: 128.19 ms
- Total: 128.46 ms
By Category
| Category | Tests | Top-1 Acc | Top-3 Acc |
|---|---|---|---|
| doorbell | 2 | 0.0% | 0.0% |
| fan_controller | 3 | 0.0% | 0.0% |
| garage_door | 2 | 0.0% | 0.0% |
| led_controller | 1 | 0.0% | 0.0% |
| weather_sensor | 3 | 0.0% | 0.0% |
Detailed Results
✗ lacrosse_tx141_real.sub
- Expected: LaCrosse TX141-BV2
- Category: weather_sensor
- Got: Schou 72543 Day Rain Gauge, Motonet MTX Rain, MarQuant Rain Gauge, TFA Dostmann 30.3252.01/47.3006.01 Rain Gauge and Thermometer, ADE WS1907 (confidence: 69.1%)
- Rank: Not Found
Top 5 Matches:
- Schou 72543 Day Rain Gauge, Motonet MTX Rain, MarQuant Rain Gauge, TFA Dostmann 30.3252.01/47.3006.01 Rain Gauge and Thermometer, ADE WS1907 (69.1%)
- Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor, ORIA WA50 ST389 temperature sensor (68.6%)
- WEC-2103 temperature/humidity sensor (68.6%)
- ThermoPro TX-2C Thermometer and Humidity sensor (68.0%)
- Biltema rain gauge (67.7%)
✗ acurite_02077m_real.sub
- Expected: Acurite 02077M
- Category: weather_sensor
- Got: LaCrosse Technology View LTV-R1, LTV-R3 Rainfall Gauge, LTV-W1/W2 Wind Sensor (confidence: 76.5%)
- Rank: Not Found
Top 5 Matches:
- LaCrosse Technology View LTV-R1, LTV-R3 Rainfall Gauge, LTV-W1/W2 Wind Sensor (76.5%)
- LaCrosse Technology View LTV-TH Thermo/Hygro Sensor (76.5%)
- LaCrosse TX35DTH-IT, TFA Dostmann 30.3155 Temperature/Humidity sensor (76.4%)
- TFA Marbella Pool Thermometer (76.4%)
- ThermoPro TP28b Super Long Range Wireless Meat Thermometer for Smoker BBQ Grill (76.4%)
✗ nexus_th_real.sub
- Expected: Nexus Temperature-Humidity
- Category: weather_sensor
- Got: Oregon Scientific Weather Sensor (confidence: 76.9%)
- Rank: 34
Top 5 Matches:
- Oregon Scientific Weather Sensor (76.9%)
- Oregon Scientific v3.0 (75.9%)
- Oregon Scientific v2.1 (74.2%)
- Ambient Weather F007TH (63.5%)
- Digitech XC-0324 / AmbientWeather FT005TH temp/hum sensor (58.4%)
✗ liftmaster_433_real.sub
- Expected: LiftMaster
- Category: garage_door
- Got: AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon) (confidence: 49.4%)
- Rank: Not Found
Top 5 Matches:
- AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon) (49.4%)
- Oregon Scientific SL109H Remote Thermal Hygro Sensor (49.4%)
- Philips outdoor temperature sensor (type AJ3650) (43.0%)
- Philips outdoor temperature sensor (type AJ7010) (43.0%)
- Globaltronics GT-WT-02 Sensor (39.5%)
✗ liftmaster_security2_raw_real.sub
- Expected: LiftMaster Security+ 2.0
- Category: garage_door
- Got: No matches (confidence: 0.0%)
- Rank: Not Found
✗ ge_doorbell_real.sub
- Expected: GE Doorbell
- Category: doorbell
- Got: Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor, ORIA WA50 ST389 temperature sensor (confidence: 76.9%)
- Rank: Not Found
Top 5 Matches:
- Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor, ORIA WA50 ST389 temperature sensor (76.9%)
- WEC-2103 temperature/humidity sensor (76.9%)
- ThermoPro TX-2C Thermometer and Humidity sensor (76.3%)
- Biltema rain gauge (75.8%)
- FT-004-B Temperature Sensor (75.7%)
✗ byron_doorbell_real.sub
- Expected: Byron Doorbell
- Category: doorbell
- Got: Princeton (confidence: 92.9%)
- Rank: Not Found
Top 5 Matches:
- Princeton (92.9%)
- Generic Remote SC226x EV1527 (84.1%)
- Elro DB286A Doorbell (83.2%)
- Blyss DC5-UK-WH (82.7%)
- Acurite 590TX Temperature with optional Humidity (82.7%)
✗ rgb_led_remote_real.sub
- Expected: RGB LED Remote
- Category: led_controller
- Got: No matches (confidence: 0.0%)
- Rank: Not Found
✗ ceiling_fan_real.sub
- Expected: Ceiling Fan Remote
- Category: fan_controller
- Got: No matches (confidence: 0.0%)
- Rank: Not Found
✗ ceiling_fan2_real.sub
- Expected: Ceiling Fan Remote
- Category: fan_controller
- Got: No matches (confidence: 0.0%)
- Rank: Not Found
✗ ceiling_fan_light_real.sub
- Expected: Ceiling Fan Light
- Category: fan_controller
- Got: No matches (confidence: 0.0%)
- Rank: Not Found