Skip to content

Releases: JarvyJ/HomeIntent

2022.07.0

22 Jul 19:47
2ee8b9a
Compare
Choose a tag to compare

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

13 May 00:11
a4d6ca3
Compare
Choose a tag to compare

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

09 May 02:14
a17466d
Compare
Choose a tag to compare

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

06 Jan 02:08
1aa42d0
Compare
Choose a tag to compare

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

16 Dec 04:49
3c509e5
Compare
Choose a tag to compare

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

08 Dec 04:36
303c90d
Compare
Choose a tag to compare

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

11 Nov 04:27
33c862d
Compare
Choose a tag to compare

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

07 Oct 16:45
9cbe7ad
Compare
Choose a tag to compare

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.

Settings filled out

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

18 Sep 16:24
Compare
Choose a tag to compare

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

02 Sep 03:35
55cec5b
Compare
Choose a tag to compare

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.