Autor Thema: Amazon Dash Button  (Gelesen 79022 mal)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15048
  • s/fhem\.cfg/configDB/g
Antw:Amazon Dash Button
« Antwort #30 am: 01 September 2016, 10:40:38 »
Dann bin ich ja mal gespannt, wie die ersten integrationen aussehen.

Hat schonmal jemand getestet, so einen Button einfach per bluetooth und presence auszuwerten? Im Auslieferungszustand ist das Ding doch völlig unkonfiguriert und muss zuerst per Bluetooth mit dem Handy verbunden werden. Also muss das Teil sich doch beim Druck auf den Button bereits per bluetooth zu erkennen geben.

Ok, mein Button ist heute auch angekommen. Schade dass am Wochenende schönes Wetter angesagt ist, da bleibt wenig Zeit zum Basteln.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr
Andere Meinung Andere Meinung x 1 Liste anzeigen

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 683
Antw:Amazon Dash Button
« Antwort #31 am: 01 September 2016, 10:53:03 »
Hat schonmal jemand getestet, so einen Button einfach per bluetooth und presence auszuwerten? Im Auslieferungszustand ist das Ding doch völlig unkonfiguriert und muss zuerst per Bluetooth mit dem Handy verbunden werden. Also muss das Teil sich doch beim Druck auf den Button bereits per bluetooth zu erkennen geben.

Fällt leider für normale kurze Betätigungen aus, da man um ihn in den Konfigurationsmodus zu versetzen den Taster 6 Sekunden gedrückt halten muss. Er macht dann übrigens sogar ein eigenes WLAN auf. Auf diese Weise könnte man also eventuell sogar nen Longpress realisieren ^^

Die in Deutschland ausgelieferten Buttons sind übrigens schon die 2. Revision, also diese hier: https://mpetroff.net/2016/07/new-amazon-dash-button-teardown-jk29lp/

Gepowert tatsächlich mit einer wechselbaren Alkaline 1,5V-AAA-Batterie, wenn man das Gehäuse erstmal auf hat. Der Typ hat ausgerechnet, ca. 500 Buttonbetätigungen reicht die Batterie.
2x Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
FHEM2FHEM-Roomnodes: 6x Raspi, 1x Cubietruck
IOdevs: 3x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI/Android-Tablets, Homebridge/Siri, Grafana
Devices: 86x Homematic, 15x Techem, 15x BTLE, >20xLAN/WiFi, 3xSONOS, 2xHomeConnect, Geofency, ...

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 683
Antw:Amazon Dash Button
« Antwort #32 am: 01 September 2016, 11:05:13 »
Oha, dass wir in Deutschland diese neue Version haben, birgt offenbar gewisse Probleme:

https://github.com/hortinstein/node-dash-button/issues/37

Leute beobachten, dass sich das Ding sporadisch auch mal so ins WLAN einbucht, ohne Tastendruck. Muss man also mal beobachten. Hab jedenfalls noch nix (also keine Library) gefunden, die das herausfiltert, da auch in den USA der neue Button erst seit Ende Jui geliefert wird und sich die ganzen Hacking-Tutorials noch auf die erste Version beziehen.
2x Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
FHEM2FHEM-Roomnodes: 6x Raspi, 1x Cubietruck
IOdevs: 3x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI/Android-Tablets, Homebridge/Siri, Grafana
Devices: 86x Homematic, 15x Techem, 15x BTLE, >20xLAN/WiFi, 3xSONOS, 2xHomeConnect, Geofency, ...

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2640
Antw:Amazon Dash Button
« Antwort #33 am: 01 September 2016, 12:31:46 »
Zitat
NOTE: this triggers a notification on the amazon shopping app everytime a button that does not order a product is pressed.  This could be mitigated by blocking access to amazon’s servers for those buttons but I just sign out of the amazon shopping app (I could set them back up using a fake account, but it’s late).

So gesehen scheint es nicht dumm zu sein, die Teile nicht ins Internet zu lassen.

Blacklist?
Eigener Access Point ohne Routing ins Internet?



Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 683
Antw:Amazon Dash Button
« Antwort #34 am: 01 September 2016, 12:54:38 »
Blacklist?
Eigener Access Point ohne Routing ins Internet?

