• Stars
    star
    795
  • Rank 57,274 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hack your Amazon Dash to run what you want.

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


Latest Tests CI build status Latest PyPI version Python versions Code Climate Test coverage Requirements Status

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 mode to 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: 10
devices:
  0C:47:C9:98:4A:12: # Command example
    name: Hero
    user: nekmo
    cmd: spotify
  AC:63:BE:75:1B:6F: # SSH example
    name: Tassimo
    cmd: door --open
    ssh: 192.168.1.23:2222
  AC:63:BE:67:B2:F1: # Url Webhook example
    name: Kit Kat
    url: 'http://domain.com/path/to/webhook'
    method: post
    content-type: json
    body: '{"mac": "AC:63:BE:67:B2:F1", "action": "toggleLight"}'
    confirmation: send-tg
  40:B4:CD:67:A2:E1: # Home Assistant example
    name: Fairy
    homeassistant: hassio.local
    event: toggle_kitchen_light
  18:74:2E:87:01:F2: # OpenHAB example
    name: Doritos
    openhab: 192.168.1.140
    item: open_door
    state: "ON"
    confirmation: send-pb
  44:65:0D:75:A7:B2: # IFTTT example
    name: Pompadour
    ifttt: cdxxx-_gEJ3wdU04yyyzzz
    event: pompadour_button
    data: {"value1": "Pompadour button"}
confirmations:
  send-tg:
    service: telegram
    token: '402642618:QwGDgiKE3LqdkNAtBkq0UEeBoDdpZYw8b4h'
    to: 24291592
    is_default: false
  send-pb:
    service: pushbullet
    token: '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/VqgMZJ https://goo.gl/a6TS7X https://goo.gl/zrjisq
System command Call url Homeassistant
https://goo.gl/Cq4bYC https://goo.gl/L7ng8k
OpenHAB IFTTT

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.

More Repositories

1

dirhunt

Find web directories without bruteforce
Python
1,473
star
2

telegram-upload

Upload and download files from Telegram up to 4 GiB using your account
Python
689
star
3

gkeep

Google Keep Command Line Interface (CLI)
Python
166
star
4

django-code-generator

Generate code from your Django models for faster development
Python
36
star
5

then

The Actions library for Python developers
Python
29
star
6

simple-monitor-alert

A simple monitor with alerts for Unix/Linux under the KISS philosophy.
Python
29
star
7

sphinx-business-theme

Sphinx theme to generate PDF files using Weasyprint
SCSS
28
star
8

proxy-db

Manage free and private proxies on local db for Python Projects
Python
25
star
9

ansible-keepass

Use become (sudo) in Ansible without giving any password and safely
Python
25
star
10

python-akismet

Akismet support for Python 2/3
Python
15
star
11

angular-django

Django Rest Framework API for Angular with self-building classes, forms, and listings
TypeScript
13
star
12

yakuake-sessions

Python
11
star
13

nekumo-cloud

Nekumo File Manager
Python
11
star
14

djangocms-comments

DjangoCMS Comments Module
Python
11
star
15

cookiecutter-django-backend

A cookiecutter for enterprise projects with support for Celery, Django Rest Framework and deployment with Ansible and Docker
Python
10
star
16

anime-crc

Validate and create CRC checksums for files (ex. anime video [ABCD01234].mkv)
Python
9
star
17

cinebot

Bot Telegram para consultar la cartelera unificada de tus cines
Python
9
star
18

pip-rating

Check the health of your project's requirements and get a score for each dependency.
Python
8
star
19

django-rest-framework-security

Python
7
star
20

pentest-studio

Project management for auditors. Create command templates and execute them with one click
JavaScript
7
star
21

stream-anywhere

Play a video on your pc and continue on your smartphone
Python
6
star
22

angular2-django

angular2-django is Django Rest Framework API for Angular 5+
TypeScript
6
star
23

presentacion-djangocms

Presentaci贸n b谩sica de DjangoCMS, orientado a usuarios no familiarizados con Python o Django
JavaScript
5
star
24

random-episode

Play a random chapter of your favorite series, like The Simpsons, Futurama, Friends...
Python
5
star
25

geoip2-tools

Automatic updates and administration of MaxMind GeoIP2 databases.
Python
5
star
26

micropython

Gu铆a, informaci贸n y recursos Micropython
Python
4
star
27

python311-presentacion

Presentaci贸n "驴Qu茅 hay de nuevo en Python 3.11?"
SCSS
4
star
28

smart-display

TypeScript
3
star
29

python-packages-management

Presentaci贸n de Pip y virtualenvs en Python
CSS
3
star
30

djangocms-ejemplo

Python
3
star
31

django-rest-framework-presentacion

Presentaci贸n "Construyendo APIs con Django Rest Framework".
Python
3
star
32

novedades-python311

HTML
3
star
33

dirhunt-presentacion

Presentaci贸n Dirhunt para Hack&Beers
CSS
2
star
34

djangocms-presentation

JavaScript
2
star
35

django-angular2-presentation

CSS
2
star
36

anime-news-network

Python
2
star
37

nekbot

Python
2
star
38

telegram-bot

Python
2
star
39

github-contributions

Python
2
star
40

best-browsable-api

Improves the browsable api of Django Rest Framework
HTML
2
star
41

nginx-dynamic-ips

Python
2
star
42

dotfiles

Python
2
star
43

django-angular2-example

Ejemplo de Angular 6 junto Django Rest Framework
TypeScript
2
star
44

pypi-admin

Manage your Pypi warehouse account from console or using a awesome Python API
Python
2
star
45

AdventOfCode

Python
1
star
46

pulseaudio-screen

Python
1
star
47

django-angular2

Python
1
star
48

python-thumbs

Python
1
star
49

djangorestframework-sudo

Temporary confirmation for dangerous actions such as changing the password
Python
1
star
50

os3

Python
1
star
51

file-cache

Python
1
star
52

selfhosted-docs

Python
1
star
53

Nekmo

1
star
54

mitmproxy-presentacion

Presentaci贸n mitmproxy para OpenSouthCode 2023
SCSS
1
star
55

pynabaztag-sounds-es

Archivos de audio en espa帽ol para PyNabaztag
1
star
56

cookiecutter-python-package

Python
1
star