What is this?
This app integrates your Reachy Mini robot with Home Assistant. Speak to Reachy Mini, and it will control your smart home devices through Home Assistant's voice commands. Reachy Mini provides visual feedback with head movements and antenna animations while listening and responding.
Installation
Install from Reachy Mini Dashboard:
Open Reachy Mini Dashboard
Navigate to the Applications section in your browser
Show Community Apps
Check the "Show community apps" checkbox to see third-party applications
Find and Install
Search for "Reachy Mini for Home Assistant" and click Install
Connect to Home Assistant
The app will be automatically discovered by Home Assistant via mDNS
Features
🎤 Voice & Tap Wake
Say "Okay Nabu" or tap Reachy Mini's head to activate. Multiple wake options for convenience.
🏠 Smart Home Control
Home Assistant processes your voice commands and controls your smart home devices automatically.
👀 Face Tracking
YOLO-based face detection enables Reachy Mini to look at you during conversations for natural interaction.
😊 Facial Expressions
Automatic emotional feedback with head movements and antenna animations while listening and responding.
📹 Camera Streaming
MJPEG video stream available in Home Assistant as a Generic Camera for real-time monitoring.
🔊 Sendspin Audio
Multi-room audio support via Sendspin protocol. Sync playback with other speakers in your home.
🎛️ 30+ Control Entities
Complete robot control via Home Assistant: motors, head position, LEDs, emotions, tap sensitivity, and more.
Changelog
- Fix: Prevent concurrent pipelines (only one conversation at a time)
- New: Play prompt sound when ready for next input in continuous conversation
- Fix: Wait for RUN_END event before starting new conversation
- Fix: Prevents APIConnectionError during continuous conversation
- Fix: Continuous conversation now uses conversation_id for context tracking
- Fix: Conversation state properly cleared when conversation ends
- Improve: conversation_id reused within 5-minute timeout (same as ESPHome)
- Fix: Home Assistant pose control restored (head, antennas, body yaw)
- Fix: Continuous conversation (tap-to-wake) now properly continues after TTS
- Fix: Emotion mapping updated to use available robot emotions
- New: 50+ emotions available in Home Assistant emotion selector
- Rename: Project renamed to "Reachy Mini for Home Assistant"
- Fix: Sendspin now connects to music_player (fixes music not resuming after voice conversation)
- Fix: tap_sensitivity persistence - saved to preferences.json and restored on startup
- Fix: Audio conflict prevention - Sendspin pauses during voice assistant wakeup
- Fix: AttributeError for _camera_server in satellite.py
- Fix: tap_sensitivity default changed from 2.0g to 0.5g
- Optimize: ReSpeaker 16kHz prioritized in Sendspin supported formats
- Face tracking offset compensation (pitch +9°, yaw -7°)
- Adaptive face tracking: high freq (15fps) during conversation, low freq (3fps) when idle
- Auto switch to low-power mode after 10s without face detection
- Optimized shutdown mechanism (reduced timeout from ~7s to ~2s)
- Sendspin multi-room audio integration (PLAYER role)
- Audio resampling for Sendspin (44.1/48kHz → 16kHz)
- Pose composition using SDK's compose_world_offset
- Noise suppression default reduced to 15%
- Fix: Replace non-existent clear_output_buffer with stop_playing
- Daemon stability fixes and microphone optimization
- Face tracking enabled by default
- Tap detection logging improvements
- SDK compose_world_offset for proper pose composition
- Tap sensitivity slider entity for Home Assistant
- Face tracking optimization
- Music Assistant compatibility fixes
- Reduced noise suppression for better mic sensitivity
- Tap-to-wake blocking fixes
- v0.2.21: Fix daemon crash - reduce control loop to 2Hz
- v0.2.18: Fix audio playback - restore wakeup sound
- v0.2.17: Remove head_joints/passive_joints, move error_message to diagnostic
- v0.2.16: Fix TTS playback - pause recording during playback
- v0.2.12: Disable breathing animation to prevent serial port overflow
- v0.2.9: Remove DOA/speech detection - replaced by face tracking
- v0.2.8: Replace DOA with YOLO face tracking
- v0.2.6: Thread-safe ReSpeaker USB access
- v0.2.4: Fix microphone volume control via daemon HTTP API
- v0.2.3: Fix daemon crash from conflicting pose commands
- v0.2.2: Fix second conversation motion failure
- v0.2.1: Fix daemon crash and optimize code
- Automatic facial expressions during conversation
- Emotion playback integration with MovementManager
- Event loop blocking fixes
- SDK compliance refactoring
- Improved shutdown and connection error handling
- v0.1.5: Code optimization and crash fixes
- Reachy Mini 3D visualization card for Home Assistant
- Home Assistant Material Design styling
- Initial release with voice assistant functionality
- Initial project setup
- Basic Home Assistant voice satellite integration
- Reachy Mini SDK integration
- Wake word detection ("Okay Nabu")
- MJPEG camera streaming
- 30+ Home Assistant control entities
Usage
After Installation:
Automatic Discovery (Recommended)
Home Assistant will automatically discover your Reachy Mini via mDNS. A notification will appear - just click to add.
Manual Setup (if needed)
Settings → Devices & Services → Add Integration → ESPHome → Enter Reachy Mini IP:6053
Start Using
Say "Okay Nabu" or tap Reachy Mini's head, then speak your command (e.g., "turn on the lights")