2025.10.07
Release Notes - v2025.10.07
Release Date: October 7, 2025
Code Name: "Illumination"
🌟 Overview
This release represents a major milestone for Lucia, bringing the autonomous home assistant from concept to working reality. Named after the Nordic sun goddess who brings light through darkness, this release illuminates your smart home with AI-powered agent automation.
✨ What's New
🏠 Home Assistant Integration (Complete)
Custom Component
- Full Integration: Native Home Assistant custom component with conversation platform
- HACS Support: Easy installation via Home Assistant Community Store
- Add as custom repository:
https://github.com/seiggy/lucia-dotnet - One-click download and installation
- Automatic updates through HACS
- Add as custom repository:
- Agent Selection UI: Dynamic dropdown to choose between specialized agents
- Automatically discovers available agents from catalog
- Live agent switching without integration reload
- Descriptive agent names with capability information
- Configuration Flow: Complete setup wizard with validation
- Repository URL configuration
- API key authentication (optional)
- System prompt customization with Home Assistant template syntax
- Max token configuration (10-4000 tokens)
Conversation Platform
- Natural Language Processing: Full integration with Home Assistant's conversation system
- Intent Response: Proper
IntentResponseimplementation for speech output - Context Threading: Conversation continuity using
contextIdfor multi-turn dialogues - Error Handling: Graceful error messages with proper fallback behavior
Communication Protocol
- JSON-RPC 2.0: Standardized communication with agents
- A2A Protocol v0.3.0: Agent-to-Agent protocol implementation
- TaskId Management: Correct handling of
taskId: null(required by Agent Framework) - Message Threading: UUID-based message and context tracking
- HTTP Client: Async HTTP communication using
httpxlibrary
🤖 Agent System
Agent Framework (Microsoft Public Preview)
-
LightAgent: Fully functional light and switch control
- Semantic search for finding lights by natural language
- Device capability detection (brightness, color temp, color modes)
- State queries and control operations
- Switch entity support (light switches)
- Embedding-based similarity matching
-
MusicAgent: Music Assistant integration
- Playback control (play, pause, stop, skip)
- Volume management
- Queue management
- Player discovery and selection
- Music Assistant API integration
Agent Registry
- Dynamic Discovery: Agents register and expose capabilities
- Catalog Endpoint:
/agentsreturns all available agents with metadata - Agent Cards: Complete agent information including:
- Name, description, version
- Supported skills and capabilities
- Protocol version
- Example queries
- Input/output modes
Skills System
-
LightControlSkill: Comprehensive light control
find_light: Natural language light discovery using embeddingsget_light_state: Query current light statusset_light_state: Control on/off, brightness, color- Entity caching with 30-minute refresh
- Cosine similarity matching for semantic search
-
MusicPlaybackSkill: Music Assistant control
- Playback operations
- Volume control
- Queue management
- Player management
🏗️ Technical Infrastructure
.NET 10 RC1
- Latest Framework: Running on .NET 10 Release Candidate 1
- Modern C#: Using C# 13 features and nullable reference types
- Performance: Optimized async/await patterns throughout
Agent Framework Integration
- Microsoft Agent Framework: Public Preview integration
- ChatClientAgent: Modern agent architecture
- AIFunctionFactory: Tool creation and registration
- IChatClient: LLM provider abstraction
- IEmbeddingGenerator: Embedding generation for semantic search
.NET Aspire
- Cloud-Native: .NET Aspire orchestration for development
- Service Discovery: Automatic service registration
- Health Checks: Built-in health monitoring
- OpenTelemetry: Distributed tracing and metrics
Multi-LLM Support
- OpenAI: Full GPT-4o and embedding support
- Azure OpenAI: Enterprise-grade Azure integration
- Azure AI Inference: Azure AI Studio models
- Ollama: Local LLM support for privacy-focused deployments
- Connection Strings: Standardized configuration format
- Keyed Clients: Multiple LLM configurations per application
🔧 Developer Experience
Project Structure
- lucia.AgentHost: Main agent hosting API (ASP.NET Core)
- lucia.Agents: Agent implementations and skills
- lucia.HomeAssistant: Home Assistant API client library
- lucia.HomeAssistant.SourceGenerator: Roslyn-based API code generation
- lucia.AppHost: .NET Aspire orchestration
- lucia.ServiceDefaults: Shared service configurations
- lucia.Tests: Comprehensive test suite
- custom_components/lucia: Home Assistant Python integration
Code Quality
- Source Generators: Automatic Home Assistant API client generation
- Dependency Injection: Full DI throughout the application
- Async/Await: Proper async patterns everywhere
- Error Handling: Comprehensive exception handling with logging
- Logging: Structured logging with Microsoft.Extensions.Logging
Testing Infrastructure
- Unit Tests: Agent and skill testing
- Integration Tests: End-to-end Home Assistant integration
- Test Scripts: Python test utilities for JSON-RPC validation
test_catalog_simple.py: Agent catalog and messaging tests
🎯 What Works
✅ Fully Functional Features
-
Light Control
- Find lights using natural language ("living room light", "kitchen ceiling")
- Turn lights on/off
- Set brightness (0-100%)
- Set colors by name
- Query light status
- Switch entity support
-
Music Control
- Play/pause/stop playback
- Volume control
- Skip tracks
- Queue management
- Player selection
-
Conversation
- Natural language input processing
- Multi-turn conversations with context
- Speech output via Home Assistant
- Error handling with user feedback
-
Agent Management
- Agent discovery via catalog
- Dynamic agent selection
- Agent switching without reload
- Health monitoring
-
Home Assistant Integration
- HACS installation support
- Configuration flow
- Options management
- Automatic reload on changes
🔨 Technical Details
API Endpoints
GET /agents- Agent catalog discoveryPOST /a2a/light-agent- Light agent JSON-RPC endpointPOST /a2a/music-agent- Music agent JSON-RPC endpointGET /health- Health check endpointGET /swagger- API documentation
Configuration Format
Agent Connection String:
Endpoint=https://localhost:7235;AccessKey=your-key;Model=gpt-4o;Provider=openai
Supported Providers:
openai- OpenAI APIazureopenai- Azure OpenAI Serviceazureaiinference- Azure AI Inferenceollama- Ollama local models
JSON-RPC Message Format
Request:
{
"jsonrpc": "2.0",
"method": "message/send",
"params": {
"message": {
"kind": "message",
"role": "user",
"parts": [{"kind": "text", "text": "Turn on the lights"}],
"messageId": "uuid",
"contextId": "uuid",
"taskId": null
}
},
"id": 1
}Response:
{
"jsonrpc": "2.0",
"result": {
"kind": "message",
"role": "assistant",
"parts": [{"kind": "text", "text": "I've turned on the lights."}],
"messageId": "uuid",
"contextId": "uuid",
"taskId": null
},
"id": 1
}🐛 Bug Fixes
Critical Fixes
-
ConversationResponse Error (Fixed)
- Issue: Using non-existent
conversation.ConversationResponseclass - Fix: Replaced with proper
intent.IntentResponseimplementation - Impact: Home Assistant integration now works correctly
- Issue: Using non-existent
-
TaskId Handling (Fixed)
- Issue: Agent Framework doesn't support task management
- Fix: Set
taskId: nullin all JSON-RPC requests - Impact: Agents now respond successfully to messages
-
Agent Selection Persistence (Fixed)
- Issue: Agent selection not persisting across restarts
- Fix: Proper storage in config entry options
- Impact: Selected agent maintained after reload
-
SSL Certificate Issues (Addressed)
- Issue: Self-signed certificates causing connection failures
- Fix: Added
verify=Falsefor development environments - Impact: Local development now works smoothly
📊 Performance
- Agent Response Time: < 2 seconds for typical requests
- Light Discovery: Cached with 30-minute refresh interval
- Embedding Generation: Optimized for real-time semantic search
- Memory Usage: Efficient entity caching
- HTTP Communication: Async throughout for non-blocking operations
📚 Documentation
Updated Documentation
- README.md: Comprehensive project overview with pronunciation guide
- AGENT_SELECTION.md: Detailed agent selection feature documentation
- Code Examples: Complete agent and skill implementation examples
- API Documentation: Swagger/OpenAPI specifications
- Installation Guide: Both HACS and manual installation methods
About the Name
Lucia is named after the ancient Nordic sun goddess associated with light, wisdom, and bringing illumination during the darkest time of year. Pronounced LOO-sha (or LOO-thee-ah in traditional Nordic), the name reflects the project's mission to bring intelligent automation and insight to your home.
🔮 What's Next
See our Roadmap for upcoming features:
Phase 2: Core Agents (In Progress)
- ClimateAgent (HVAC and temperature)
- SecurityAgent (alarms, locks, cameras)
- SceneAgent (scene management)
- Multi-agent orchestration
Phase 3: Intelligence (Planned)
- Pattern recognition and learning
- Automation suggestions
- Cost optimization for multi-LLM routing
- Local LLM refinements
🙏 Acknowledgments
Special thanks to:
- Microsoft Agent Framework team
- Home Assistant community
- Music Assistant project
- All contributors and testers
📦 Installation
HACS (Recommended)
- Open HACS in Home Assistant
- Go to Integrations
- Click three dots → Custom repositories
- Add:
https://github.com/seiggy/lucia-dotnet - Category: Integration
- Find "Lucia" and download
- Restart Home Assistant
- Add integration via Settings → Devices & Services
Manual Installation
# Clone repository
git clone https://github.com/seiggy/lucia-dotnet.git
cd lucia-dotnet
# Install .NET 10 RC1
# Download from https://dotnet.microsoft.com/
# Run the agent host
dotnet run --project lucia.AgentHost
# Copy Home Assistant integration
cp -r custom_components/lucia /path/to/homeassistant/custom_components/
# Restart Home Assistant🔗 Resources
- Repository: https://github.com/seiggy/lucia-dotnet
- Issues: https://github.com/seiggy/lucia-dotnet/issues
- Discussions: https://github.com/seiggy/lucia-dotnet/discussions
- Documentation: https://github.com/seiggy/lucia-dotnet/wiki (coming soon)
📄 License
MIT License - See LICENSE file for details.
Built with ❤️ for the Home Assistant community
Bringing light to home automation, one agent at a time. ☀️