File size: 8,744 Bytes
60be3de 422425a 60be3de 12ab5fa c5af1a9 422425a 12ab5fa 60be3de 12ab5fa 9a84c9f 12ab5fa 422425a 60be3de 12ab5fa 9a84c9f 3018439 12ab5fa 422425a 699bb01 12ab5fa 422425a fd06a12 12ab5fa 422425a fd06a12 12ab5fa 422425a 19a2af6 12ab5fa 19a2af6 12ab5fa 422425a 9a84c9f 12ab5fa 20e58a2 3018439 12ab5fa 3018439 12ab5fa 422425a 12ab5fa 422425a 12ab5fa 422425a 12ab5fa 422425a 12ab5fa b9abf97 422425a b9abf97 12ab5fa c8977fb 12ab5fa 422425a 12ab5fa 422425a 12ab5fa 9a84c9f 12ab5fa 422425a 9a84c9f fd06a12 12ab5fa fd06a12 12ab5fa 422425a 12ab5fa 422425a 12ab5fa 1434398 12ab5fa 422425a 12ab5fa 60be3de 12ab5fa 60be3de 1434398 422425a 1434398 12ab5fa 7635cbd 12ab5fa 422425a 12ab5fa 422425a 12ab5fa 7635cbd 9a84c9f 7635cbd c53da40 7635cbd 3018439 12ab5fa 3018439 12ab5fa 60be3de 12ab5fa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | <!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Reachy Mini for Home Assistant</title>
<meta name="description" content="Voice assistant integration for Reachy Mini robot with Home Assistant. Control your smart home with voice commands and expressive robot movements.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css" />
</head>
<body>
<header class="hero">
<div class="topline">
<div class="brand">
<span class="logo">π€</span>
<span class="brand-name">Reachy Mini for Home Assistant</span>
</div>
<div class="pill">Voice Β· Gestures Β· Smart Home</div>
</div>
<div class="hero-grid">
<div class="hero-copy">
<p class="eyebrow">Reachy Mini App</p>
<h1>Your robot meets your Home Assistant.</h1>
<p class="lede">
Transform Reachy Mini into a voice-controlled smart home hub. Natural conversations, expressive movements, gesture recognition β all seamlessly connected to Home Assistant.
</p>
<div class="hero-actions">
<a class="btn primary" href="#features">Explore Features</a>
<a class="btn ghost" href="#install">Quick Start</a>
</div>
<div class="hero-badges">
<span>π€ Wake Word</span>
<span>π Face Tracking</span>
<span>π€ 18 Gestures</span>
<span>π Multi-room Audio</span>
<span>β‘ Zero Config</span>
</div>
</div>
<div class="hero-visual">
<div class="glass-card">
<div class="hero-emoji">π€π¬π </div>
<p class="caption">"Hey Reachy, turn on the living room lights"</p>
</div>
</div>
</div>
</header>
<section id="features" class="section features">
<div class="section-header">
<p class="eyebrow">Capabilities</p>
<h2>Everything you need for smart home control</h2>
<p class="intro">45+ Home Assistant entities. Zero configuration. Auto-discovery via mDNS.</p>
</div>
<div class="feature-grid">
<div class="feature-card">
<span class="icon">π€</span>
<h3>Voice Wake</h3>
<p>Local wake word detection with MicroWakeWord and OpenWakeWord. Say "Okay Nabu" or "Hey Reachy" to activate.</p>
</div>
<div class="feature-card">
<span class="icon">π </span>
<h3>Smart Home Control</h3>
<p>Full Home Assistant integration. Control lights, switches, climate, media β anything in your Home Assistant.</p>
</div>
<div class="feature-card">
<span class="icon">π</span>
<h3>Face Tracking</h3>
<p>YOLO-based face detection. Reachy looks at you during conversations with adaptive frame rate optimization.</p>
</div>
<div class="feature-card">
<span class="icon">π€</span>
<h3>Gesture Detection</h3>
<p>HaGRID ONNX models recognize 18 hand gestures: ππβοΈπ€πβπ€π€« and more.</p>
</div>
<div class="feature-card">
<span class="icon">π</span>
<h3>Expressive Motion</h3>
<p>Real-time audio-driven animations. Natural head sway and antenna movements during conversations.</p>
</div>
<div class="feature-card">
<span class="icon">πΉ</span>
<h3>Camera Stream</h3>
<p>MJPEG video stream as ESPHome Camera entity. Real-time monitoring in Home Assistant dashboard.</p>
</div>
<div class="feature-card">
<span class="icon">π</span>
<h3>Multi-room Audio</h3>
<p>Sendspin protocol support. Sync audio playback with other speakers throughout your home.</p>
</div>
<div class="feature-card">
<span class="icon">β‘</span>
<h3>Zero Configuration</h3>
<p>Install and go. mDNS auto-discovery means Home Assistant finds your robot automatically.</p>
</div>
</div>
</section>
<section id="install" class="section story">
<div class="story-grid">
<div class="story-card">
<p class="eyebrow">Installation</p>
<h3>Up and running in 1 minutes</h3>
<ul class="story-list">
<li><span>1οΈβ£</span> Open Reachy Mini Dashboard β Applications</li>
<li><span>2οΈβ£</span> Enable "Show community apps"</li>
<li><span>3οΈβ£</span> Install "Reachy Mini for Home Assistant"</li>
<li><span>4οΈβ£</span> Home Assistant discovers automatically</li>
</ul>
</div>
<div class="story-card secondary">
<p class="eyebrow">How it works</p>
<h3>Seamless integration</h3>
<p class="story-text">
This Reachy Mini app uses ESPHome protocol to communicate with Home Assistant β no ESPHome device needed. Home Assistant discovers it via mDNS and adds all 45+ entities automatically. Voice commands are processed by your Home Assistant instance β STT, intent recognition, and TTS all happen there.
</p>
<div class="chips">
<span class="chip">ESPHome Protocol</span>
<span class="chip">mDNS Discovery</span>
<span class="chip">45+ Entities</span>
<span class="chip">Zero Config</span>
</div>
</div>
</div>
</section>
<section id="changelog" class="section">
<div class="section-header">
<p class="eyebrow">Updates</p>
<h2>Changelog</h2>
</div>
<div id="changelog-grid" class="changelog-grid"></div>
<div class="changelog-more">
<details id="changelog-details">
<summary>View older versions</summary>
<div id="changelog-older" class="changelog-grid older"></div>
</details>
</div>
</section>
<script>
const VISIBLE_COUNT = 6;
fetch('changelog.json')
.then(res => res.json())
.then(data => {
const mainGrid = document.getElementById('changelog-grid');
const olderGrid = document.getElementById('changelog-older');
data.forEach((item, index) => {
const card = document.createElement('div');
card.className = 'changelog-card';
card.innerHTML = `
<div class="version-badge">v${item.version}</div>
<span class="date">${item.date}</span>
<ul>${item.changes.map(c => `<li>${c}</li>`).join('')}</ul>
`;
(index < VISIBLE_COUNT ? mainGrid : olderGrid).appendChild(card);
});
if (data.length <= VISIBLE_COUNT) {
document.getElementById('changelog-details').style.display = 'none';
}
})
.catch(err => console.error('Failed to load changelog:', err));
</script>
<section class="section links">
<div class="section-header">
<p class="eyebrow">Resources</p>
<h2>Links & References</h2>
</div>
<div class="links-grid">
<a href="https://huggingface.co/spaces/djhui5710/reachy_mini_ha_voice/tree/main" target="_blank" class="link-card">
<span class="icon">π¦</span>
<h3>Source Code</h3>
<p>HuggingFace Spaces</p>
</a>
<a href="https://www.pollen-robotics.com/" target="_blank" class="link-card">
<span class="icon">π€</span>
<h3>Pollen Robotics</h3>
<p>Reachy Mini Creator</p>
</a>
<a href="https://www.home-assistant.io/" target="_blank" class="link-card">
<span class="icon">π </span>
<h3>Home Assistant</h3>
<p>Smart Home Platform</p>
</a>
<a href="https://esphome.io/" target="_blank" class="link-card">
<span class="icon">β‘</span>
<h3>ESPHome Protocol</h3>
<p>Communication Protocol</p>
</a>
<a href="https://github.com/OHF-Voice/linux-voice-assistant" target="_blank" class="link-card">
<span class="icon">π€</span>
<h3>linux-voice-assistant</h3>
<p>Voice Assistant Base</p>
</a>
<a href="https://github.com/kahrendt/microWakeWord" target="_blank" class="link-card">
<span class="icon">π</span>
<h3>microWakeWord</h3>
<p>Wake Word Detection</p>
</a>
<a href="https://huggingface.co/AdamCodd/YOLOv11n-face-detection" target="_blank" class="link-card">
<span class="icon">π</span>
<h3>YOLOv11n-face</h3>
<p>Face Detection Model</p>
</a>
<a href="https://github.com/ai-forever/dynamic_gestures" target="_blank" class="link-card">
<span class="icon">β</span>
<h3>Dynamic Gestures</h3>
<p>ONNX Models</p>
</a>
<a href="https://github.com/Sendspin/sendspin-cli" target="_blank" class="link-card">
<span class="icon">π</span>
<h3>Sendspin</h3>
<p>Multi-room Audio</p>
</a>
<a href="https://huggingface.co/spaces/pollen-robotics/reachy-mini-landing-page#apps" target="_blank" class="link-card">
<span class="icon">π</span>
<h3>Reachy Mini App Store</h3>
<p>More Apps</p>
</a>
</div>
</section>
<footer class="footer">
<p>Built by <a href="https://github.com/Desmond-Dong" target="_blank">Desmond</a></p>
</footer>
</body>
</html>
|