Skip to content

Slack controlled light to show your availability. No servers run/harmed in the process

Notifications You must be signed in to change notification settings

elg0nz/serverless-slack-status-light

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serverless IoT Slack Status Light

A light controlled by Slack to communicate your availability. Powered by AWS IoT

Demo gif

More details available here: Blog

Directory Structure:

  • aws-lambda - AWS Lambda functions powered by Chalice
  • firmware - Source code our ESP8266 Firmware powered by Mongoose OS

Requirements:

*Affiliate Links

Instructions:

  1. Follow the Firmware setup in firmware/README.md
  2. Navigate to AWS IoT dashboard and head over to settings
  3. Write down the Custom Endpoint
  4. Modify aws-lambda/.chalice/config.json and change "CUSTOM_AWS_IOT_ENDPOINT" to the url you wrote down on the step before
  5. Follow the Lambda setup in aws-lambda/README.md
  6. Execute $ chalice url and write down the URL displayed
  7. Follow Slack setup instructions below

Slack Setup

  1. Navigate to Slack API Apps
  2. Click on "Create New App"
  3. Select your App Name & Workspace
  4. Navigate to Features > Slash Commands
  5. Create New Command
  6. Set command to "/set_status"
  7. Update request URL to CHALICE_URL.amazonaws.com/api/slack_command where CHALICE_URL is the URL you stored on step 6 above
  8. Set Usage hint to: "available | away | busy"
  9. Save and test!

MQTT commands & responses

Set Color Request

topic: "/commands/write/blinker" Sample request:

{"time": "2020-05-24T06:59:02+00:00", "red": 255, "green": 0, "blue": 0}

Parameters:

  • time: Timestamp of the request in ISO8601 format with timezones.
  • red: 0-255 value
  • green: 0-255 value
  • blue: 0-255 value

About

Slack controlled light to show your availability. No servers run/harmed in the process

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published