Releases: cronus42/homeassistant-ollama-agent
Release list
Release v1.1.4
Changelog
All notable changes to this project will be documented in this file.
[Unreleased]
Added
- Qwen Tool Call Support: Added support for Qwen2.5-coder's XML-based tool calling format
- New parser function extracts tool calls from <tool_call> XML tags
- Automatically converts Qwen format to standard tool_calls format
- Added detection logic prioritizing Qwen format after standard format
- Enhanced logging for Qwen tool call processing
Fixed
- Qwen2.5-coder Compatibility: Qwen models now properly execute tool calls instead of outputting them as text
- Resolves issue where tool calls appeared as JSON in conversation responses
- Tool calls wrapped in XML tags are now parsed and executed correctly
[1.1.0] - 2025-12-29
Fixed
- Gemma3 Think Block Issue: Fixed issue where Gemma3 model responses were showing raw blocks instead of user-facing text
- Enhanced filter function to handle unclosed tags
- Added debug logging to track filtering operations
- Implemented fallback responses when filtering results in empty text
- System prompt now explicitly instructs models not to use tags
Added
- Smart fallback response generation when model output is filtered to empty
- Automatic action summaries (e.g., "Done! I've turned off light.desk_lamp")
- Enhanced debug logging for response processing pipeline
- Raw response logging before filtering (debug level)
Changed
- System prompt updated with explicit "Response Format" section
- Prohibits use of tags in model instructions
- More natural confirmation examples in system prompt
[1.0.0] - 2024-01-XX
Added
- Initial release with Ollama conversation agent
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Standard Ollama tool calling format
- Gemma3-tools format compatibility
- Dynamic entity exposure
- Conversation history (10 messages)
- UI-based configuration flow
Release v1.1.3
Changelog
All notable changes to this project will be documented in this file.
[Unreleased]
Added
- Qwen Tool Call Support: Added support for Qwen2.5-coder's XML-based tool calling format
- New parser function extracts tool calls from <tool_call> XML tags
- Automatically converts Qwen format to standard tool_calls format
- Added detection logic prioritizing Qwen format after standard format
- Enhanced logging for Qwen tool call processing
Fixed
- Qwen2.5-coder Compatibility: Qwen models now properly execute tool calls instead of outputting them as text
- Resolves issue where tool calls appeared as JSON in conversation responses
- Tool calls wrapped in XML tags are now parsed and executed correctly
[1.1.0] - 2025-12-29
Fixed
- Gemma3 Think Block Issue: Fixed issue where Gemma3 model responses were showing raw blocks instead of user-facing text
- Enhanced filter function to handle unclosed tags
- Added debug logging to track filtering operations
- Implemented fallback responses when filtering results in empty text
- System prompt now explicitly instructs models not to use tags
Added
- Smart fallback response generation when model output is filtered to empty
- Automatic action summaries (e.g., "Done! I've turned off light.desk_lamp")
- Enhanced debug logging for response processing pipeline
- Raw response logging before filtering (debug level)
Changed
- System prompt updated with explicit "Response Format" section
- Prohibits use of tags in model instructions
- More natural confirmation examples in system prompt
[1.0.0] - 2024-01-XX
Added
- Initial release with Ollama conversation agent
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Standard Ollama tool calling format
- Gemma3-tools format compatibility
- Dynamic entity exposure
- Conversation history (10 messages)
- UI-based configuration flow
Release v1.1.2
Changelog
All notable changes to this project will be documented in this file.
[1.1.0] - 2025-12-29
Fixed
- Gemma3 Think Block Issue: Fixed issue where Gemma3 model responses were showing raw
<think>blocks instead of user-facing text- Enhanced
_filter_think_blocks()to handle unclosed<think>tags - Added debug logging to track filtering operations
- Implemented fallback responses when filtering results in empty text
- System prompt now explicitly instructs models not to use
<think>tags
- Enhanced
Added
- Smart fallback response generation when model output is filtered to empty
- Automatic action summaries (e.g., "Done! I've turned off light.desk_lamp")
- Enhanced debug logging for response processing pipeline
- Raw response logging before filtering (debug level)
Changed
- System prompt updated with explicit "Response Format" section
- Prohibits use of
<think>tags in model instructions - More natural confirmation examples in system prompt
[1.0.0] - 2024-01-XX
Added
- Initial release with Ollama conversation agent
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Standard Ollama tool calling format
- Gemma3-tools format compatibility
- Dynamic entity exposure
- Conversation history (10 messages)
- UI-based configuration flow
Release v1.1.1
Changelog
All notable changes to this project will be documented in this file.
[1.1.0] - 2025-12-29
Fixed
- Gemma3 Think Block Issue: Fixed issue where Gemma3 model responses were showing raw
<think>blocks instead of user-facing text- Enhanced
_filter_think_blocks()to handle unclosed<think>tags - Added debug logging to track filtering operations
- Implemented fallback responses when filtering results in empty text
- System prompt now explicitly instructs models not to use
<think>tags
- Enhanced
Added
- Smart fallback response generation when model output is filtered to empty
- Automatic action summaries (e.g., "Done! I've turned off light.desk_lamp")
- Enhanced debug logging for response processing pipeline
- Raw response logging before filtering (debug level)
Changed
- System prompt updated with explicit "Response Format" section
- Prohibits use of
<think>tags in model instructions - More natural confirmation examples in system prompt
[1.0.0] - 2024-01-XX
Added
- Initial release with Ollama conversation agent
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Standard Ollama tool calling format
- Gemma3-tools format compatibility
- Dynamic entity exposure
- Conversation history (10 messages)
- UI-based configuration flow
v1.1.0 - Gemma3 Think Block Fix
Ollama Conversation Agent v1.1.0
🎯 Overview
This release fixes a critical issue where the Gemma3 model was outputting raw <think> blocks instead of user-facing responses when controlling devices.
🐛 Bug Fixes
Gemma3 Think Block Issue
Problem: When using Gemma3, device control responses showed internal reasoning blocks like:
<think> Alright, the user just turned off the desk lamp. Let me make sure I followed all the instructions...
Solution: Implemented comprehensive filtering and fallback mechanisms:
- Enhanced regex patterns to handle both complete and unclosed
<think>tags - Added intelligent fallback response generation when filtering results in empty text
- Updated system prompt to explicitly prohibit
<think>tags in model outputs - Added comprehensive debug logging for troubleshooting
✨ New Features
- Smart Fallback Responses: When model outputs only reasoning, automatically generates natural confirmations (e.g., "Done! I've turned off light.desk_lamp.")
- Enhanced Debug Logging: Track response filtering operations and model behavior
- Improved System Prompt: Clearer instructions for models on response formatting
🔧 Technical Changes
Modified Files
conversation.py: Enhanced_filter_think_blocks()function with dual regex patterns and fallback logicmanifest.json: Version bump to 1.1.0CHANGELOG.md: Comprehensive changelog with all changes
New Files
FIX_SUMMARY.md: Technical details of the fix implementationTESTING.md: Deployment and testing guide
📦 Installation
Method 1: HACS (Recommended)
- Open HACS in Home Assistant
- Go to Integrations
- Search for "Ollama Conversation"
- Click Update (if already installed) or Install
Method 2: Manual Installation
- Download
ollama-conversation-v1.1.0.zip - Extract to your Home Assistant
custom_componentsdirectory:unzip ollama-conversation-v1.1.0.zip -d /config/custom_components/
- Restart Home Assistant
Method 3: Direct Copy
cd /path/to/homeassistant-ollama-agent
scp -r custom_components/ollama_conversation your-ha-server:/config/custom_components/🧪 Testing
After installation, test with these commands:
- Light Control: "Turn off the desk lamp"
- Climate Control: "Set the bedroom to 72 degrees"
- Brightness: "Turn on the kitchen light to 50%"
Expected Results:
- ✅ No
<think>tags visible to users - ✅ Natural, concise confirmations
- ✅ Proper device control execution
🐞 Debug Mode
To enable detailed logging, add to configuration.yaml:
logger:
default: info
logs:
custom_components.ollama_conversation: debug🔗 Links
- Repository: https://github.com/cronus42/homeassistant-ollama-agent
- Issues: https://github.com/cronus42/homeassistant-ollama-agent/issues
- Documentation: See README.md and INSTALL.md
📋 Full Changelog
See CHANGELOG.md for complete details.
🙏 Credits
Developed by goose (Block's AI agent) as part of the open-source Goose project.
Compatibility: Home Assistant 2024.x or later, Ollama with function-calling support
Supported Models: Gemma3, function-gemma, and other Ollama models with tool calling
Release v1.0.6
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.0.1] - 2025-12-27
Fixed
- Bug #1: Fixed 500 Internal Server Error when conversing with assistant
- Added better error handling and logging in chat API calls
- Increased timeout from 30s to 60s for tool-heavy conversations
- Added detailed debug logging to diagnose API issues
- Fixed response parsing to handle edge cases
- Bug #2: Fixed "This assistant cannot control your home" warning
- Added
supported_featuresproperty returningConversationEntityFeature.CONTROL - Integration now properly declares device control capabilities to Home Assistant
- Added
Changed
- Improved error messages with more descriptive information
- Added
async_set_speech()call to properly set response text in intent - Enhanced tool argument parsing to handle both dict and string formats
- Better exception handling with user-friendly error messages
Improved
- More comprehensive logging throughout the integration
- Better JSON parsing error handling
- Response status validation before parsing
[1.0.0] - 2025-12-26
Added
- Initial release of Ollama Conversation integration
- Full Ollama API support with tool/function calling
- UI-based configuration flow
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Conversation history management (last 10 messages)
- Configurable parameters (temperature, context_window, top_p, top_k)
- Comprehensive error handling
- Model selection dropdown
- Connection validation
- Unit tests and functional tests
- Complete documentation
Features
- Local AI processing via Ollama
- Natural language device control
- Multi-turn conversation support
- Tool execution with result feedback
- Home Assistant service integration
- HACS compatibility
Documentation
- Detailed README with usage examples
- Implementation summary
- Troubleshooting guide
- Architecture documentation
- API endpoint documentation
Release v1.0.5
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.0.1] - 2025-12-27
Fixed
- Bug #1: Fixed 500 Internal Server Error when conversing with assistant
- Added better error handling and logging in chat API calls
- Increased timeout from 30s to 60s for tool-heavy conversations
- Added detailed debug logging to diagnose API issues
- Fixed response parsing to handle edge cases
- Bug #2: Fixed "This assistant cannot control your home" warning
- Added
supported_featuresproperty returningConversationEntityFeature.CONTROL - Integration now properly declares device control capabilities to Home Assistant
- Added
Changed
- Improved error messages with more descriptive information
- Added
async_set_speech()call to properly set response text in intent - Enhanced tool argument parsing to handle both dict and string formats
- Better exception handling with user-friendly error messages
Improved
- More comprehensive logging throughout the integration
- Better JSON parsing error handling
- Response status validation before parsing
[1.0.0] - 2025-12-26
Added
- Initial release of Ollama Conversation integration
- Full Ollama API support with tool/function calling
- UI-based configuration flow
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Conversation history management (last 10 messages)
- Configurable parameters (temperature, context_window, top_p, top_k)
- Comprehensive error handling
- Model selection dropdown
- Connection validation
- Unit tests and functional tests
- Complete documentation
Features
- Local AI processing via Ollama
- Natural language device control
- Multi-turn conversation support
- Tool execution with result feedback
- Home Assistant service integration
- HACS compatibility
Documentation
- Detailed README with usage examples
- Implementation summary
- Troubleshooting guide
- Architecture documentation
- API endpoint documentation
Release v1.0.4
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.0.1] - 2025-12-27
Fixed
- Bug #1: Fixed 500 Internal Server Error when conversing with assistant
- Added better error handling and logging in chat API calls
- Increased timeout from 30s to 60s for tool-heavy conversations
- Added detailed debug logging to diagnose API issues
- Fixed response parsing to handle edge cases
- Bug #2: Fixed "This assistant cannot control your home" warning
- Added
supported_featuresproperty returningConversationEntityFeature.CONTROL - Integration now properly declares device control capabilities to Home Assistant
- Added
Changed
- Improved error messages with more descriptive information
- Added
async_set_speech()call to properly set response text in intent - Enhanced tool argument parsing to handle both dict and string formats
- Better exception handling with user-friendly error messages
Improved
- More comprehensive logging throughout the integration
- Better JSON parsing error handling
- Response status validation before parsing
[1.0.0] - 2025-12-26
Added
- Initial release of Ollama Conversation integration
- Full Ollama API support with tool/function calling
- UI-based configuration flow
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Conversation history management (last 10 messages)
- Configurable parameters (temperature, context_window, top_p, top_k)
- Comprehensive error handling
- Model selection dropdown
- Connection validation
- Unit tests and functional tests
- Complete documentation
Features
- Local AI processing via Ollama
- Natural language device control
- Multi-turn conversation support
- Tool execution with result feedback
- Home Assistant service integration
- HACS compatibility
Documentation
- Detailed README with usage examples
- Implementation summary
- Troubleshooting guide
- Architecture documentation
- API endpoint documentation
Release v1.0.3
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.0.1] - 2025-12-27
Fixed
- Bug #1: Fixed 500 Internal Server Error when conversing with assistant
- Added better error handling and logging in chat API calls
- Increased timeout from 30s to 60s for tool-heavy conversations
- Added detailed debug logging to diagnose API issues
- Fixed response parsing to handle edge cases
- Bug #2: Fixed "This assistant cannot control your home" warning
- Added
supported_featuresproperty returningConversationEntityFeature.CONTROL - Integration now properly declares device control capabilities to Home Assistant
- Added
Changed
- Improved error messages with more descriptive information
- Added
async_set_speech()call to properly set response text in intent - Enhanced tool argument parsing to handle both dict and string formats
- Better exception handling with user-friendly error messages
Improved
- More comprehensive logging throughout the integration
- Better JSON parsing error handling
- Response status validation before parsing
[1.0.0] - 2025-12-26
Added
- Initial release of Ollama Conversation integration
- Full Ollama API support with tool/function calling
- UI-based configuration flow
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Conversation history management (last 10 messages)
- Configurable parameters (temperature, context_window, top_p, top_k)
- Comprehensive error handling
- Model selection dropdown
- Connection validation
- Unit tests and functional tests
- Complete documentation
Features
- Local AI processing via Ollama
- Natural language device control
- Multi-turn conversation support
- Tool execution with result feedback
- Home Assistant service integration
- HACS compatibility
Documentation
- Detailed README with usage examples
- Implementation summary
- Troubleshooting guide
- Architecture documentation
- API endpoint documentation
Release v1.0.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.0.1] - 2025-12-27
Fixed
- Bug #1: Fixed 500 Internal Server Error when conversing with assistant
- Added better error handling and logging in chat API calls
- Increased timeout from 30s to 60s for tool-heavy conversations
- Added detailed debug logging to diagnose API issues
- Fixed response parsing to handle edge cases
- Bug #2: Fixed "This assistant cannot control your home" warning
- Added
supported_featuresproperty returningConversationEntityFeature.CONTROL - Integration now properly declares device control capabilities to Home Assistant
- Added
Changed
- Improved error messages with more descriptive information
- Added
async_set_speech()call to properly set response text in intent - Enhanced tool argument parsing to handle both dict and string formats
- Better exception handling with user-friendly error messages
Improved
- More comprehensive logging throughout the integration
- Better JSON parsing error handling
- Response status validation before parsing
[1.0.0] - 2025-12-26
Added
- Initial release of Ollama Conversation integration
- Full Ollama API support with tool/function calling
- UI-based configuration flow
- Support for light control (on/off, brightness)
- Support for climate control (temperature setting)
- Conversation history management (last 10 messages)
- Configurable parameters (temperature, context_window, top_p, top_k)
- Comprehensive error handling
- Model selection dropdown
- Connection validation
- Unit tests and functional tests
- Complete documentation
Features
- Local AI processing via Ollama
- Natural language device control
- Multi-turn conversation support
- Tool execution with result feedback
- Home Assistant service integration
- HACS compatibility
Documentation
- Detailed README with usage examples
- Implementation summary
- Troubleshooting guide
- Architecture documentation
- API endpoint documentation