All Projects β†’ martin-riedl β†’ CALexa

martin-riedl / CALexa

Licence: Apache-2.0 license
CALexa is an Amazon Alexa Skill which allows accessing CalDAV Calendars. It makes use of the Flask-Ask Python micro-framework developed by John Wheeler.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to CALexa

cookiecutter-flask-ask
Cookiecutter template for Alexa skills based on the fantastic Flask-Ask framework πŸΎπŸ—£β“
Stars: ✭ 51 (+70%)
Mutual labels:  amazon-echo, alexa-skill, amazon-alexa
Awesome Amazon Alexa
πŸ—£Curated list of awesome resources for the Amazon Alexa platform.
Stars: ✭ 458 (+1426.67%)
Mutual labels:  amazon-echo, alexa-skill, amazon-alexa
Chatskills
Run and debug Alexa skills on the command-line. Create bots. Run them in Slack. Run them anywhere!
Stars: ✭ 171 (+470%)
Mutual labels:  amazon-echo, alexa-skill, amazon-alexa
alexa-ruby
Ruby toolkit for Amazon Alexa service
Stars: ✭ 17 (-43.33%)
Mutual labels:  amazon-echo, alexa-skill, amazon-alexa
uPyEcho
Emulated Belkin WeMo device that works with Amazon Echo (Alexa) using MicroPython on an ESP32
Stars: ✭ 44 (+46.67%)
Mutual labels:  amazon-echo, amazon-alexa
Awesome Voice Apps
πŸ•Ά A curated list of awesome voice projects, tools, and resources for Amazon Alexa, Google Assistant, and more.
Stars: ✭ 138 (+360%)
Mutual labels:  alexa-skill, amazon-alexa
alexa-tesla
Alexa Skills Kit (ASK) project - Tesla monitoring and control for Amazon Echo devices
Stars: ✭ 23 (-23.33%)
Mutual labels:  amazon-echo, alexa-skill
ultimate-guide-to-voice-assistants
Curation of startups, resources, people, posts etc in the voice-space
Stars: ✭ 55 (+83.33%)
Mutual labels:  amazon-echo, amazon-alexa
Alexa Skill Kit
Library for effortless Alexa Skill development with AWS Lambda
Stars: ✭ 278 (+826.67%)
Mutual labels:  amazon-echo, alexa-skill
Kanzi
Alexa skill for controlling Kodi
Stars: ✭ 412 (+1273.33%)
Mutual labels:  amazon-echo, alexa-skill
Alexa Skills Kit Sdk For Java
The Alexa Skills Kit SDK for Java helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
Stars: ✭ 758 (+2426.67%)
Mutual labels:  amazon-echo, amazon-alexa
Voicewp
Create Alexa Skills through WordPress
Stars: ✭ 132 (+340%)
Mutual labels:  alexa-skill, amazon-alexa
Echo Sonos
Amazon Echo integration with Sonos
Stars: ✭ 722 (+2306.67%)
Mutual labels:  amazon-echo, alexa-skill
b1Assistant
[DEPRECATED] - See README
Stars: ✭ 15 (-50%)
Mutual labels:  amazon-echo, alexa-skill
alexa-skill-boilerplate
An easy to use Amazon Alexa Skill Boilerplate for fast skill creation
Stars: ✭ 54 (+80%)
Mutual labels:  amazon-echo, alexa-skill
Alexa Ip Cam
Use Alexa's Smart Home Skill API with standalone IP cameras without needing cloud service.
Stars: ✭ 121 (+303.33%)
Mutual labels:  alexa-skill, amazon-alexa
Jovo Framework
πŸ”ˆ The Open Source Voice Layer: Build Voice Experiences for Alexa, Google Assistant, Samsung Bixby, Web Apps, and much more
Stars: ✭ 1,320 (+4300%)
Mutual labels:  alexa-skill, amazon-alexa
Assistantcomputercontrol
Control your computer with your Google Home or Amazon Alexa assistant!
Stars: ✭ 554 (+1746.67%)
Mutual labels:  amazon-echo, amazon-alexa
Amazon Alexa Php
Php library for amazon echo (alexa) skill development.
Stars: ✭ 93 (+210%)
Mutual labels:  amazon-echo, alexa-skill
Amazon-Alexa-As-LG-TV-Remote
Control your LG WebOS 3.0+ TV with Amazon Alexa
Stars: ✭ 22 (-26.67%)
Mutual labels:  amazon-alexa

CALexa - An Alexa Skill for accessing CalDAV Calendars

Currently Alexa comes with a built-in google calender. If you're devoted to privacy principles and running your own CalDav-Server such as Baikal, but still go along with latest technology trends, you may not come around the amazon Alexa natural language assistent. This skill gives you the opportunity to easily host your own CalDav skill, e.g. using Nginx on a Raspberry Pi, to make your Calendar transparently accessible for Alexa.

Technical Aspects

This skill uses Flask-Ask, a Python micro-framework that simplifies developing Alexa skills. Great work John Wheeler! With a little knowledge of Python and Flask it is very simple to extend.

Running the CALexa Skill on a Raspberry Pi

If you haven't setup your own CalDAV server, I recommend looking at Jan Karres' Blog.

Nginx Configuration

Note:

  • If you're not confident using Nginx see the beginners guide!
  • In order to be able to interact with Amazon Alexa, your endpoint either has to provide a certificate from a trusted certificate authority or you have to upload a self-signed certificate in X.509 format.
  1. Add the following entry to your Nginx configuration (you may find it at /etc/nginx/sites-available/default):
location /calexa {
rewrite ^/calexa/?(.*)$ /$1 break;
    proxy_pass http://localhost:5000;
    client_max_body_size 0;

    proxy_connect_timeout  36000s;
    proxy_read_timeout  36000s;
    proxy_send_timeout  36000s;
}
  1. Restart Nginx.

  2. Start the CALexa skill as well:

python /yourpathtocalexa/calexa.py

Your service will now be available via https://yourdomain/calexa/

Configuration via Alexa Skills Kit

The configuration process is straigt forward, as known by other skills.

Intent Schema

Copy the content of the Intent Schema file to the Intent Schema field of the Interaction Model tab while using the Alexa Skills Kit for configuration.

Custom Slot Types

Add all Custom Slot Types defined by the files you can find in the Custom Slot Types directory, e.g.:

Enter Type

LIST_OF_CALENDAR_SYNONYMS

Enter Values

Kalender
Terminplaner
Agenda

Sample Utterances:

Copy the content of the Sample Utterance file to the Sample Utterances field of the Interaction Model tab while using the Alexa Skills Kit for configuration.

Interaction Example

User->Alexa: Alexa, was ist heute auf dem Kalender?
Note right of Alexa: Alexa does NLP
Alexa--> Skill: GetTodayEventsIntent
Note right of Skill: Skill accesses CalDAV server
Skill-->Alexa:  String(Es sind folgende Termine auf dem Kalender ...)
Note right of Alexa: Alexa synthesises NL from string
Alexa-->User:  Es sind folgende Termine auf dem Kalender ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].