Skip to content

Repository files navigation

https://raw.githubusercontent.com/Nekmo/amazon-dash/master/amazon-dash.png


pip-rating badgeLatest Tests CI build statusLatest PyPI versionPython versionsCode ClimateTest coverageGithub stars

DEVELOPMENT BRANCH: The current branch is a development version. Go to the stable release by clicking on the master branch.

Amazon-dash is still alive

Amazon has abandoned the Amazon-dash buttons, but this project wants to keep them alive. However, we are looking for alternatives. If you have suggestions you are welcome to open an incident. All suggestions are welcome. You can open an issue with your suggestions.

Python Amazon Dash

Hack your Amazon Dash to run what you want. Without welders. For the entire family.

This program written in Python runs in daemon mode waiting for someone in the same network to press a configured Amazon Dash button. It is not necessary to know programming to use this program. Amazon-Dash executes commands by command line, calls a url and more. This program works well on a Raspberry PI or on computers with few resources.

  1. Install Amazon Dash:
$ sudo pip3 install amazon-dash # and after:
$ sudo python3 -m amazon_dash.install

Also available on AUR and FreeNAS. You can also use pip2 and python2 if your system only has Python2, but Python 3 is the recommended version. See other installation methods in the documentation.

Note: It may also be necessary to install tcpdump on your system (in Debian apt install tcpdump).

  1. Hack and configure Wi-Fi:

You must hack your button with the hack-device command if you have never used it. Then you must configure the Wifi connection. You can skip this step if you have already configured the Wi-Fi connection to the router.

  1. Avoid a connection to Amazon servers

Since 2020 your buttons can be bricked in an update from Amazon servers. To continue using your buttons you must configure your router to block Internet connections from the buttons. More info in the Amazon-dash documentation.

4. Use discovery modeto know the mac of your Dash (Run the program, and then press any button). You can skip this step if you already know the mac address:

$ sudo amazon-dash discovery
  1. Edit config file (/etc/amazon-dash.yml):
# amazon-dash.yml# ---------------settings:
delay: 10devices:
0C:47:C9:98:4A:12: # Command examplename: Herouser: nekmocmd: spotifyAC:63:BE:75:1B:6F: # SSH examplename: Tassimocmd: door --openssh: 192.168.1.23:2222AC:63:BE:67:B2:F1: # Url Webhook examplename: Kit Katurl: 'http://domain.com/path/to/webhook'method: postcontent-type: jsonbody: '{"mac": "AC:63:BE:67:B2:F1", "action": "toggleLight"}'confirmation: send-tg40:B4:CD:67:A2:E1: # Home Assistant examplename: Fairyhomeassistant: hassio.localevent: toggle_kitchen_light18:74:2E:87:01:F2: # OpenHAB examplename: Doritosopenhab: 192.168.1.140item: open_doorstate: "ON"confirmation: send-pb44:65:0D:75:A7:B2: # IFTTT examplename: Pompadourifttt: cdxxx-_gEJ3wdU04yyyzzzevent: pompadour_buttondata: {"value1": "Pompadour button"}confirmations:
send-tg:
service: telegramtoken: '402642618:QwGDgiKE3LqdkNAtBkq0UEeBoDdpZYw8b4h'to: 24291592is_default: falsesend-pb:
service: pushbullettoken: 'o.BbbPYjJizbPr2gSWgXGmqNTt6T9Rew51'is_default: false

UPGRADE from previous versions

The following execution methods are supported with your Amazon Dash button with this program:

https://goo.gl/VqgMZJhttps://goo.gl/a6TS7Xhttps://goo.gl/zrjisq
System commandCall urlHomeassistant
https://goo.gl/Cq4bYChttps://goo.gl/L7ng8k
OpenHABIFTTT

Amazon-dash also allows you to send a confirmation after pressing a button. You will also receive a message in case of failure. Telegram and Pushbullet are supported.

For more information see the documentation of the configuration file.

  1. Run the daemon:

If you use a Systemd system (Debian 8+, Fedora 15+, Ubuntu 15.04+, Arch Linux 2012+, OpenSUSE 12.1+, and more) execute:

$ sudo systemctl start amazon-dash

To run Amazon-dash at startup:

$ sudo systemctl enable amazon-dash

To run Amazon-dash manually look at the documentation.

Docker

Using Amazon Dash within docker is easy! First, pull the Docker image:

$ docker pull nekmo/amazon-dash:latest

Then, create a container and run Amazon Dash itself:

$ docker run -it --network=host \ -v </full/path/path/to/amazon-dash.yml>:/config/amazon-dash.yml \ nekmo/amazon-dash:latest \ amazon-dash run --ignore-perms --root-allowed \ --config /config/amazon-dash.yml

Join the community

Do you need ideas on how to use Amazon Dash? See what the community does with this project. Some examples:

See all the examples in the community.

About

Hack your Amazon Dash to run what you want.

Topics

Resources

Contributing

Stars

849 stars

Watchers

28 watching

Forks

Releases

Packages

Used by

Contributors

Languages