/pd-iot-doorbell

AWS IoT Button that pages you via PagerDuty! (aka, a doorbell)

Primary LanguagePythonApache License 2.0Apache-2.0

pd-iot-doorbell

Press an AWS IoT button, get paged via PagerDuty

WHY would I do this?

Technically, it was fun to figure out how AWS IoT works. I'm sure I will appreciate this reference in the future because AWS IoT is full of new terms that I haven't used before.

Practically, I live in an apartment and we don't have a doorbell. In the past, the 🍕 delivery just drove off because they didn't have my cell number. 👿

But why not just use AWS SNS or Twilio directly? I could have, but there are multiple people that live here and it might be nice to utilize PagerDuty schedule overrides or other features without updating the Lambda Function.

End Result

Screenshot

Deploy

  1. Configure your AWS IoT button via documentation provided (There is no automated way to do this, as far as I know)
  2. Add an attribute to your IoT Thing for the serial number: "serial":"<insert serial number here>" -- This is used for discovery later
  3. Change Variables for your AWS Account: Makefile#L1-L5
  4. Deploy CloudFormation Template: make deploy
  5. Configure a PagerDuty Service, Escalation Policy, etc https://community.pagerduty.com/t/the-onboarding-checklist/475
  6. Add EC2 Parameter store secret in the region deployed that has the path: /pd-iot-button/service_key with the service_key setup in previous step
  7. Press the button, get paged, eat 🍕❗

Questions / Contact

I doubt that I will update this often, but I always watch GitHub Issues or Pull Requests. Feel free to reach me on Twitter as well.