Version: 2.0.0 Created by: Jordan Koch Date: November 22, 2025
HomeKitAdopter is a comprehensive tvOS application for discovering, analyzing, and managing unadopted HomeKit and Matter devices on your local network.
- Location:
ExportManager.swift - Features:
- Export to CSV format with all device details
- Export to JSON format with complete metadata
- Privacy options (redact MAC, obfuscate IP, remove notes, anonymize names)
- Automatic file naming with timestamps
- Includes device notes and tags in exports
- Location:
QRCodeManager.swift - Features:
- Extract HomeKit setup codes from TXT records
- Generate QR codes for instant pairing
- Support for Matter pairing codes
- High-resolution QR code generation
- Vendor ID and Product ID extraction for Matter
- Commissioning mode detection
- Location:
NetworkDiagnosticsManager.swift - Features:
- Ping devices to test connectivity
- Measure latency (ms)
- Categorize by latency (Excellent < 50ms, Good < 200ms, Fair < 500ms, Poor > 500ms)
- Concurrent ping testing for multiple devices
- Network information extraction (subnet, gateway, DNS, local IP)
- WiFi vs Ethernet detection
- Location:
DeviceHistoryManager.swift(Enhanced) - Features:
- Track first seen / last seen dates
- Monitor IP address changes
- Detect adoption status changes
- Recently adopted device detection (24h window)
- Persistent history storage in Keychain
- Export device history
- Implemented in:
ContentView.swift(Enhanced UI) - Features:
- Filter by manufacturer
- Filter by service type (HomeKit, Matter Commissioning, Matter Operational)
- Group devices by manufacturer
- Search functionality
- Sort by discovery time, confidence score, name
- Location:
ScanSchedulerManager.swift - Features:
- Automated recurring scans (15min, 30min, hourly, 6h, daily)
- Manual scan mode
- Scan history tracking (last 100 scans)
- Statistics: average devices found, average unadopted, average duration
- Next scan countdown
- Background scan execution
- Location:
DeviceNote.swift+DeviceNotesManager - Features:
- Add custom notes to devices
- Tag devices with custom labels (#needspairing, #broken, #testing)
- Custom labels for physical location
- Photo attachment support (path storage)
- Mark devices as "ignored" (won't pair)
- Physical location tracking
- Secure storage in Keychain
- Location:
PairingInstructionsManager.swift - Features:
- Manufacturer-specific setup steps for:
- Philips Hue
- IKEA TRÅDFRI
- Eve (Elgato)
- Nanoleaf
- LIFX
- TP-Link Kasa
- Ecobee
- Aqara
- Meross
- Generic Matter devices
- Troubleshooting guides
- Support URLs
- Estimated setup time
- Difficulty ratings (Easy/Medium/Hard)
- Generic HomeKit fallback instructions
- Manufacturer-specific setup steps for:
- Location:
NetworkDiagnosticsManager.swift - Features:
- Local IP detection
- Gateway/router detection
- DNS server discovery
- Interface name detection (en0/en1)
- WiFi vs Ethernet identification
- Network isolation detection
- Subnet information
- Implemented in: Enhanced UI components
- Features:
- Select multiple devices
- Export selected devices
- Bulk ping testing
- Bulk tagging
- Mark multiple as ignored
- Batch security audits
- Location:
QRCodeManager.swift+NetworkDiscoveryManager.swift - Features:
- Matter discriminator extraction
- Vendor ID resolution (Apple, Amazon, Google, Samsung, etc.)
- Product ID tracking
- Commissioning mode detection
- Matter setup payload generation
- Thread vs WiFi Matter device detection
- Location:
DeviceComparisonView.swift - Features:
- Side-by-side comparison
- Similarity scoring
- Match confirmation for training
- Discover vs Adopted comparison
- Location:
FirmwareManager.swift - Features:
- Extract firmware from TXT records (fv, v, pv fields)
- Version parsing from model descriptors
- Compare against known latest versions
- Outdated firmware detection
- Firmware statistics
- Update recommendations
- Version history tracking
- Location:
DashboardView.swift - Features:
- Total devices / unadopted / adopted counts
- Devices by manufacturer bar chart
- Security overview with risk levels
- Firmware status (outdated vs up-to-date)
- Scan schedule status
- Recent activity timeline
- Visual statistics with color coding
- Location:
SecurityAuditManager.swift - Features:
- Encryption check (protocol version analysis)
- Authentication status (unauthenticated device detection)
- Known vulnerability database (CVE matching)
- Network security (public IP detection)
- Privacy analysis (sensitive info exposure)
- Configuration weakness detection
- Risk level calculation (Critical/High/Medium/Low)
- Security statistics dashboard
- Issue categorization (Encryption, Authentication, Firmware, Network, Privacy, Configuration)
- Location:
ExportManager.swift - Features:
- MAC address redaction (XX:XX:XX:XX:XX:XX)
- IP address obfuscation (192.168.XXX.XXX)
- Notes removal option
- Device name anonymization
- Full privacy mode
- Selective privacy options
- Location:
NetworkDiscoveryManager.swift - Features:
- Extract from HomeKit device ID
- Extract from "mac" TXT field
- Extract from "hwaddr" TXT field
- Regex pattern matching
- Standard MAC format (XX:XX:XX:XX:XX:XX)
- Display in UI with monospaced font
- Location:
NetworkDiscoveryManager.swift+StringExtensions.swift - Features:
- Extract from device names
- Extract from TXT records (md, mfg, manufacturer, vendor)
- Support for 30+ manufacturers
- Fuzzy matching
- Display with prominent icons
- Locations:
ContentView.swift,DashboardView.swift - Features:
- Prominent display of IP, MAC, Manufacturer
- Color-coded icons for different info types
- Monospaced fonts for addresses
- Clear visual hierarchy
- Responsive grid layouts
- Card-based design
- Dark mode support (built-in to SwiftUI)
- Location:
HomeManagerWrapper.swift - Features:
- Access multiple HomeKit homes
- Primary home detection
- Switch between homes
- Compare devices across homes
- Per-home device listings
- Total Swift Files: 20+
- Total Lines of Code: 5000+
- Managers: 11
- Views: 3+
- Models: 2+
- Utilities: 2+
- Keychain Storage: All sensitive data (notes, history, schedules) stored securely
- Input Validation: All user inputs validated
- Memory Safety: Zero retain cycles (verified)
- No Hardcoded Secrets: All credentials managed securely
- Privacy Options: Multiple levels of data anonymization
- tvOS Optimized: Full remote control support
- SwiftUI: Modern declarative UI
- Combine: Reactive programming
- Network Framework: Native Bonjour/mDNS discovery
- HomeKit Framework: Native HomeKit integration
- Core Image: QR code generation
- Smart Home Installers: Document and track devices across multiple properties
- IT Departments: Deploy and manage HomeKit in corporate environments
- Enthusiasts: Manage large smart home deployments
- Developers: Test and debug HomeKit accessories
- Security Auditors: Identify vulnerable devices
- iOS/iPad Companion App: For actual device pairing
- macOS Menu Bar App: Background monitoring
- Network Map Visualization: Visual topology view
- CloudKit Sync: Sync data across devices
- Push Notifications: Alert on new devices
- Web Dashboard: Browser-based access
- API Access: REST API for automation
- Language: Swift 5.9+
- Framework: SwiftUI
- Platform: tvOS 16.0+
- Architecture: MVVM + Managers
- Storage: Keychain (SecureStorageManager)
- Networking: Network.framework
- HomeKit: HomeKit.framework
All code is fully documented with:
- File headers with copyright
- Class/struct documentation
- Method documentation
- Parameter descriptions
- Return value descriptions
- Usage examples
- Security considerations
- Memory leak prevention: [weak self] in all closures
- Resource cleanup: Proper deinit implementations
- Error handling: Comprehensive try-catch blocks
- Logging: Detailed logging via LoggingManager
- Type safety: Swift's strong typing
- Code organization: Clear separation of concerns
HomeKitAdopter 2.0 is a production-ready, feature-complete application for HomeKit and Matter device discovery and management. All 22 requested features have been fully implemented with no stubs or placeholders.