Amazon Dash Button an Loxone

 

Das folgende HowTo ist aus dem Loxforum entnommen und aktualisiert.

Das originale HowTo wurde von neonnt verfasst.

 

 

Benötigte Hardware:
Amazon Dash Button
Raspberry Pi

1.) Dash Button über die Amazon App bis zu dem Schritt durchkonfigurieren, an dem man dazu aufgefordert wird, dem Button ein bestimmtes Produkt zuzuordnen. An diesem Punkt die App einfach beenden. Danach sollte der Internet Zugriff für den Dash-Button gesperrt werden, um sicherheitshalber Bestellungen zu verhindern. Den Internetzugang kann man z.B. ueber die Kindersicherung der Fritzbox sperren.

2.) Mac Adresse des Dash Buttons herausfinden. Ich habe das über das Ereignislog der Fritzbox gemacht.

3.) Raspberry vorbereiten und node.js node installieren (Anleitung in Schritt 4). Wer schon Homebridge drauf hat, kann sich diesen Schritt sparen.

4.) Dasher App installieren, siehe hier: 

Code:
https://github.com/maddox/dasher/

5.) Virtuellen Eingang in Loxone Config anlegen für den Pulse. Habe ich derzeit für Licht an/aus. Die uuid das Eingangs herausfinden, dazu /web/data/LoxAPP3.json per FTP anschauen auf dem Loxone.

Statt relativ umstaendlich die UUID des angelegten Eingangs herauszufinden, kann man diesen ueber seinen eindeutigen Namen, den man in der LoxoneConfig vergeben kann, direkt ansprechen. 


6.) Dasher config.json, User, Pass und <Name des virtuellen Eingangs> des Virtuellen Eingangs entsprechend anpassen

Code:
{"buttons":[
  {
    "name": "Dash Button 1",
    "address": "11:22:3a:4b:5c:6f",
    "interface": "eth0",
    "protocol": "udp",
    "url": "http://user:pass@ms.fritz.box:80/dev/sps/io/<Name des virtuellen Eingangs>/Pulse",
    "method": "GET"
  },
  {
    "name": "Dash Button 2",
    "address": "11:22:3a:4b:5c:6d",
    "interface": "eth0",
    "protocol": "udp",
    "url": "http://user:pass@ms.fritz.box:80/dev/sps/io/<Name des virtuellen Eingangs>/Pulse",
    "method": "GET"
  }
]}

7.) Testen ob es läuft. Dazu unter /home/user/dasher/ die app.js ausführen mit "sudo node app.js". Jetzt sollte angezeigt werden, dass die Buttons eingebunden wurden. (Bei mir läuft das hier schon per systemd) 

Code:
May 24 22:17:35 loxberry systemd[1]: Started dasher app.js - Dash Button Listener.
May 24 22:17:38 loxberry node[5438]: [2017-05-24T20:17:38.200Z] Dash Button 1 added.
May 24 22:17:38 loxberry node[5438]: [2017-05-24T20:17:38.310Z] Dash Button 2 added.

8.) Wenn alles geklappt hat den service per systemd aktivieren. Ich habe Raspbian Jessie auf dem Raspberry.

"sudo nano /lib/systemd/system/dasher.service"

folgendes dort eintragen:

Code:
[Unit]
Description=dasher app.js - Dash Button Listener
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/node /home/user/dasher/app.js
Restart=on-failure

[Install]
WantedBy=multi-user.target

Nochmal testen mit "sudo systemctl start dasher", wenn alles passt "sudo systemctl enable dasher" um das script beim booten zu aktivieren. Ggf. mit "sudo systemctl status dasher" überprüfen.