Add VRS JSON format support for readsb integration #28
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
olemd/skyview!28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/vrs-json-support"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add comprehensive VRS JSON format support for readsb integration, providing a simpler alternative to Beast binary protocol while maintaining full backward compatibility.
Key Features
🔧 VRS JSON Protocol Support
--net-vrs-portoutput📊 Enhanced Aircraft Data
⚙️ Configuration & Integration
"format": "beast"or"format": "vrs"Implementation Details
New Components
internal/vrs/parser.go: VRS JSON message parsing and validationinternal/client/vrs.go: VRS TCP client implementationMultiSourceClientfor mixed-format supportAircraftstruct with additional fields and validity trackingTesting Results
✅ Successfully tested against live VRS JSON stream (svovel:33005)
✅ Verified aircraft data parsing: position, altitude, speed, heading
✅ Confirmed ICAO address extraction and metadata handling
✅ Validated mixed-format operation with existing Beast clients
Configuration Example
Advantages of VRS Format
--net-vrs-intervalDocumentation Updates
Migration Path
Existing deployments remain unchanged. VRS support is opt-in via configuration:
"format": "vrs"to new sources using port 33005--net-vrs-port 33005This enables modern readsb integration while preserving full compatibility with existing dump1090 Beast deployments.
Related Issues
Addresses issue #27: Investigate readsb as improved data source alternative to dump1090
Added comprehensive support for VRS (Virtual Radar Server) JSON format as a simpler alternative to Beast binary protocol, enabling integration with readsb --net-vrs-port output. ## Key Features: - **VRS JSON Parser**: Stream parsing of newline-delimited JSON aircraft data - **VRS Client**: TCP client with automatic reconnection and error recovery - **Mixed Format Support**: Use Beast and VRS sources simultaneously - **Enhanced Aircraft Data**: Added VRS-specific fields (registration, type, operator) - **Position Source Tracking**: Identifies ADS-B, MLAT, TIS-B, and satellite positions ## Implementation: - `internal/vrs/parser.go`: VRS JSON message parsing and validation - `internal/client/vrs.go`: VRS TCP client implementation - Enhanced `MultiSourceClient` to support both Beast and VRS formats - Extended `Aircraft` struct with validity flags and additional metadata - Updated configuration to include `format` field ("beast" or "vrs") ## Testing: - Successfully tested against svovel:33005 VRS JSON stream - Verified aircraft data parsing and position tracking - Confirmed mixed-format operation with existing Beast clients ## Documentation: - Updated README.md with VRS format configuration examples - Enhanced ARCHITECTURE.md with VRS parser documentation - Added data format comparison and configuration guide This enables simpler integration with modern readsb installations while maintaining full backward compatibility with existing Beast deployments. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>