Releases: JarvyJ/HomeIntent
2022.07.0
French Translation and Satellite Configuration!
More features are in!
French Support
With major thanks to @nyok92, we now have French support in Home Intent! It can be enabled by setting the LANGUAGE
environment variable to fr
in the `docker-compose.yaml' file:
version: "3.9"
services:
homeintent:
image: "ghcr.io/jarvyj/homeintent:latest"
restart: unless-stopped
volumes:
- "/PATH_TO_CONFIG/rhasspy:/profiles"
- "/PATH_TO_CONFIG/config:/config"
- "/etc/localtime:/etc/localtime:ro"
ports:
- "11102:11102" # For the Home Intent UI
- "12183:12183" # For communicating over MQTT/satellites
- "12101:12101" # For the Rhasspy UI (optional)
devices:
- "/dev/snd:/dev/snd"
environment:
- LANGUAGE=fr
If you want to help translate components, feel free to take a look at our translating components section for more info!
Automatic Satellite Configuration
Expanding on some of the satellite work from the previous release, Home Intent can now automatically configure satellites by configuring them through the Rhasspy API and connecting them to the Home Intent MQTT server. To enable it, you can add some configuration to config.yaml
:
rhasspy:
shared_satellite_config:
mqtt_host: "192.168.1.4"
managed_satellites:
kitchen:
ip_address: "192.168.1.157"
living_room:
url: "http://livingroom.example.com"
sounds_device: "default:CARD=USB"
microphone_device: "0"
The MQTT host in shared_satellite_config
is the address of the MQTT that Home Intent uses, you will have to ensure that the MQTT port (12183) is open so it can be accessed. Apart from that, the satellites are setup in the managed_satellites
section. You can provide any satellite_id that you want (kitchen
and living_room
) are shown above, and they can be address either via their ip_address
or url
if you have a custom network setup. The sounds_device
and microphone_device
can also be configured here. Maybe one day in the future it will be nicely configurable via the UI!
Other fixes
@bshass pointed out (in #393) that the voice response would occasionally say the name of the entity followed by the word that it was affected "turning on the kitchen light light", this should now be fixed.
Thanks to everyone who reported bugs and contributed to the release! We'll keep it going
2022.05.1 - Quick Fix for German Translation
There was a small bug with the German translation, this is a quick release to fix the issue.
If you are already on 2022.05.0, there is no need to update.
2022.05.0
German Translation and Satellites!
It's been a long time coming, but it's here!
Basic German Support
Thanks to @oerkel47, we now have basic German language support! It can be enabled by setting the environment variable LANGUAGE
in the docker-compose.yaml
file.
version: "3.9"
services:
homeintent:
image: "ghcr.io/jarvyj/homeintent:latest"
restart: unless-stopped
volumes:
- "/PATH_TO_CONFIG/rhasspy:/profiles"
- "/PATH_TO_CONFIG/config:/config"
- "/etc/localtime:/etc/localtime:ro"
ports:
- "11102:11102" # For the Home Intent UI
- "12183:12183" # For communicating over MQTT/satellites
- "12101:12101" # For the Rhasspy UI (optional)
devices:
- "/dev/snd:/dev/snd"
environment:
- LANGUAGE=de
Most commands are supported, but the following Home Assistant commands are not in the German Translation:
- fan
- group
- humidifier
- weather
If you want to help translate components, feel free to take a look at our translating components section for more info!
Satellites
It's been a long time coming, but there is now basic satellite support in Home Intent! It currently involves manually setting up a Satellite and making some small changes to your Home Intent config:
rhasspy:
satellite_ids:
- kitchen
disable_audio_at_base_station: true
The disable_audio_at_base_station
is used when there is no microphone plugged into the computer that Home Intent is running on.
Future Changes
We're thinking about taking the lead from the German translation and paring down some of the uncommon color options in the color list. There are a fair number of colors that are not used in spoken language that will sometimes get mistriggered.
and finally...
I'll be slowing down on some of the Home Intent development. I'm still planning on a new release every 3-4 months for security patches and basic updates. You might see a new feature or translation down the line (contributions are welcome!), but with the development of Rhasspy (what Home Intent uses under the covers) slowing down and the main developer moving to Mycroft, the development here will also slow down a bit. You can see #362 for more information, but until a viable open source alternative emerges, I'll keep the lights on with Home Intent!
2022.01.0
Improving the User Experience!
There was a big emphasis this month on improving the UX of Home Intent, so users will have a good experience when first getting started. Major thanks to @oerkel47 for calling out some issues and working on the German translation - the work is currently underway!
Here are some of the improvements:
- Exceptions make it to the user! (#236 and #244)
- All new logs page (#254)
- Issues during from submission are now returned to the use (#231)
- The restart bar now shows any exceptions that occurred during boot (#240)
- Home Intent doesn't constantly auto-restart on failure. This allows the user to fix any issues without a flood of logs coming in (#238)
New Features!
We also have added the ability to voice control scripts in Home Intent! You can now set custom intent sentences and responses to trigger scripts in Home Assistant. It's easily done via the UI or in config.yaml
:
home_assistant:
scripts:
script.movie_time:
sentences:
- I want to watch a movie
- It's movie time
response: It is now time to watch a movie
Small breaking changes
When toggling a light percentage, the word percent
is now required: set the bedroom to 100 percent [brightness]
. We found that previously when percent
was optional, there was a bit more system confusion as there were two optional words in a row (percent
and brightness
). This simple fix seems to have improved handling of sentences quite a bit!
Developer experience
Along with user experience, developer experience has gotten a bit better with more settings auto-configured if running in the development environments
Translation updates
@oerkel47 is currently hard at work on a German translation (#232) and has found a couple of opportunities along the way to make translation of components a lot better!
- Home Intent will now load the corresponding language for TTS in Rhasspy (#262) - there might be a bit more work here in the future.
- There was some English fallback issues from the new component loading mechanisms (#262)
Coming Up!
The next release should have basic satellite support (#271) and things will just keep getting better, so stay tuned!
2021.12.1
Fixes for first boot
For folks who were starting with a fresh install of Home Intent and setting it up via the UI, there were some issues that didn't allow Home Intent to work correctly. This fix includes the following:
- should have checked to see if "home_assistant" was in the settings object, as opposed to seeing if was None
- training with no sentences/slots throws an error. For now, we accept and move on.
- there was a dynamic import error in Svelte that caused the logs page to not load initially (fixed after refreshing the page). That should also now be resolved.
Moving forward we will always test the "first boot" use case to ensure it works well and plan to automate the efforts to ensure Home Intent continues to work well for old and new users alike!
Thanks to @oerkel47 for the tip!
2021.12.0
Translation Support and climate controls!
The biggest addition to Home Intent is that it is now able to be translated into other languages! If you want to help out there, create an issue for the language you want to work on, and follow the guide!
Along with translation support, we now have climate and humidifier voice control for Home Assistant - which rounds off being able to control most Home Assistant with Home Intent!
Changes
- Support for translations (#162 and #149)
- Can now control climate and humidifier devices in Home Assistant (#22)
- Renamed all the slots to follow a naming convention (#191)
- Added a simple script-based updater to make changes during upgrades (#205)
- Switched to docker-compose based development (#188 and #190)
Future Breaking Changes
get_file
from the home_intent
package
The get_file
function from the home_intent
package will be removed in Home Intent 2022.02.0. There is an equivalent method in the home_intent
object. More information in the docs!
Breaking Changes
Locks, Climate, and Humidifiers are ignored by default
Some of the beta users raised concerns with allowing the new climate controls to be voice controlled since there could be a lot of different kinds of risk if something goes wrong, and since Home Intent can accidentally trigger and is controllable by anyone near the mic, we decided to let users assess the risk of the climate
, humidifier
, and lock
entity. They are simply in the ignored domains list by default and can be enabled in the UI or via config.yaml
. More information on how to do so is in the docs.
A new enforced naming convention around slot names
Slot names now need to start with the module name in Home Intent. There is a check that runs that will raise an error if this condition is not met, and what Home Intent thinks the module name is. It came about because there were two components that wanted to use the same slot and it got weird.
So if you have any custom components, the slot names will likely have to be updated to match the module name (which is either the filename or the folder name if it has an __init__.py
)
The following slots have been renamed
This should only affect folks running Home Intent in an externally managed setup that used slots introduced by Home Intent in their own Rhasspy sentences.
cover_open
->cover_open_entity
cover_close
->cover_close_entity
cover_set_position
->cover_set_position_entity
cover_stop
->cover_stop_entity
cover_open_tilt
->cover_open_tilt_entity
cover_close_tilt
->cover_close_tilt_entity
cover_set_tilt_position
->cover_set_tilt_position_entity
oscillating_fan
->fan_oscillate_entity
preset_fan
->fan_preset_mode_entity
preset_mode
->fan_preset_mode
directional_fan
->fan_direction_entity
speed_fan
->fan_set_speed_entity
shopping_item
->shopping_list_item
openable_lock
->lock_open_entity
color
->light_color
color_temperature
->light_color_temperature
partial_time
->timer_partial_time
day_of_week
->weather_day_of_week
2021.11.0
A smaller one!
This is a bit of a smaller release and a little late, sorry about that! I spent a good chunk of the month working on the Rhasspy Satellite image that should one day make Satellite integration with Home Intent a lot easier!
New Features
- Now based on Rhasspy 2.5.11! (#25)
- Has support for working with existing Rhasspy setup (#120) - thanks to @mots for helping with this and getting us on 2.5.11!
- Timers now work with "set a [time] timer" as well as "set timer [time]" (#116)
Breaking Changes
Some of the full clear methods for the shopping list were set to default disabled. We found they weren't all that useful and mostly executed accidentally due to sentence structure. If you need them, you can always re-enable using customizations
Housekeeping
We are now at https://homeintent.io, links to the old site should redirect! Also, I will not have as much time to work on HomeIntent moving forward. I still plan on working on it, but don't expect releases to be as featureful as some of the earlier releases.
2021.10.0
Added a UI!
We worked hard over the course of the month to add in a new UI. There are some big plans with it, but for now it can help with setting up a new Home Intent instance and getting folks connected to Home Assistant. All the docs have been updated accordingly.
Don't worry, everything that can be done with the UI can also be done manually. That is one of the core tenants we are sticking by. Using the UI will always be optional. It simply modifies the same files config files that you would.
And a bunch of bug fixes
Other than the UI, all the bug fixes from 2021.09.1 are included. We missed a few features that were planned as life got in the way, but they have been scheduled for the 2021.11.0 release!
We're also starting some work on exploring satellites. Not sure which release it will land in yet (still just exploring capabilities), but keep an eye on it!
2021.09.1
Just a couple of bug fixes!
While working on the October release, we noticed a couple of bugs that were present and decided to cut a small release with some of them fixed!
Bug Fixes
- Fixed up some wording around Home Intent responses (#66)
- Customizations were broken after a refactor (#85)
- Timers didn't support aliasing due to string parsing from yaml (#87)
- Added parenthesis around slot lists (#77)
Just a quick release. We're still working away on the Home Intent UI for settings. You can find updates for that in #26, still planning on getting that going for the October release, stay tuned!
2021.09.0
The first official release! 🎉
We did it! Home Intent is now ready for folks to start using! It's been a fun month of adding new features, testing, and getting the documentation up to speed. Thanks to all the people who helped out along the way!
Features
- Integration with Home Assistant for covers, fans, groups, lights, locks, remotes, shopping list, and switches!
- A fancy timer component for all those kitchen needs!
- User installable custom component support
- Customization of intents including changing slots and sentences
- A single easy-to-use container for getting everything up and running
- A snazzy documentation site!
- Custom sounds developed specifically for Home Intent (major thanks to @markopolojorgensen)
Changes since the beta
- Added a Home Assistant weather component (currently with beta flags)
- Playback the error sound if an intent fails to trigger (thanks to @Romkabouter)
- Updated the docs with suggestions from Daenara on the rhasspy forum! Thanks again!
- Did a bunch of refactoring within the codebase
- Setup and made pylint a lot happier!
- Started writing some unit tests!
- Fixed various bugs!
Next month we're going to focus on getting a basic web interface up and running, climate controls, and more! As always, you can see what things are on deck in the next milestone.