Voice Monkey (Independent Publisher) (#3201)

* init

* README updates
This commit is contained in:
Rick Wilson 2024-03-28 08:31:58 -04:00 коммит произвёл GitHub
Родитель 305e4d68d6
Коммит c4506376fd
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
3 изменённых файлов: 523 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,70 @@
# Voice Monkey
Voice Monkey enhances Amazon Alexa's functionality by enabling external triggering of Alexa Routines and offering features like custom Text To Speech announcements and media playback. It integrates with platforms such as IFTTT, Zapier, and Home Assistant, facilitating Alexa's connection with a variety of applications and smart devices. These integrations collectively enrich the smart home experience, making Alexa a more versatile and dynamic tool for home automation.
## Publisher: Richard Wilson
## Prerequisites
To use Voice Monkey, you'll need to create a Voice Monkey account. Sign up on the [Voice Monkey website](https://voicemonkey.io/), where you can choose between the free and paid plans. The free plan covers essential features, while the paid plan offers advanced functionalities for more extensive use cases.
## Supported Operations
The Voice Monkey integration supports a variety of operations to enhance your interaction with Alexa devices:
### 1. Trigger a Voice Monkey Routine
This operation allows you to remotely trigger a pre-defined Alexa routine via Voice Monkey.
- **Input Properties:**
- **Device ID:** The unique identifier of the Alexa device where the routine will be triggered.
- **Routine Details:** Specify the particular routine to be triggered.
### 2. Make an Announcement
Enables you to send custom TTS announcements to your Alexa devices.
- **Input Properties:**
- **Device ID:** The unique identifier of the Alexa device for the announcement.
- **Announcement Text:** The text to be converted to speech.
- **Voice:** (Optional) The voice to be used for the announcement.
- **Language:** (Optional) Language code to enhance the announcement's clarity.
- **Chime:** (Optional) Sound to play at the start of the announcement.
- **Audio:** (Optional) URL of an audio file to play.
- **Background Audio:** (Optional) Background audio file URL to play alongside the text to speech.
- **Website:** (Optional) URL of a website to open on screen-enabled Echo devices.
- **No Background:** (Optional) Set to true to not show Voice Monkey logo or image on screen-enabled devices.
- **Image:** (Optional) URL of an image file to display.
- **Media Width:** (Optional) Width of the image file.
- **Media Height:** (Optional) Height of the image file.
- **Media Scaling:** (Optional) Scaling option for the image.
- **Media Alignment:** (Optional) Alignment of the image within the container.
- **Media Radius:** (Optional) Clipping radius for image corners.
- **Video:** (Optional) URL of a video file to display.
- **Video Repeat:** (Optional) Number of times the video should loop.
- **Character Display:** (Optional) Text to display on devices like the Echo Dot With Clock.
### 3. Trigger a Flow
Start a specific Voice Monkey Flow based on your defined criteria.
- **Input Properties:**
- **Device ID:** The unique identifier of the Alexa device.
- **Flow ID:** The numeric ID of the Flow you wish to initiate.
## Obtaining Credentials
1. **Sign Up for Voice Monkey:**
- Visit [Voice Monkey's Website](https://voicemonkey.io) and sign up for an account.
2. **Access Your Dashboard:**
- Once registered, navigate to the Dashboard page on Voice Monkey.
3. **Get Your Tokens:**
- Find your Access token and Secret token within the Dashboard. These tokens are essential for using the Voice Monkey connector.
Please ensure that you keep your tokens secure and do not share them publicly.
## Known Issues and Limitations
Currently, there are no known issues or limitations with the Voice Monkey integration. Always refer to this section for the most up-to-date information regarding the connector's performance and compatibility.

Просмотреть файл

@ -0,0 +1,430 @@
{
"swagger": "2.0",
"info": {
"title": "Voice Monkey",
"description": "Voice Monkey allows you to trigger Alexa routines externally and send custom Text To Speech (TTS) commands to your devices for announcements.",
"version": "1.0",
"contact": {
"name": "Richard Wilson",
"email": "richard.a.wilson@microsoft.com",
"url": "https://www.richardawilson.com/"
}
},
"host": "api-v2.voicemonkey.io",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/announcement": {
"post": {
"summary": "Make an Announcement",
"description": "Allows you to make TTS announcements on your Alexa devices and send content such as images, audio, and video.",
"operationId": "makeAnnouncement",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"device": {
"type": "string",
"description": "Device ID string you're targeting.",
"title": "Device ID",
"x-ms-summary": "Device ID",
"x-ms-visibility": "important"
},
"text": {
"type": "string",
"description": "Text for TTS announcement.",
"title": "Announcement Text",
"x-ms-summary": "Text",
"x-ms-visibility": "important"
},
"voice": {
"type": "string",
"description": "The Voice used when making an announcement.",
"title": "Voice",
"x-ms-summary": "Voice",
"enum": [
"Nicole",
"Russell",
"Amy",
"Emma",
"Brian",
"Raveena",
"Aditi",
"Ivy",
"Joanna",
"Kendra",
"Kimberly",
"Salli",
"Joey",
"Justin",
"Matthew",
"Geraint",
"Celine",
"Lea",
"Mathieu",
"Chantal",
"Marlene",
"Vicki",
"Hans",
"Bianca",
"Carla",
"Giorgio",
"Takumi",
"Mizuki",
"Camila",
"Vitoria",
"Ricardo",
"Conchita",
"Lucia",
"Enrique",
"Mia",
"Penelope",
"Lupe",
"Miguel"
],
"x-ms-visibility": "important"
},
"language": {
"type": "string",
"description": "A Language code for the announcement.",
"title": "Language Code",
"x-ms-summary": "Language",
"enum": [
"de-DE",
"en-AU",
"en-CA",
"en-GB",
"en-IN",
"en-US",
"es-ES",
"es-MX",
"es-US",
"fr-CA",
"fr-FR",
"hi-IN",
"it-IT",
"ja-JP",
"pt-BR"
]
},
"chime": {
"type": "string",
"description": "Choose the notification/alarm sound at the start of an announcement.",
"title": "Chime",
"x-ms-summary": "Chime",
"enum": [
"soundbank://soundlibrary/alarms/air_horns/air_horn_01",
"soundbank://soundlibrary/alarms/beeps_and_bloops/boing_01",
"soundbank://soundlibrary/alarms/beeps_and_bloops/bell_01",
"soundbank://soundlibrary/alarms/beeps_and_bloops/bell_02",
"soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_05",
"soundbank://soundlibrary/alarms/buzzers/buzzers_01",
"soundbank://soundlibrary/alarms/buzzers/buzzers_04",
"soundbank://soundlibrary/alarms/chimes_and_bells/chimes_bells_04",
"soundbank://soundlibrary/alarms/beeps_and_bloops/bell_03",
"soundbank://soundlibrary/alarms/beeps_and_bloops/bell_04",
"soundbank://soundlibrary/home/amzn_sfx_doorbell_01",
"soundbank://soundlibrary/home/amzn_sfx_doorbell_chime_02",
"soundbank://soundlibrary/musical/amzn_sfx_electronic_beep_01",
"soundbank://soundlibrary/musical/amzn_sfx_electronic_beep_02",
"soundbank://soundlibrary/scifi/amzn_sfx_scifi_timer_beep_01",
"soundbank://soundlibrary/alarms/beeps_and_bloops/intro_02",
"soundbank://soundlibrary/scifi/amzn_sfx_scifi_alarm_01",
"soundbank://soundlibrary/alarms/beeps_and_bloops/buzz_03",
"soundbank://soundlibrary/musical/amzn_sfx_test_tone_01",
"soundbank://soundlibrary/alarms/beeps_and_bloops/tone_02",
"soundbank://soundlibrary/alarms/beeps_and_bloops/tone_05",
"soundbank://soundlibrary/alarms/beeps_and_bloops/woosh_02"
]
},
"audio": {
"type": "string",
"description": "URL of an audio file to play. Must be an HTTPS URL.",
"title": "Audio URL",
"x-ms-summary": "Audio"
},
"background_audio": {
"type": "string",
"description": "Background audio file URL when using text to speech. Must be an HTTPS URL.",
"title": "Background Audio URL",
"x-ms-summary": "Background Audio"
},
"website": {
"type": "string",
"description": "URL of a website to open on Echo devices with a screen. Must be an HTTPS URL.",
"title": "Website URL",
"x-ms-summary": "Website"
},
"no_bg": {
"type": "boolean",
"description": "Set to true to not show Voice Monkey logo or image on screen enabled device.",
"title": "No Background",
"x-ms-summary": "No Background"
},
"image": {
"type": "string",
"description": "URL of an image file to display on screen enabled devices. Must be an HTTPS URL.",
"title": "Image URL",
"x-ms-summary": "Image"
},
"media_width": {
"type": "integer",
"description": "Width of the image file.",
"title": "Media Width",
"x-ms-summary": "Media Width"
},
"media_height": {
"type": "integer",
"description": "Height of the image file.",
"title": "Media Height",
"x-ms-summary": "Media Height"
},
"media_scaling": {
"type": "string",
"description": "Scaling option for the image.",
"title": "Media Scaling",
"x-ms-summary": "Media Scaling",
"enum": [
"none",
"fill",
"best-fill",
"best-fit",
"best-fit-down"
]
},
"media_align": {
"type": "string",
"description": "Alignment of the image within the container.",
"title": "Media Alignment",
"x-ms-summary": "Media Alignment",
"enum": [
"bottom",
"bottom-left",
"bottom-right",
"center",
"left",
"right",
"top",
"top-left",
"top-right"
]
},
"media_radius": {
"type": "integer",
"description": "Clipping radius for the image corners.",
"title": "Media Radius",
"x-ms-summary": "Media Radius"
},
"video": {
"type": "string",
"description": "URL of a video file to display on screen enabled devices. Must be an HTTPS URL.",
"title": "Video URL",
"x-ms-summary": "Video"
},
"video_repeat": {
"type": "integer",
"description": "Number of times the video should loop.",
"title": "Video Repeat Count",
"x-ms-summary": "Video Repeat"
},
"character_display": {
"type": "string",
"description": "Text to display on devices like the Echo Dot With Clock.",
"title": "Echo Dot With Clock Display",
"x-ms-summary": "Echo Dot With Clock Display"
}
},
"required": [
"device"
]
}
}
],
"responses": {
"200": {
"description": "Announcement triggered successfully",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indicates if the announcement was triggered successfully.",
"title": "Success",
"x-ms-summary": "Success"
},
"message": {
"type": "string",
"description": "Detailed message regarding the announcement.",
"title": "Message",
"x-ms-summary": "Message"
}
}
}
}
}
}
},
"/trigger": {
"post": {
"summary": "Trigger a Routine",
"description": "Triggers one of your Voice Monkey Trigger Devices which in turn will start one of your Alexa Routines.",
"operationId": "triggerRoutine",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"device": {
"type": "string",
"description": "The Device ID string that you're targeting. Found in the Devices section within Settings or in the API Playground.",
"title": "Device ID",
"x-ms-summary": "Device ID",
"x-ms-visibility": "important"
}
},
"required": [
"device"
]
}
}
],
"responses": {
"200": {
"description": "Routine triggered successfully",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indicates if the routine was triggered successfully.",
"title": "Success",
"x-ms-summary": "Success"
},
"message": {
"type": "string",
"description": "Detailed message regarding the routine trigger.",
"title": "Message",
"x-ms-summary": "Message"
}
}
}
}
}
}
},
"/flows": {
"post": {
"summary": "Trigger a Flow",
"description": "Starts the Voice Monkey Flow that you define in the request.",
"operationId": "triggerFlow",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"flow": {
"type": "integer",
"description": "The numeric ID of the Flow you wish to start. Found in the Flows section within the console.",
"title": "Flow ID",
"x-ms-summary": "Flow ID",
"x-ms-visibility": "important"
}
},
"required": [
"flow"
]
}
}
],
"responses": {
"200": {
"description": "Flow triggered successfully",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indicates if the flow was triggered successfully.",
"title": "Success",
"x-ms-summary": "Success"
},
"message": {
"type": "string",
"description": "Detailed message regarding the flow trigger.",
"title": "Message",
"x-ms-summary": "Message"
}
}
}
}
}
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"API Key": {
"type": "apiKey",
"in": "header",
"name": "Authorization"
}
},
"security": [
{
"API Key": []
}
],
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://us.govee.com/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://us.govee.com/policies/privacy-policy"
},
{
"propertyName": "Categories",
"propertyValue": "Internet of Things"
}
]
}

Просмотреть файл

@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "Voice Monkey API Key",
"description": "Secret token found in the Voice Monkey console.",
"tooltip": "Provide your API Key",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "Richard Wilson",
"stackOwner": "Voice Monkey"
}
}