Kindersicherung in der Fritzbox ... mach ich sowieso für alles China-Equipment mit WLAN .. also IP-Cams, WLAN-LED-Dimmer etc.
2x Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
FHEM2FHEM-Roomnodes: 6x Raspi, 1x Cubietruck
IOdevs: 3x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI/Android-Tablets, Homebridge/Siri, Grafana
Devices: 86x Homematic, 15x Techem, 15x BTLE, >20xLAN/WiFi, 3xSONOS, 2xHomeConnect, Geofency, ...
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2421
Antw:Amazon Dash Button
« Antwort #35 am: 01 September 2016, 13:49:58 »
Das sieht auch ganz interessant aus: https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/connections



Grüße Jörg

Gesendet von iPad mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2640
Antw:Amazon Dash Button
« Antwort #36 am: 01 September 2016, 14:00:59 »
Zitat
Das sieht auch ganz interessant aus: https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/connections

Das ist die alte Version. Die neuen Buttons haben einen Atmel Kern.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline malted

  • Jr. Member
  • **
  • Beiträge: 52
Antw:Amazon Dash Button
« Antwort #37 am: 01 September 2016, 16:26:01 »
So, ich hab es jetzt mal mit openwrt als Gateway zum Laufen gebracht.

Auf dem OpenWRT, an dem die Buttons hängen, startet man einfach das ohnehin vorhandene logread:

/sbin/logread -e ".* associated .*" -f -u -r 192.168.1.235 5555 -p /var/run/logread.1.pid
(Die IP-Adresse durch die Adresse vom FHEM-Server ersetzen.)
Das schickt die Einträge aus dem Syslog, auf die die Regexp passt, per UDP an den FHEM-Server.
Dauerhaft eintragen kann man es, wenn es funktioniert in der /etc/rc.local

Auf dem FHEM-Server habe ich dann einen Dummy angelegt.
define dash dummy
Und dann auf dem FHEM-Server das folgende Proxy-Script gestartet:

#!/usr/bin/perl -w
#
use strict;
use IO::Socket;
my($sock, $newmsg, $client, $fhem, $MAXLEN, $PORTNO);
$MAXLEN = 1024;
$PORTNO = 5555;
$sock = IO::Socket::INET->new(LocalPort => $PORTNO, Proto => 'udp')
    or die "socket: $@";
print "Awaiting UDP messages on port $PORTNO\n";
while ($sock->recv($newmsg, $MAXLEN)) {
     if (($newmsg) =~ /^.*hostapd:.*STA ([0-9a-f:]{17}).* associated/ ) {
         $client = $1;
        print "$client pressed\n";
                 my $fhem = IO::Socket::INET->new(PeerAddr => "localhost:7072");
                die "Can't connect to fhem\n" if(!$fhem);
                syswrite($fhem, "setreading dash $client pressed\n");
                shutdown($fhem, 1);
        }
        print $newmsg."\n";
}
die "recv: $!";

Ab wird unter dem Device Dash jeder Button anhand seiner Mac-Adresse als eigenes Reading geführt.
Sobald der Button sich im Wlan anmeldet (ab associated) wird ein setreading auf das Dummy gesetzt und der Zeitstempel aktualisiert.

Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 683
Antw:Amazon Dash Button
« Antwort #38 am: 01 September 2016, 16:37:53 »
So und hier kommt die Variante mit FHEM-Bordmitteln:

Im Router fixe IP vergeben und ab gehts mit dem PRESENCE-Modul im Modus lan-ping 1 1

Ernsthaft, die Dinger reagieren auf Ping. Reaktionszeit liegt dann leider aber so bei 2-3 Sekunden, sollte für vieles reichen :-)

ach so das Presence modul dann noch mit event-on-change-reading versehen - dann klappts perfekt :)

Edit: Nee, leider doch nicht so ganz - funzt leider bei mir nicht sonderlich zuverlässig. Aber einen Versuch war es wert ...
« Letzte Änderung: 01 September 2016, 17:33:00 von peterk_de »
2x Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
FHEM2FHEM-Roomnodes: 6x Raspi, 1x Cubietruck
IOdevs: 3x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI/Android-Tablets, Homebridge/Siri, Grafana
Devices: 86x Homematic, 15x Techem, 15x BTLE, >20xLAN/WiFi, 3xSONOS, 2xHomeConnect, Geofency, ...

