Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

Wenn Ihr auch einen übrig gebliebenen DASH Button habt hier eine Möglichkeit wie Ihr diesen über den Raspberry in IP Symcon einbindet!

WICHTIG: In Eurem Router die IP Adresse des Dash Button so konfigurieren, dass er nicht nach Extern kommunzieren kann!

Bei mir ist der Dash Button konfiguriert mit der IP 192.168.1.45 im Router (fixe Vergabe zu dieser MAC Adresse 12:12:12:12:12:12)

sudo apt-get install scapy
sudo apt-get install tcpdump
sudo mkdir /root/dash
Source code

Folgendes Script anlegen (bei mac_to_action die MAC Adresse ersetzen)

sudo vi /root/dash/dash.py
import datetime
import logging
import urllib2
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *
def button_pressed_dash1():
 current_time = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
 print 'Dash button pressed' + current_time
 urllib2.urlopen('http://127.0.0.1:3777/hook/dash1?dash1')
 
def udp_filter(pkt):
 options = pkt[DHCP].options
 for option in options:
 if isinstance(option, tuple):
 if 'requested_addr' in option:
 # we've found the IP address, which means its the second and final UDP request, so we can trigger our action
 mac_to_action[pkt.src]()
 break
mac_to_action = {'12:12:12:12:12:12' : button_pressed_dash1}
mac_id_list = list(mac_to_action.keys())
print "Waiting for a button press..."
sniff(prn=udp_filter, store=0, filter="udp", lfilter=lambda d: d.src in mac_id_list)
if __name__ == "__main__":
 main()
 
Source code

Webhook in IP Symcon einrichten:

In dem Script oben welches zuvor angelegt wurde kann man dann etwas machen wenn der Amazon Dash Button gedrückt wurde. Das bleibt jedem Individuell hinterlassen.

https://www.symcon.de/forum/threads/32310-Dash-Button/page3  (hier ist noch ein python script drinnen wenn man mehr als einen Dash Button hat)

Jetzt noch ein kleines Script schreiben welches dann auch in die crontab hinterlegt wird für den Reboot.

sudo vi /root/dash/dash.sh
 #!/bin/sh
 /usr/bin/python /root/dash/dash.py
sudo chmod 744 /root/dash/dash.sh
sudo /root/dash/dash.sh &
sudo crontab -e
@reboot /root/dash/dash.sh >/tmp/dash.log 2>&1
Source code