
Smart Home Dash Button – Integration
Ihr wollt wissen wie ihr einen 5 € Dash Button in Euer Smart Home integriert und einen Smart Home Dash Button realisieren? Dann wird Euch dieser Beitrag sicherlich helfen. Doch was ist ein Dash Button überhaupt? Der Dash Button ist eine Erfindung von Amazon um Produkte, die ihr regelmäßig braucht, auf einfache Weise zu bestellen. Man kann quasi per Knopfdruck Produkte wie Waschpulver, Katzenfutter und weiteres bestellen.
Und wie funktioniert die Smart Home Steuerung per Dash Button? Der Dash Button wird in eurem WLAN angemeldet und so konfiguriert, dass er keine Bestellung auslöst. Beim Drücken des Knopfes passiert nun folgendes. Der Dash Button wählt sich kurz in Euer WLAN ein, versucht eine Bestellung bei Amazon abzusetzen und deaktiviert sich wieder. Dieses Verhalten nutzen wir um eine Hue Lampe zu steuern. Es lässt sich aber auch alles andere Steuern, so lange es in openHAB integrierbar ist.
Es gibt zwei Voraussetzungen für die Steuerung mittels Dash Button. Die erste ist die Nutzung von openHAB 2. Zweitens braucht ihr natürlich einen Dash Button.
Für Euer Smart Home Dash Button sucht Euch eine nettes Design aus.
Amazon Dash Button
Cottonelle Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Brabantia Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Finish Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Persil Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Somat Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Oral-B Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Kleenex Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Gillette Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Durex Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Nerf Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Ariel Dash Button
- Der Amazon Dash Button ist ein mit WLAN verbundenes Gerät, mit dem Sie Ihre Lieblingsprodukte per Knopfdruck nachbestellen können.
- Jeder Dash Button ist an ein Produkt Ihrer Wahl gekoppelt, das während der Einrichtung ausgewählt wird.
Mir gefällt der Brabantia Dash Button am besten. Schlicht weiß und ein kleines Haus drauf.
So habe ich mit unserem Beschriftungsgerät und weißem Beschriftungsband einen schönen Knopf hinbekommen. Der Knopf sieht letztendlich so aus:
Eine schrittweise Anleitung folgt in den weiteren Kapitel dieses Beitrags.
Smart Home Dash Button – Einrichtung per App
Als erstes richtet Euren Dash Button ein. Dies geht am einfachsten über die Amazon App. Hierzu geht ihr wie folgt vor.
Geht ins Menü und wählt den Eintrag „Mein Konto“
In den Kontoeinstellungen wählt im Bereich Dash-Geräte „Ein neues Gerät einrichten“. Im Anschluss müsst ihr Euch bei Eurem Amazon Konto anmelden.
Im folgenden Bild drückt auf Zustimmen und Weiter.
Erlaubt im nächsten Schritt der App Bluetooth zu aktivieren.
Der Dash Button wird nun gesucht und mit dem Handy verbunden.
Zum Abschluss meldet Euch in Eurem WLAN an.
Hier seht ihr einen Auszug aus meinem WLAN. Mein Handy, den Dash Button (für die Steuerung der DG Stehlampe) und den Echo Dot. Der Dash Button ist wir hier seht nicht verbunden.
Doch nun zurück in die App. Ist der Button angemeldet werdet ihr aufgefordert ein Produkt zu wählen. Ihr wählt natürlich kein Produkt, sondern drückt direkt auf das X oben rechts.
Die anschließende Meldung bestätigt ihr mit Einrichtung verlassen. So wird verhindert, dass eine Bestellung ausgelöst wird.
Falls ihr ganz sicher gehen wollt, dass nichts ins Internet geht, blockiert die IP in Eurem Router. Für die Fritzbox geht hierzu in die Einstellungen und ins Menü Internet -> Filter -> Kindersicherung.
Smart Home Dash Button – openHAB 2 Konfiguration
Zur Steuerung Eurer Smart Home Geräte wird wieder openHAB 2 verwendet. Zur Anwendung kommt das Network Binding und eine Regel.
Smart Home Dash Button – open HAB 2 Network Binding Installation
Die Installation des Network Bindings erfolgt über die Paper UI. Ruft die Paper UI im Browser auf (http://<OPENHABIP>:<PORT>/ui/index.html#/extensions) und sucht nach dem Network Binding. Im Anschluss klickt auf Install.
Sollte die Suche der Netzwerkgeräte nicht automatisch starten, geht in Configuration und Things um Euren Dash Button als Thing hinzuzufügen. Drückt hierfür auf den blauen Kreis mit dem Plus.
Nun wählt das NTP Binding aus.
Ihr landet nun in der Inbox des Network Bindings und es wird nach Dingen gesucht. Wartet am Besten bis die Suche eine Zeit lang keine neuen IPs findet.
Jetzt ist noch mal Chance die IP des Dash Button zu ermitteln. Falls die Suche beendet ist, sucht erneut nach Dingen, in dem ihr auf den Kreis mit dem Refresh Symbol klickt. Drückt jetzt einige Male auf den Dash Button. Der Dash Button sollte erkannt werden und die folgende Meldung erscheinen. Hinter dem roten Balken ist Eure IP.
Um ganz sicher zu gehen, dass ihr die IP vom Dash Button erwischt habt. Drück die Windows Tastse + R und gebt CMD ein. Hier gebt nun folgendes ein.
1 | ping <IP_DES_DASH_BUTTON> -t |
Dies setzt einen fortlaufenden Ping ab. Ihr erhaltet erst eine Zeitüberschreitung. Drückt auf den Dash Button. Nun meldet sich der Dash Button kurzfristig im WLAN an und wird er per Ping erreichbar. Ihr erhaltet eine Antwort von der IP des Dash Button. Im Anschluss erhaltet ihr wieder die Meldung Zeitüberschreitung. Genau das Verhalten was wir erwarten und nun nutzen möchten.
Um den Dash Button in openHAB 2 abschließend zu konfigurieren geht wieder in die Paper UI. Wählt Configuration, Things und geht dann auf den Stift rechts neben dem Network Device des Dash Button.
Nun stellt die folgenden Parameter ein.
- Wiederholen = 1
- Port = 8443
- Zeitlimit 5000
- Aktualisierungsintervall 4000
- System Ping aus
Smart Home Dash Button – SmartHome Designer Konfiguration
Nun geht es an die Konfiguration im SmartHome Designer. Im Beitrag zur Sprachsteuerung habe ich bereits erklärt was die grundlegenden Elemente (Sitemap, Items etc.) sind. Regeln habt ihr bereits auch schon mehrfach kennengelernt, wenn ihr dem Blog folgt. Daher gibt es ab jetzt nur noch Kurzversionen. =)
Smart Home Dash Button – SmartHome Designer Konfiguration – Item
Damit es autark funktioniert hier zwei Items. Das eine Item ist die Hue. Das andere der Dash Button.
1 2 3 4 5 | /* Dachgeschoss Licht */ Color Licht_DG_Stehlampe "Dachgeschoss Stehlampe" ( DG ) { channel="<EUER_HUE_CHANNEL>" } /* Dash Button */ Switch Dash_Switch "Dash" { channel="network:device:<NAME_DES_DEVICE>:online" } |
Den Channel von Things findet findet ihr übrigens über die Paper UI raus.
Smart Home Dash Button – SmartHome Designer Konfiguration – Sitemap
Für einen Test legt eine Sitemap an oder fügt die beiden Items hinzu.
1 2 3 4 5 6 | sitemap demo label="MyHome" { Frame { Switch item=Dash_Switch Switch item=Licht_DG_Stehlampe } } |
Ihr seht nun die Basic UI und könntet die Hue Lampe bereits schalten.
Weiterhin könnt ihr testen wie openHAB 2 auf das Drücken des Dash Button reagiert. Der Dash Button geht an und ist aktiv. Nach einigen Sekunden, sobald der Dash Button aus dem WLAN ist, seht ihr wieder das Bild von oben.
Smart Home Dash Button – SmartHome Designer Konfiguration – Rule
Als letztes fehlt noch die Regel. Die folgende Regel steuert nun das ein- und ausschalten der Hue. Bei mir funktionierte es bisher einwandfrei.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | rule "DASH_HUE_DG" when Item Dash_Switch received update ON then // Variablen Definition var HSBType ColorHue_actual var String ColorHue_update var DecimalType hue_actual var PercentType sat_actual var Integer bright_actual // Aktuelle werte in Variablen schreiben ColorHue_actual = Licht_DG_Stehlampe.state as HSBType hue_actual = ColorHue_actual.getHue() sat_actual = ColorHue_actual.getSaturation() bright_actual = ColorHue_actual.brightness.intValue // Steuerung // Wenn Hue aus, dann Helligkeit auf 100% und Commando an Hue senden // Wenn Hue an, dann Helligkeit auf 0% und Commando an Hue senden if (bright_actual == 0){ ColorHue_update = hue_actual.toString + "," + sat_actual.toString + ",100" Licht_DG_Stehlampe.sendCommand(ColorHue_update) } else if (bright_actual != 0) { ColorHue_update = hue_actual.toString + "," + sat_actual.toString + ",0" Licht_DG_Stehlampe.sendCommand(ColorHue_update) } end |
Das war es mit der Einrichtung und Nutzung des Dash Buttons in Euer Smart Home. Heute mal wieder ein kleine hässliche Demo. =)
Schöne Anleitung !
Aber leider komme ich genau bis zur Einrichtung bzw. Suche des Dash Button, da Openhab diesen leider nicht finden kann.. Ich habe ihm extra schon eine andere IP gegeben, das Thing manuell hinzugefügt, weiß jedoch auch nicht ob dieser dann richtig erkannt wurde, da der Designer auch nicht starten möchte grrr.. unter macOS Sierra …
Weiß jemand Rat?
Hey,
Danke.
Also ist der Dash Button schon mal in deinen Netz, richtig? Hast Du mit einem Ping getestet? Falls nicht mach mal und drück auf den Dash Button, um zu prüfen ob die IP erreicht wird. Wenn das klappt, bist du schon recht weit.
Du kannst notfalls auch einen Texteditor verwenden, wenn der Designer nicht startet.
Beste Grüße
Thomas
Hallo Thomas,
ich habe ein spezielles Binding für den Dash Button für openHAB2 geschrieben. Wäre toll, wenn du es mal ausprobieren würdest.
Es bietet die Möglichkeit von Auto Discovery und sollte ggf auch etwas schneller auf den Buttonclick reagieren als deine Variante.
Link: http://docs.openhab.org/addons/bindings/amazondashbutton/readme.html
Viele Grüße
Oliver
Hallo Oliver,
habe angefangen einen Beitrag über den Binding zu schreiben. Hat bis zur Erkennung des Dash Button super funktioniert. Ich konnte einen Namen vergeben. Der DB wurde unter Things in der Paper UI angezeigt. Hier kann ich den Namen zwar ändern, aber die Änderung nicht speichern. Der DB wird als Online dargestellt. Da mir aktuell kein besserer Platz einfällt, hier die Meldungen aus dem Log. Eventuell hilft es. Falls ich das woanders hinterlassen soll, schick mir gerne ein Link?
2016-10-31 22:08:02.578 [WARN ] [io.rest.core.thing.ThingTypeResource] – Cannot find channel type: system:trigger
2016-10-31 22:08:02.578 [WARN ] [io.rest.core.thing.ThingTypeResource] – Cannot create DTO for thingType ‚amazondashbutton:dashbutton‘. Skip it.
2016-10-31 22:08:05.600 [WARN ] [home.core.thing.binding.ThingFactory] – Could not create channel ‚press‘ for thing type ‚amazondashbutton:dashbutton:0c-47-c9-7c-57-63′, because channel type ’system:trigger‘ could not be found.
2016-10-31 22:08:11.616 [WARN ] [io.rest.core.thing.ThingTypeResource] – Cannot find channel type: system:trigger
2016-10-31 22:08:11.617 [WARN ] [io.rest.core.thing.ThingTypeResource] – Cannot create DTO for thingType ‚amazondashbutton:dashbutton‘. Skip it.
2016-10-31 22:08:19.034 [WARN ] [io.rest.core.thing.ThingTypeResource] – Cannot find channel type: system:trigger
2016-10-31 22:08:19.034 [WARN ] [io.rest.core.thing.ThingTypeResource] – Cannot create DTO for thingType ‚amazondashbutton:dashbutton‘. Skip it.
tunneling request with rcv-seq 45
2016-10-31 22:09:02.482 [INFO ] [rvice.dhcp.ReceiveDHCPRequestPackets] – DHCP request for unknown address: 192.XXX.XXX.XXX
2016-10-31 22:09:02.485 [ERROR] [org.pcap4j.core.PcapHandle ] – The executor has thrown an exception.
java.lang.NoSuchMethodError: org.openhab.binding.amazondashbutton.handler.AmazonDashButtonHandler.triggerChannel(Lorg/eclipse/smarthome/core/thing/ChannelUID;)V
at org.openhab.binding.amazondashbutton.handler.AmazonDashButtonHandler.access$1(AmazonDashButtonHandler.java:1)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.openhab.binding.amazondashbutton.handler.AmazonDashButtonHandler$1.handleArpRequest(AmazonDashButtonHandler.java:77)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.openhab.binding.amazondashbutton.internal.arp.ArpRequestTracker$1$1.gotPacket(ArpRequestTracker.java:99)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.PcapHandle$GotPacketFuncExecutor$1.run(PcapHandle.java:1451)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.PcapHandle$SimpleExecutor.execute(PcapHandle.java:1417)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.PcapHandle$GotPacketFuncExecutor.got_packet(PcapHandle.java:1445)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.NativeMappings.pcap_loop(Native Method)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.PcapHandle.doLoop(PcapHandle.java:895)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.PcapHandle.loop(PcapHandle.java:819)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.pcap4j.core.PcapHandle.loop(PcapHandle.java:782)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.openhab.binding.amazondashbutton.internal.arp.ArpRequestTracker$1.call(ArpRequestTracker.java:92)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at org.openhab.binding.amazondashbutton.internal.arp.ArpRequestTracker$1.call(ArpRequestTracker.java:1)[217:org.openhab.binding.amazondashbutton:2.0.0.201610262233]
at java.util.concurrent.FutureTask.run(Unknown Source)[:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.8.0_101]
at java.lang.Thread.run(Unknown Source)[:1.8.0_101]
Im übrigen gibts hier noch mehr Infos. Dort siehst du auch, wie man eine Rule erstellt: https://community.openhab.org/t/amazon-dash-button-as-openhab-trigger/3622/40?u=oliver
Super, den Thread hab ich gesucht. Das hilft mir. Klinke mich bei weiteren Problemen hier ein.
Hallo Thomas,
das liegt vermutlich daran, dass deine openHAB2 Installation zu alt ist. Das Binding benutzt Trigger Channels, die noch sehr neu sind und in der beta3 noch nicht enthalten sind.
Du musst daher einen sehr aktuellen Snapshot nehmen, am besten von hier: https://openhab.ci.cloudbees.com/job/openHAB-Distribution/
Hallo Oliver,
Danke. Hab ich mir schon gestern gedacht. Ich werde mir die neue Version installieren.
Beste Grüße
Thomas
Hallo Oliver,
Ja, vielen Dank. Hab mich sehr gefreut, dass es ein Binding gibt und mir fest vorgenommen einen Beitrag über dein Binding zu schreiben.
Beste Grüße
Thomas
[…] Smart Home Dash Button […]
Hi!
Was passiert eigentlich, wenn ich bei der Produktauswahl nicht das X drücke, sondern tatsächlich etwas auswähle (weil ich zum Beispiel sowieso Katzenfutter brauche) und dann danach die IP im Router blockere, dass der Dash Button nicht mehr ins www kommt? Habe ich dann die Kosten für den Button einfach mal um knapp 5€ gesenkt, oder mache ich da einen Denkfehler? 😉
VG, Jens
Hallo Jens,
angeblich soll es die 5 EUR mit der ersten Bestellung wiedergeben. Ob das für alles gilt weiß ich nicht. Musst du noch mal bei Amazon lesen oder googeln.
Aber im Grunde ist es so wie du schreibst.
Beste Grüße
Thomas
Hi!
Also das mit dem Erstatten der 5€ funktioniert.
Außerdem konnte ich bei meinem Button einfach die Folie abziehen und hatte dann einen rein weisen Button.
ALLERDINGS hängt der Button jetzt (nachdem ich nach dem rumprobieren nochmal alle things gelöscht habe) in der Initialisierung.
Ich kann ihn hinzufügen (nur über IP, von selbst wird er nicht gefunden), allerdings nicht konfigurieren oder so.
Da ich gaaanz neu in openhab bin, weiß ich nicht, ob es da nicht vielleicht einen trick gibt, dass das doch geht?
Zufällig ne Idee? Wenn noch Informationen fehlen, kann ich die gerne nachliefern.
Viele Grüße
Jens