Home Assistant Voice Blueprints
Under construction
The blueprints are still under construction and might change quite frequently. I’ll try not to introduce any backwards incompatible changes.
About these blueprints
Since I received my Voice PE units, I’m a happy user of Assist in my house. The recently added LLM fallback functionality also gave a lot more functionality to voice in Home Assistant.
However, there is still some functionality lacking. Out of the box you can’t ask for things like weather, calendar entries because this information can only be retrieved with actions and action responses.
To bridge this gap, I created a repository with voice blueprints
On this respository I will put my blueprints which are created to help issuing advanced (voice) commands using Assist.
Voice configuration
There are basically 5 ways to configure a voice pipeline in Home Assistant:
# | LLM | Home Control (Assist) enabled | Local preference enabled | Description |
---|---|---|---|---|
1 | NA | NA | Local only | |
2 | LLM as voice agent, no home control, no local preference | |||
3 | LLM as voice agent, no home control, with local preference | |||
4 | LLM as voice agent, with home control, no local preference | |||
5 | LLM as voice agent, with home control, with local preference |
On this repository different blueprints will be placed with the same goal. The will differ in which op the above mentioned configurations are supported. Based on that, also other aspects will differ.
Blueprint options
There are 3 options for the blueprints
-
Option 1: Local automation
-
Option 2: LLM Enhanced automation
-
Option 3: Full LLM script
Description | Option 1 | Option 2 | Option 3 |
---|---|---|---|
Supported voice configurations | 1, 2, 4 | 1, 3, 5 | 3, 4, 5 |
Fully local, no LLM required | |||
No home control for LLM required | |||
No strict voice commands | |||
Complete freedom in voice commands | |||
Variance in responses for each request | |||
Works without need for translations |
The groundwork for option 2 was done by JLo in his blog post on GPT-powered music search. This blog post was a big inspiration for the LLM enhanced automation, and also enabled the full LLM script. So big thanks to JLo!
The Blueprints
Weather Forecasts
Using these blueprints you can ask for the weather forecast from a weather entity in your system.
Option | Import Button |
---|---|
1: Local | |
2: LLM Enhanced | To be created |
3: Full LLM |
Calendar
Using these blueprints you can ask for the calendar entries from one or more calendar entities in your system.
Option | Import Button |
---|---|
1: Local | |
2: LLM Enhanced | To be created |
3: Full LLM |
ToDo
Using these blueprints you can ask for the todo list items from the todo entities in your system.
Option | Import Button |
---|---|
1: Local | |
2: LLM Enhanced | To be created |
3: Full LLM | To be created |
Music Assistant
For completeness I also mention these blueprints here. They are located on the Music Assistant Voice support repository.
I’m also a maintainer of that repository and did a lot of work on those blueprints together with some other guys.
Using these bleuprints you can issue voice commands to play media on your Music Assistant media players.
Option | Import Button |
---|---|
1: Local | |
2: LLM Enhanced | |
3: Full LLM |
Planned
-
Add missing options for weather and calendar
-
Add blueprints to create reminders
-
Add blueprints to add and list todo items, including due dates/times
-
…
Questions/issues/bugs/feature requests?
In case you have a question, you found a bug, or have a feature request open an issue on the GitHub repository.
In case something isn’t working or you found a bug, a trace of the script will be needed in most cases to determine the cause. The trace can be downloaded as a json file. To do this follow the steps below:
-
Find the relevant script or automation in the list.
-
Click on 3 dot menu icon left of the script and then select
Traces
-
Make sure to select the right trace which contains the error
-
Press the 3 dot menu icon in the top right corner, and select
Download trace
-
Press the download icon in the top right corner.
In case you create the issue on GitHub you can upload the json files, in case you create the issue as a post here, you can copy the json files to a code sharing website like dpaste.org. Please create a different link for each json file.
Coffee
If you think I deserve a coffe, please feel free to buy me one (I might spend it on another beverage though).
In case you decide to do so, thanks a lot!
Or you can do a small donation using PayPal.