Changes for Home assistant support#368
Open
mretallack wants to merge 14 commits intoStypox:masterfrom
Open
Conversation
Author
Author
|
The main area to review are the rule, especially the "where is person xxx". It can sometimes trigger the navigation skill. |
- Added get_help sentence patterns to home_assistant.yml - Implemented handleGetHelp() method in HomeAssistantSkill - Created HelpResponse output class with Compose UI - Added detailed help strings with command examples and entity types - Updated skill_definitions.yml to include get_help sentence ID - Corrected person location syntax in help text to avoid navigation conflicts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

[HomeAssistant] - Voice Control Integration
Status: Ready for Merge
This PR isHome Assistant integration with Dicio. It is now ready for production but requires review, it has been been tested for the past 2 months.
Note: This implementation was developed with assistance from AWS Kiro AI to accelerate the initial development and explore the feasibility of Home Assistant integration.
Overview
Adds a new skill that allows users to control and query Home Assistant entities using voice commands. Users can turn devices on/off, check status, and query person locations through natural language.
Features Implemented
Voice Commands
Entity Control:
"Turn living room light on","Switch bedroom lamp off""Get status of garage door","Check front door""Where is the person Mark","What is Sarah location"Supported Entity Types
Configuration
Technical Implementation
Files Added/Modified
Core Implementation:
app/src/main/kotlin/org/stypox/dicio/skills/homeassistant/HomeAssistantInfo.kt- Skill registrationHomeAssistantSkill.kt- Main skill logicHomeAssistantOutput.kt- Output handlingHomeAssistantApi.kt- REST API clientHomeAssistantSettings.kt- Settings UISentence Definitions:
app/src/main/sentences/skill_definitions.yml- Added sentence IDsapp/src/main/sentences/en/home_assistant.yml- English patternsProto/DataStore:
app/src/main/proto/skill_settings_home_assistant.proto- Settings schemaTests:
app/src/test/kotlin/org/stypox/dicio/skills/homeassistant/HomeAssistantSkillTest.kt- 19 comprehensive testsDocumentation:
SETUP.md- Complete setup guide for usersResources:
Architecture
Testing
✅ All 19 unit tests passing:
Tests cover:
Known Issues / TODO
Before Merge:
Pattern Conflicts:
"where is the person <name>"instead of"where is <name>"Limitations:
Future Enhancements
Potential improvements for future iterations:
How to Test
Screenshots
TODO: Add screenshots of settings UI and example interactions
Related Issues
Link to any related issues or discussions
Checklist
Feedback and suggestions are welcome!