Offline Blackmore

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Amazon Dash Button
« Antwort #39 am: 02 September 2016, 21:12:04 »
Idee:

Mit nem ESP8266 nen AP aufmachen, mit Handy drauf connecten

Dash Button in den Config-Modus bringen und auf den ESP connecten lassen

Auf dem ESP ein ARP-Spoofing-Teil laufen lassen, der mitbekommt, das der Button gedrückt wurde

Den ESP als Client zum normalen WLAN connecten und Fhem bescheid geben, das der Button gedrückt wurde (alternativ kann man auch nem zweiten ESP an FHEM senden lassen)


Offline malted

  • Jr. Member
  • **
  • Beiträge: 52
Antw:Amazon Dash Button
« Antwort #40 am: 02 September 2016, 21:14:34 »
Idee:

Mit nem ESP8266 nen AP aufmachen, mit Handy drauf connecten

Dash Button in den Config-Modus bringen und auf den ESP connecten lassen

Auf dem ESP ein ARP-Spoofing-Teil laufen lassen, der mitbekommt, das der Button gedrückt wurde

Den ESP als Client zum normalen WLAN connecten und Fhem bescheid geben, das der Button gedrückt wurde (alternativ kann man auch nem zweiten ESP an FHEM senden lassen)

Was genau ist der Vorteil dieser Lösung? Für mich scheint dieses Relaying komplex und wenig hilfreich. Der ESP switch dann dauernd zwischen hostap und client hin und her. Damit braucht man für jeden Button ein solches Relay? Ich steh auf dem Schlauch.

Offline Blackmore

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Amazon Dash Button
« Antwort #41 am: 02 September 2016, 21:17:47 »
Mit dem ESP halte ich den Dash Button in einem eigenen WLAN gefangen - man kann durchaus mehrere Buttons auf den ESP speichern...

Der ESP sieht per ARP-Spoofing, das einer der Buttons gedrückt wurde und sendet das an FHEM - wie auch immer, ob durch umschalten oder via serieller Console an nen zweiten ESP (oder direkt via USB)

Vielleicht nicht die beste Ausführung der Idee, aber vielleicht kann jemand was draus machen, das a) der Button vom Internet getrennt ist, und b) das Signal 'einfach' in FHEM reinkommt...
« Letzte Änderung: 02 September 2016, 21:20:31 von Blackmore »

Offline malted

  • Jr. Member
  • **
  • Beiträge: 52
Antw:Amazon Dash Button
« Antwort #42 am: 02 September 2016, 21:21:15 »
Mit dem ESP halte ich den Dash Button in einem eigenen WLAN gefangen - man kann durchaus mehrere Buttons auf den ESP speichern...

Der ESP sieht per ARP-Spoofing, das einer der Buttons gedrückt wurde und sendet das an FHEM - wie auch immer, ob durch umschalten oder via serieller Console an nen zweiten ESP (oder direkt via USB)

Dann ist das doch im Prinzip genau wie die Lösung oben, wo man einen openwrt für 10€ als Bridge-Adapter einsetzt? (bloss dass openwrt den accesspoint schon mitbringt und trivial per ethernet angebunden werden kann.)
 

Offline Blackmore

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Amazon Dash Button
« Antwort #43 am: 02 September 2016, 21:23:33 »
Dann ist das doch im Prinzip genau wie die Lösung oben, wo man einen openwrt für 10€ als Bridge-Adapter einsetzt? (bloss dass openwrt den accesspoint schon mitbringt und trivial per ethernet angebunden werden kann.)
 

Grob ist es das gleiche, nur das der/die ESPs kleiner sind, ich noch einige zu Hause rumliegen hab, und evtl sogar weniger Strom benötigen ;)

Offline malted

  • Jr. Member
  • **
  • Beiträge: 52
Antw:Amazon Dash Button
« Antwort #44 am: 02 September 2016, 21:26:25 »
« Letzte Änderung: 02 September 2016, 21:31:50 von malted »
Informativ Informativ x 1 Liste anzeigen