A unified OVOS/Neon.AI Skill for Home Assistant.
Project description
Home Assistant Skill
Control your Home Assistant smart home devices through OVOS or Neon.AI voice assistants.
This unified skill is a replacement for the neon-homeassistant-skill and ovos-PHAL-plugin-homeassistant skill/plugin. Most features are supported, but please report any issues you encounter. Note: Do not install both this skill and the previous skills/plugins.
Features
- Control lights (on/off, brightness, color)
- Control switches and outlets
- Monitor sensors
- Control covers (open/close, position)
- Silent mode for specific devices
- Support for Home Assistant Assist API
Installation on Neon
You can pip install neon-homeassistant-skill, or handle the installation from the ~/.config/neon/neon.yaml file if you prefer:
skills:
default_skills:
- skill-homeassistant # Optionally with a version, such as skill-homeassistant==0.1.0
Configuration
Authentication Using a Long-lived Token
We recommend using a long-lived token for Home Assistant. This provides persistent access without requiring re-authentication. Configure it in your skill settings file:
- OVOS:
~/.config/mycroft/skills/skill-homeassistant/settings.json - Neon:
~/.config/neon/skills/neon_homeassistant_skill/settings.json
{
"api_key": "<HA_LONG_LIVED_TOKEN>",
"host": "<HA_IP_OR_HOSTNAME>"
}
Configuration Options
All available settings with their defaults:
{
"host": "", // Home Assistant instance URL - required, no default
"api_key": "", // Long-lived access token - required, no default
"disable_intents": false, // Disable all Home Assistant intents. In most cases, you should just uninstall the skill instead of setting this to true.
"silent_entities": [], // List of entities to control without voice confirmation
"brightness_increment": 10, // Percentage to change brightness by
"search_confidence_threshold": 0.5, // Minimum confidence for entity matching, from 0 to 1 (correlates to a percentage)
"assist_only": true, // Only pull entities exposed to Home Assistant Assist
"timeout": 5, // Timeout for Home Assistant API requests in seconds
"log_level": "INFO" // Logging level (DEBUG, INFO, WARNING, ERROR)
}
Legacy Configuration Support
If you're migrating from the previous neon-homeassistant-skill with ovos-PHAL-plugin-homeassistant, the skill will automatically detect and use configuration from your mycroft.conf or neon.yaml. However, we recommend migrating to the new settings.json location.
Hostname Considerations
Mycroft Mark II may not support .local hostnames (e.g., homeassistant.local). Options include:
- Use the IP address of your Home Assistant instance (recommended for local access)
- Use your Nabu Casa DNS if you have a subscription (requires internet connectivity)
- Use a local DNS server that resolves to your Home Assistant instance
Usage
Voice Commands
Lights
- "Turn on/off [device name]"
- "Set [device name] brightness to [X] percent"
- "Increase/decrease [device name] brightness"
- "What color is [device name]?"
- "Set [device name] color to [color]"
- "What's the brightness of [device name]?"
Switches
- "Turn on/off [device name]"
- "Toggle [device name]"
Covers
- "Open/Close [device name]"
- "Set [device name] position to [X] percent"
- "Stop [device name]"
Sensors
- "What's the temperature in [sensor name]?"
- "What's the status of [sensor name]?"
Home Assistant Assist
- "Ask Home Assistant [command]" (passes command directly to HA Assist API)
Silent Mode
Add devices to the silent_entities list to control them without voice feedback:
{
"silent_entities": ["light.kitchen", "switch.office"]
}
Disabling Intents
If you don't want the skill's intents enabled (e.g., when shipping in a voice assistant image), set disable_intents to true:
{
"disable_intents": true
}
Troubleshooting
Common Issues
-
Connection Failures
- Verify your Home Assistant instance is reachable
- Check the host URL format (should include protocol, e.g.,
https://) - Ensure your token has the required permissions
-
Entity Not Found
- Check if the entity is exposed to Home Assistant Assist
- Verify the entity name matches exactly
- Try using the entity's friendly name
-
Authentication Issues
- For long-lived tokens: Verify the token is valid and not expired
- For OAuth: Try re-authenticating with "connect to home assistant"
Debug Mode
Enable debug logging for more detailed information:
{
"debug": true,
"log_level": "DEBUG"
}
Upcoming Features
- Vacuum functions
- HVAC functions
- Media player control
- Camera integration
Contributing
Contributions are very welcome! Please read our contributing guidelines and submit pull requests to our GitHub repository.
License
Apache License 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skill_homeassistant-0.2.0.tar.gz.
File metadata
- Download URL: skill_homeassistant-0.2.0.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fb69f6595bd67d04eb77590b6fefe6ced608552f3c5c827b83163d34356c58e
|
|
| MD5 |
0cd35519c86d10dbf6d64f79bd5ccaee
|
|
| BLAKE2b-256 |
75798a2ab8f9341f3a40771a44b9bf628ce0d75bc1b6275c9b263d9fabb3efc0
|
File details
Details for the file skill_homeassistant-0.2.0-py3-none-any.whl.
File metadata
- Download URL: skill_homeassistant-0.2.0-py3-none-any.whl
- Upload date:
- Size: 32.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00724a510fdfce6aeec716312eb8ae312c5ed5c280d070b5e00aae7f7c478dce
|
|
| MD5 |
0b78b5256a4a5b92cc7f74054d75c218
|
|
| BLAKE2b-256 |
17dc1b68472e8a6a848ab1d3db7b98d4576abdc47a520bdc919f0adbb327126c
|