A comprehensive Home Assistant integration for managing Valve Index® Base Stations (V2) and HTC Vive Base Stations (V1) (UNTESTED) through Bluetooth Low Energy (BLE). Control power states, monitor device information, and automate your VR setup with ease.
- Valve Index Base Stations (V2) - Full feature support
- HTC Vive Base Stations (V1) - UNTESTED/WIP, see #4
- Power Control - Turn base stations on/off remotely
- Standby Mode - Energy-efficient standby for V2 base stations
- Power State Monitoring - Real-time status tracking
- Identify Function - Blink LEDs to locate specific base stations
- Automatic Discovery - Zero-configuration setup via Bluetooth discovery
- Config Flow UI - Complete graphical configuration (no YAML required)
- Device Information - Firmware, model, hardware, and manufacturer details
- Multiple Entity Types - Switches, sensors, and buttons for comprehensive control
- YAML Migration - Automatic upgrade from legacy configurations
- Connection Management - Advanced BLE connection pooling and retry logic
- Configurable Timeouts - User-adjustable connection and scan intervals
- Device Registry Integration - Proper Home Assistant device management
- Translation Support - Multi-language interface
- Options Flow - Advanced settings without reconfiguration
- Install HACS - Ensure HACS is installed and configured
- Add Custom Repository:
- Go to HACS → Integrations → ⋮ (menu) → Custom repositories
- Add:
https://github.com/MineTech13/homeassistant-basestation - Category: Integration
- Install Integration - Find "VR Basestation" and click Install
- Restart Home Assistant
- Download the latest release from GitHub Releases
- Extract to
custom_components/basestation/in your Home Assistant config directory - Restart Home Assistant
- Navigate to Settings → Devices & Services
- Look for automatically discovered VR base stations
- Click Configure and follow the setup wizard
- Settings → Devices & Services → Add Integration
- Search for "VR Basestation"
- Enter MAC address and device type
If you need to find your base station MAC addresses manually:
# Using hcitool (Linux)
sudo hcitool lescan
# Look for devices starting with "LHB-" (V2) or "HTC BS" (V1)
# Using bluetoothctl
bluetoothctl
scan on
# Wait for devices to appearAlternative Methods:
- Android: Use "BLE Scanner" or "nrf Connect" app from Play Store
- Windows: Use "Microsoft Bluetooth LE Explorer" from Windows Store
- SteamVR: Check device serial numbers in SteamVR settings
Each base station creates multiple entities for comprehensive control:
- Power Switch - Main on/off control
- Standby Switch (V2 only) - Energy-efficient standby mode
- Firmware Version - Current firmware information
- Model Number - Device model details
- Hardware Version - Hardware revision
- Manufacturer - Device manufacturer
- Channel (V2 only) - Communication channel
- Power State (V2 only) - Detailed power status
- Pair ID (V1 only) - Pair identification
- Identify Button (V2 only) - Blink LED for device identification
Access advanced settings via Settings → Devices & Services → VR Basestation → Configure:
- Device Name - Custom friendly name
- Scan Intervals - Adjust update frequencies
- Connection Timeout - BLE connection timeout
- Sensor Control - Enable/disable specific sensors
- Power State Monitoring - Control detailed state tracking
# Example: Turn on base stations when lights turn on
automation:
- alias: "VR Room Activated"
trigger:
- platform: state
entity_id: light.vr_room
to: "on"
action:
- service: switch.turn_on
target:
entity_id:
- switch.valve_basestation_1
- switch.valve_basestation_2
# Example: Auto-standby after 30 minutes of inactivity
- alias: "VR Auto Standby"
trigger:
- platform: state
entity_id: binary_sensor.vr_room_motion
to: "off"
for: "00:30:00"
action:
- service: switch.turn_on
target:
entity_id:
- switch.valve_basestation_1_standby_mode
- switch.valve_basestation_2_standby_modeCreate groups for easy control:
- Settings → Devices & Services → Helpers
- Create Helper → Group
- Add all base station switches
- Control all base stations with one entity
Base stations not discovered:
- Ensure Bluetooth is enabled and working
- Check base stations are powered and not in sleep mode
- Verify Home Assistant has Bluetooth access
Connection timeouts:
- Increase connection timeout in device options
- Check Bluetooth adapter range and interference
- Ensure base stations aren't in use by SteamVR
The integration automatically migrates old YAML configurations:
- Backup your configuration.yaml
- Install the new integration
- Configure devices through the UI
- Remove old YAML entries after successful migration
Transform your VR setup with smart automations:
- 🌡️ Climate Control - Auto-adjust AC when VR session starts
- 💡 Lighting - Sync base stations with room lighting
- 🏠 Presence Detection - Turn off when leaving home
- 💻 System Integration - Wake PC, start SteamVR, control displays
- ⏰ Scheduled Power - Auto-standby during sleep hours
- 🔋 Energy Management - Smart power saving based on usage patterns
- @MineTech13 - Complete v2.0 architecture, config flow, device abstraction, and feature development
- @Invisi - V2.0 development collaboration and testing
- @jariz - Original basic implementation and BLE communication foundation
- @TCL987 - Early improvements and community contributions
- @Azelphur - Patches and compatibility fixes
- jeroen1602/lighthouse_pm - BLE protocol reference
- Home Assistant Community - Testing, feedback, and feature requests
- BLE Range Limitation - Bluetooth Low Energy has limited range; consider BLE proxies for extended coverage
- Power Management - V2 base stations support multiple power states (On, Standby, Sleep)
- Concurrent Access - Base stations can only be controlled by one application at a time
- Firmware Updates - Update base station firmware through SteamVR for best compatibility
Transform your VR setup into a smart, automated experience with the VR Basestation Integration! 🎮✨