KENZY: Skill Manager
The Skill Manager device acts as the Brain for all collecting, storing, processing, and responding to events. It uses an intent determination routine to translate text into actions/responses. Those actions are then defined by Skills that can be added or created to meet any preference.
Parameters
Parameter | Type | Default | Description |
---|---|---|---|
group | str | None | Device membership group |
location | str | None | Location, e.g. "Living Room" |
folder.skills | str | ~/.kenzy/skills | Skills folder |
folder.temp | str | /tmp/intent_cache | Trained intents storage |
wake_words | list | ["Kenzie", "Kenzy", "Kinsey"] | Wake words |
timeout.wake | float | 15 | Idle time between wake words |
timeout.ask | float | 10 | Wait time after "ask" commands |
log_level | str | info | Log level to include in logs |
Example YAML file
See Service Settings for options in the service group.
type: kenzy.skillmanager
device:
log_level: debug
location: Living Room
group: Primary
folder.skills: ~/.kenzy/skills
folder.temp: /tmp/intent_cache
wake_words:
- Kenzy
- Kenzie
- Kensey
timeout.wake: 45
timeout.ask: 10
service:
upnp.type: server
host: 0.0.0.0
port: 9700
Basic Skills List
Name | Example | Description |
---|---|---|
HelloSkill | "Hello" | Simple greeting skill |
AboutSkill | "How are you?" | Provides general information |
CheckVersionSkill | "What is your version?" | Gives the current version |
KnockKnockSkill | "Knock, Knock" | Responds to "Knock, Knock" jokes |
PowerDownSkill | "Please Power Down" | Shutsdown the server |
TellDateTimeSkill | "What is the date?" | Gives the date, time or day of week. |
TellJokeSkill | "Tell me a joke." | Tells a random joke |
ThankYouSkill | "Thank you" | Displays manners |
HomeAssistantSkill | "Turn on the lights" | Interacts with home assistant devices. |
Some skills allow for additional configuration. These configurations can be specified under the type: kenzy.skillmanager
device using the skill name as its parent.
For example:
type: kenzy.skillmanager
device:
group: My Group
location: Family Room
HomeAssistantSkill:
url: http://homeassistant.local:8123
token: <long-lived-access-token>
Skills Settings
HomeAssistantSkill
The HomeAssistantSkill allows for you to specify the following parameters:
Parameter | Type | Description |
---|---|---|
url | str | The complete URL to your HA server |
token | str | A long-lived access token generated from HA |
area_aliases | dict | A dictionary of name/value pairs of Area IDs and friendly names to use |
entity_aliases | dict | A dictionary of name/list pairs of Entity IDs and friendly name alternatives |
Example:
type: kenzy.skillmanager
device:
HomeAssistantSkill:
url: http://homeassistant.local:8123
token: <long-lived-access-token>
area_aliases:
ha_area_id_here: My First Area
ha_area2_id_here: My Second Area
entity_aliases:
light.my_switch_list:
- My Switch Light
- My Ceiling Light
WeatherSkill
The WeatherSkill allows for you to specify the following parameters:
Parameter | Type | Description |
---|---|---|
api_key | str | Current Weather API Key from openweathermap.org |
lat | float | Lattitude of location to provide weather update |
lon | float | Longitude of location to provide weather update |
units | str | Default: imperial; Options: metric, imperial, standard (a.k.a. kelvin) |
Example:
type: kenzy.skillmanager
device:
WeatherSkill:
api_key: <api_key_here>
lat: 43.878708
lon: -103.458935
units: imperial
Help & Support
Help and additional details is available at https://kenzy.ai