Veeam RestfulAPI & Alexa demo
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Update README.md Dec 3, 2017
veeam-alexa-demo.py
veeam-intent-schema-ENGL.json Add files via upload Dec 1, 2017
veeamapiconfig.py Add files via upload Nov 30, 2017

README.md

Veeam RESTful API & Amazon Alexa

Disclaimer

  • This project is a private one and not supported by Veeam
  • I don't have any programming skills. Everthing was put together using copy & paste and trial and error.
  • This is just a demo, but it can easily be extended with more features.

Purpose

I like Alexa and since I am working at Veeam I thought why not use our RESTful API to use with Alexa :)

This is only a demo how to consume the Veeam RESTful API with Amazon Alexa.

Demo

Demo on Youtube

Overview

2017-11-29 23_42_25-powerpoint-bildschirmprasentation - grafiken pptx

Local Setup

  1. Download ngrok
  2. Launch ngrok on a machine that has access to Veeam Backup Enterprise Manager Port 9398
    ngrok http 5000
    

This will expose localhost:5000 to the public internet. 3. Download and install latest version of Python 3.x 4. Use pip to install required python modules:

pip install requests flask flask_ask unidecode
  1. Download veeam-alexa-demo.py and veeam-alexa.config to the machine that runs ngrok
  2. Edit veeam-alexa.config with your Veeam Backup Enterprise Manager details:
    server = "enterprisemanager.dns"
    port = 9398
    verifyssl = False
    admin = "hostname\\Administrator"
    password = "verysecurepassword"
    
  3. Start the Python flask app
    python veeam-alexa.py
    

AWS Alexa Setup

  1. Goto https://developer.amazon.com/edw/home.html and sign in / create a new developer account 2017-11-26 02_37_06-amazon developer sign in

  2. Select Alexa Skills Kit and hit Get started 2017-11-26 02_37_56-amazon apps services developer portal

  3. Hit Add a New Skill 2017-11-26 02_38_14-amazon apps services developer portal

  4. Skill information: Skill Type: Custom Interaction Model

    • Language: English (U.S.)
    • Name: choose a name
    • Invocation Name: veam (write it this way if you want to call the skill using "Veeam"; you can select any other invocation name of course)
    • Hit Save and then Next 2017-11-26 02_39_05-amazon apps services developer portal
  5. Interaction model: Launch Skill Builder

    • Intent Schema - open the Code Editor on the left
    • Use veeam-intent-schema-ENGL.json
    • Save & Build Model 2017-11-26 02_42_23-alexa skills kit _ skill builder beta2
  6. Go to Configuration (top right menue button)

    • Service Endpoint Type: HTTPS
    • Default: use the ngrok https address (step 2 in Local Setup; example: https://19a1e1ff.ngrok.io)
    • Provide geographical region endpoints?: No
    • Account Linking: No
    • Permissions: leave as is (default)
    • Hit Next 2017-11-26 02_42_23-alexa skills kit _ skill builder beta3 2017-11-26 02_44_49-amazon apps services developer portal
  7. SSL Certificate

    • Select second option: " My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority"
    • Hit Next 2017-11-26 02_45_20-amazon apps services developer portal
  8. Test - Enter Utterances:

    • Give me an overview
    • How many jobs there are
    • Did my jobs run
    • How much free space is left
    • Give me an overview about my repositories
    • How many jobs are running right now
    • How large was last night's backup 2017-11-26 02_57_05-amazon apps services developer portal

Use the skill with Alexa

  1. Use your browser to navigate to alexa.amazon.com & login
  2. Go to Skills (left menue)
  3. Go to "Your Skills" (top right)
  4. You should see your veeam-alexa-demo skill
  5. Try it out!

Note: Your Echo device needs to be setup in English language (alexa.amazon.com settings of the echo device)

This is how it looks like in the Alexa app:

screenshot_20171130-132001

Credits

Useful links