Skip to content

Creating your own smart service (aka: skill or voice action)

Florian Quirin edited this page Oct 18, 2019 · 7 revisions

Introduction

There are many ways to customize your SEPIA assistant but the most interesting one is probably building your own smart-service (aka "skill" or "voice action"). To do this you have a few options that will be explained in more detail below.

Requirements

  • The Teach-UI for custom voice triggers can be used without any additional requirements
  • To upload a custom smart service make sure the Assist-Server has SDK support enabled: Set enable_sdk=true in assist.*.properties or via Control-HUB
  • The server admin needs to add the role developer to any user that wants to upload a service.

Good to know

A new custom smart services is only available to the user that uploaded it unless you've used the 'assistant' user (core-account) to upload it to the server. If you want to share your service with other users consider submitting it to the SEPIA extensions repository.

Teach-UI inside the client

The Teach-UI available inside the official SEPIA app is the easiest possibility to create custom voice commands. Although this is technically not a new "service" it is still a very powerful feature especially when combined with SEPIA Mesh-Node plugins. If you want to learn a bit more check out this blog article: Control your Windows system remotely via voice. Here is a simple example that connects an existing SEPIA service with a custom trigger sentence:

S.E.P.I.A. Teach-UI

Code-UI inside the Control-HUB

The Code-UI is part of the SEPIA Control-HUB (aka admin tools) and an easy way to open, edit and upload a custom smart service that was previously created (by you or any other user). It is basically an online code editor that can import services from the SEPIA extensions repository and upload them to your SEPIA server.
If you feel comfortable writing code (its Java but not toooo hard to understand ^^) then this is an easy way to quickly make smaller adjustments to your service and upload the new version to the server. You could also use it as a simple way of sharing your service with other users by sending them your code and asking them to copy-paste it into the Code-UI for testing.

S.E.P.I.A. Code-UI

SEPIA Services SDK

The SEPIA Services SDK is a set of tools to create complex custom smart services, test them and upload them to the server.
If you are familiar with Java then you'll feel at home right away, just follow the SDK quick-start guide.

Can I create my own smart service without programming?

Currently the only way to create complex new services is to use Java. This can be a bit overwhelming for users that usually don't program. We will try to simplify this process in the future by offering more templates and introducing methods to build the code via a graphical interface (like Blockly for example). In the meantime I recommend to take a closer look at the available examples given in the SDK or extensions repository. Often they are much easier to understand than the first look suggests :-)

Have fun and check back soon for updates 👍 !