Hi everyone,
GLaSSIST 3.0 is out. It turns your Windows or Linux PC into a proper voice endpoint for Home Assistant — wake word, hotkey, or tray trigger, with visual animations and clean audio handling.
No Python knowledge needed. Windows users get a one-click installer with a setup wizard.
What Is GLaSSIST?
GLaSSIST runs on your desktop and lets you talk to Home Assistant naturally:
-
100+ wake word models (Alexa, Jarvis, Scarlett, GLaDOS, and more)
-
Trigger by wake word, hotkey, or system tray
-
WebRTC VAD for reliable speech-end detection
-
Visual animations with real-time audio visualization (Three.js + FFT)
-
Optional response text overlay on screen
-
Optional media player volume ducking during interactions
-
Modern settings UI — no config file editing required
-
HTTP prompt API for driving interactions from HA automations
What’s New in 3.0
ESPHome Satellite Mode (the big one)
GLaSSIST can now present itself to Home Assistant as an ESPHome voice satellite — the same protocol used by hardware devices like ESP32-S3-BOX.
This means:
-
HA connects to GLaSSIST (not the other way around) — no token needed
-
Timer support — HA timers trigger a sound loop on your PC when they finish
-
Conversation mode — continues listening without a wake word when HA requests it
-
Push announcements —
assist_satellite.announceplays audio directly on your PC -
Auto-discovery via mDNS/zeroconf — HA finds GLaSSIST on the local network automatically
The original WebSocket mode is still fully available and unchanged.
Smarter Follow-Up
New switch in Settings → Audio: “Continue conversation when response ends with ‘?’”
Useful when your AI integration asks a question but doesn’t signal HA to keep listening. Works in both connection modes.
Two Modes at a Glance
ESPHome Satellite mode — Home Assistant connects to GLaSSIST (no token needed). Local network only. Adds timer alarms, push announcements, and conversation follow-up on top of everything WebSocket mode offers.
WebSocket mode — GLaSSIST connects to Home Assistant using a long-lived access token. Supports remote access via Nabu Casa or a reverse proxy. Conversation follow-up works. No timer support, announcement support via old method (described at bottom)
Setup (ESPHome Satellite Mode)
Windows installer: the setup wizard asks which mode you want and configures everything automatically.
Manual / existing install:
-
Open GLaSSIST Settings → Connection → set mode to
ESPHome Satellite -
Set a device name and port (default
6053) -
Restart GLaSSIST
-
In Home Assistant: Settings → Devices & Services → Add Integration → ESPHome
-
Enter your PC’s IP address and port
6053 -
Or just wait — if your network supports mDNS, HA will find it automatically
- Assign your preferred Assist pipeline to the new satellite device
HA Automation Examples
Announcement
action: assist_satellite.announce
target:
entity_id: assist_satellite.your_glassist
data:
message: "Laundry is done. Time to empty the washer."
Start a guided conversation from an automation
action: assist_satellite.start_conversation
target:
entity_id: assist_satellite.your_glassist
data:
start_message: "The living room window is open. Should I close it now?"
extra_system_prompt: "If the user confirms, trigger the window-close action."
Announcement without chime
action: assist_satellite.announce
target:
entity_id: assist_satellite.your_glassist
data:
message: "Quiet update: garden watering completed."
preannounce: false
Requirements
-
Windows 10/11 x64 (installer available) or Linux (run from source)
-
Home Assistant 2024.6+ for ESPHome Satellite mode
-
No Python installation needed for Windows
Download
-
Latest release: Release GLaSSIST 3.0 - ESPHome Satellite + Smarter Follow-Ups · SmolinskiP/GLaSSIST · GitHub
Legacy announcements:
Add this to configuration.yaml (only WebSocket mode):
rest_command:
glassist_prompt:
url: "http://YOUR_GLASSIST_IP:8766/prompt"
method: POST
headers:
Content-Type: "application/json"
payload: |
{
"message": "{{ message }}",
"context": "{{ context }}",
"timeout": {{ timeout | default(15) }},
"wait_for_response": {{ wait_for_response | default(true) | lower }},
"use_ai_message": {{ use_ai_message | default(false) | lower }}
}
- Service:
rest_command.glassist_prompt - Service Data:
message: "Turn on the lights in the living room?"
context: "You ask user if they want to turn on lights in living room"
timeout: 15
wait_for_response: true
Old versions posts on HA forum:



