Amazon Dash-Button in FHEM benutzen

Hallo, ich habe mir ein paar Amazon Dash-Button’s bestellt um sie mit FHEM als (Not-) Ruftaster zu verwenden.

Als erstes müssen Sie mit eurem Netzwerk verbunden werden. Dazu muss man über die Amazon-App die Dash-Buttons einrichten.
Tja, da war mein Problem als Windows Phone Besitzer, das geht nicht mehr. Also musste das Handy von meiner Frau her, die Amazon App installieren und los gings… (Das Einrichten klappt mit iOS oder Android App.)

Verbindung herstellen

Unter “Mein Konto” gibt es dann den Punkt “Dash Buttons einrichten”, Knopf am Dash Button für 6 Sekunden drücken, bis die LED blau leuchtet, dann auf verbinden…warten….Bluetooth aktivieren -> ja ….warten … konnte nicht eingerichtet werden! Na toll, suchen,googlen, hmmm Sicherheitseinstellungen von Android für unsignierte Software zulassen. Verbinden…Bluetooth…Verbindung wird hergstellt…WLAN SSID auswählen, WLAN Passwort eingeben, verbunden, Produkt auswählen –> STOP –> abbrechen “Produktauswahleinstellungen noch nicht vorgenommen, wollen Sie wirklich abbrechen?” –> JA/OK. Damit ist dieser Dash-Button nun verbunden mit unseren Haus-WLAN.

  1. Im Router oder DHCP-Server nach der neuen unbekannten MAC-Adresse suchen
  2. feste IP zuweisen , die Dash-Buttons melden sich ohne Namen
  3. Internetzugang für diese MAC sperren
  4.  feste IP anpingen zur Probe wenn man den Knopf gedrückt hatte

Dash-Button ist nun für unsere Benutzung eingerichtet.

Nun gehts an FHEM

Es gibt mehrere Möglichkeiten, ich habe mich für LAN-Ping entschieden.

In FHEM ein neues Device anlegen für LAN-PING:

define DASH_DIADE PRESENCE lan-ping 192.168.xx.133 1
attr DASH_DIADE event-on-change-reading state,presence
attr DASH_DIADE group Dash
attr DASH_DIADE room I.Infos
attr DASH_DIADE userReadings lastpresent {if (Value("DASH_DIADE") eq "present")\
{ReadingsTimestamp("DASH_DIADE", "state", "false")} else \
{ReadingsVal("DASH_DIADE","lastpresent","")}}

Unser Anwendungsfall

Benachrichtigung für Personen die Hilfe benötigen….

Danach habe ein Dummy angelegt für einen Alarm:

define NotRufAlarm dummy
attr NotRufAlarm devStateIcon An:Wecker.Immer Aus:Wecker.Aus
attr NotRufAlarm eventMap on:An off:Aus
attr NotRufAlarm group NotRuf
attr NotRufAlarm icon message_medicine
attr NotRufAlarm room I.Infos
attr NotRufAlarm webCmd An:Aus

Dann noch eins damit ich bei mehreren Buttons unterscheiden woher es kommt und nachher ein Notify der es zurücksetzt:

define NotRufMelder dummy
attr NotRufMelder group NotRuf
attr NotRufMelder icon user_unknown
attr NotRufMelder room I.Infos

define ntf_NRloeschen notify NotRufAlarm:Aus set NotRufMelder keiner
attr ntf_NRloeschen group NotRuf
attr ntf_NRloeschen room M.Notifys

Hier nun der Notify für den Button:
define ntf_NRDiade notify DASH_DIADE:present {\
  fhem("set NotRufMelder Frauchen")};;;;{\
  fhem("set NotRufAlarm An")};;;;{\
  fhem("define NotRufLoeschen at +00:00:20 set NotRufAlarm Aus")};;;;{\
  }
attr ntf_NRDiade group NotRuf
attr ntf_NRDiade room M.Notifys

Folgende Notifys noch damit etwas passiert wenn der “NotRufAlarm” gesetzt wird:

define ntf_NRMeldung notify NotRufAlarm:An set Ext.TelegramBot message NotRuf kommt von {(ReadingsVal("NotRufMelder","state",0))}
attr ntf_NRMeldung group NotRuf
attr ntf_NRMeldung room M.Notifys

define ntf_NRMeldungEmail notify NotRufAlarm:An { DebianMail('xx@xx.de',"NotRuf ","Notruf Meldung! Bitte Zuhause anrufen!");;;; }
attr ntf_NRMeldungEmail group NotRuf
attr ntf_NRMeldungEmail room M.Notifys

Die Buttons sind im Haus verteilt und die Kinder und Erwachsende eingewiesen, wenn etwas ist dann drücken. Auch unsere 3-jährige kommt damit zurecht und die benachrichtigten Personen haben dann Zuhause angerufen und sich erkundigt.

Das Ganze soll später noch mit SMS-Gateway erweitert werden.

Aufrufe: 1224

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

4 × 4 =

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.