Amazon Dash Button

Begonnen von gloob, 31 August 2016, 08:20:07

Vorheriges Thema - Nächstes Thema

Ralf W.

Zitat von: justme1968 am 16 November 2016, 16:43:47
ja. wenn du auf einem system eides brauchst musst du kopieren. jedenfalls wenn dein fhem nicht als root läuft.

wobei ich bei meinen tests zwischendurch auch mal alles auf beiden ports hatte. das hängt aber eventuell von der iptables regel ab.

probier es aus und sag ob es geht.

gruss
  andre

Klappt leider nicht. dash_dhcp zeigt keine Regung. Mir fehlt die Zeit tiefer einzusteigen. Ich lass es erst einmal bei meiner dhcpdump-Lösung. Auf dash_dhcp steige ich später um. Danke!

MfG
Proxmox Nipogi AM16, FHEM:RaspberryMatic:DE ConBee II, diverse Sensoren und Aktoren.

nesges

Zitat von: justme1968 am 16 November 2016, 16:54:57
schau mal ob die pakete die du siehst wirklich von port 6767 kommen oder nicht doch noch von 67.

Die, die ich mit tcpdump sehe kommen von 67. Ob/wie ich mit tcpdump umgeleitete Pakete sehen kann, weiss ich nicht. Ich nehme an, dass hier das gleiche wie für Wireshark gilt.

Zitatfür neuere systeme muss man scheinbar die andere variante verwenden:iptables -I PREROUTING -t nat -i eth0 -p udp --src 0.0.0.0 --dport 67 -j DNAT --to 0.0.0.0:6767

Macht leider keinen Unterschied. Ich sehe nach wie vor keine Pakete an Port 6767.

Ich habe mal testweise einen einfachsten Listener auf Port 6767 lauschen gelassen:

#!/usr/bin/perl
use IO::Socket::INET;
$| = 1;
my ($socket,$data);
$socket = new IO::Socket::INET (
    LocalPort => '6767',
    Proto => 'udp',
    Broadcast=>1,
    ReuseAddr=>1
) or die "ERROR: $!\n";
while(1) {
    $socket->recv($data,1024);
    print $data if $data;
}
$socket->close();


Wenn ich per netcat auf Port 67 sende (echo "." | nc -u localhost 67) kommt dort nichts an.

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

nesges

Zitat von: justme1968 am 16 November 2016, 18:09:08
stimmt eth0 bei dir ?

jupp:

root@wopr:~# ifconfig
eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:68:f2:f7
          inet Adresse:192.168.178.64  Bcast:192.168.178.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:673642 errors:0 dropped:0 overruns:0 frame:0
          TX packets:936132 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:197776755 (188.6 MiB)  TX bytes:817504368 (779.6 MiB)

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:123139 errors:0 dropped:0 overruns:0 frame:0
          TX packets:123139 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:20778341 (19.8 MiB)  TX bytes:20778341 (19.8 MiB)

bendim

@PsychoD das wird nicht am Dummy liegen. Batterie vielleicht fast leer oder der merkt das er nicht ins Inet kommt und versucht es noch einmal.

Hier der Befehl ohne Dummy

define n_DashButton1 notify DashButton:ac-63-be-e3-fb-ff..short IF ([DeinFhemGeraet] eq "on") (set DeinFhemGeraet off) ELSE (set DeinFhemGeraet on)

PsychoD

Zitat von: justme1968 am 16 November 2016, 18:04:41
@PsychoD: event-min-interval setzen. aber warum noch ein dummy dazwischen?

Danke! Das sollte klappen. :-)

Den Dummy brauche ich, weil es 433 Mhz Funksteckdosen sind, die über ne Commandline geschaltet werden. Der Dummy ist sz_l_regal:

define n_sz_l_regal_off notify sz_l_regal:off {system("sudo /opt/fhem/wiringPi/rcswitch-pi/send 11011 1 0");;return}
define n_sz_l_regal_on notify sz_l_regal:on {system("sudo /opt/fhem/wiringPi/rcswitch-pi/send 11011 1 1");;return}

justme1968

schau dir mal readingsProxy an. wenn du den statt dem dummy verwendest sparst du die notifys.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

PsychoD

Alles klar, mache ich am WE. Danke für die ganzen hilfreichen Ratschläge, weiß das echt zu schätzen. FHEM ist eben doch ziemlich mächtig mittlerweile!

Viele Grüße
Psy

ChrisW

#293
Hmm hab meinen per Lan presense ping hinzugefügt...

1 Sekunde habe ich den Ping.

Jedoch ist der Button sehr unzuverlässig. Für schnelleres Schalten ist er wohl auch nichts. Soll wohl vor zu schnellen bestellen schützen???
Jemand eine idee wieso fhem es manchmal nicht erkennt?


EDIT: Hab nun mal auf DHCP umgestellt ma sehen obs geht
Raspberry PI3 mit allem möglichen.

justme1968

der button sollte ziemlich zuverlässig sein. aber nicht schnell.

er wacht beim drücken zwar schnell auf und auch die dhcp anfrage geht schnell raus, aber es dauert eine weile bis er wieder schlafen geht (wenn er keine antwort von amazon bekommt deutlich länger) und bevor er nicht wieder schläft lässt er sich nicht wieder aufwecken und schickt auch keine dhcp anfrage.

im prinzip schickt der button bei jedem drücken eine nachricht mit seinem eigenen protokoll und er kann sogar doppelklicks, aber dazu muss man das eigentliche protokoll sprechen. d.h. nicht über dhcp (oder ping) gehen. dazu muss man entweder auf netzwerk ebene deutlich mehr aufwand treiben und diverse dinge umbiegen und dann schauen wie weit man kommt, oder die developer version kaufen. die gibt es in deutschland aber scheinbar (noch?) nicht, und die kostet etwa 20euro ohne gutschrift.

für anwendungen bei denen es darauf ankommt ab und zu ein drücken zu registrieren ist das ding konkurrenzlos günstig. wenn es um häufige anwendung geht bist du mit hm oder ähnlichem besser bedient. allein schon wegen dem batterie wechsel.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Intruder1956

moin,
also bei mir funktionieren die beiden Dashbutton mit "dash_dhcp" einwandfrei.
Bin so froh das ich die beiden bekommen habe. Günstiger geht es wirklich nicht
Sie schalten morgens und abends zuverlässig mehrere Geräte ein und aus.

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Vampy20

Hallo zusammen,

ich habe nun auch meinen ersten DashButton eingerichtet. Um nicht dauernd bei "Amazon anzufragen" oder Meldungen über nicht abgeschlossene Einrichtung meines Buttons bekomme lasse ich dem Button eine feste IP Adresse zuweisen und habe die HTTP und HTTPS Ports hierfür gesperrt.
Nun ist mir aufgefallen dass der Knopf viel länger leuchtet und zwar nur noch Weiß.

Gibt es andere Lösungen?

Gruß
Peter
FHEM 5.7 auf RPi 2 (Raspbian 4.4.13+, Perl v5.20.2), HM-CFG-USB, HM-SEC-RHS, HM-ES-PMSw1-Pl, HM-LC-Bl1PBU-FM, HM-SEC-SD-2, co2mini, Philips Hue, MySensors, DashButton

justme1968

die saubere lösung ist dem button den amazon server bzw. dessen antwort vorzugaukeln.

ich weiß aber nicht ob die aktuell verfügbare information dazu reicht und ob im button dir amazon zertifikate abgelegt sind und geprüft werden. dann wäre es vermutlich eher aussichtslos.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ps: wenn wir rausfinden wie das geht sollten auch doppelklicks und batteriestand möglich sein wenn das ins modul eingebaut wird.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

peterk_de

#299
Zitat von: justme1968 am 29 November 2016, 21:38:11
die saubere lösung ist dem button den amazon server bzw. dessen antwort vorzugaukeln.

ich weiß aber nicht ob die aktuell verfügbare information dazu reicht und ob im button dir amazon zertifikate abgelegt sind und geprüft werden. dann wäre es vermutlich eher aussichtslos.

http://blog.nemik.net/2015/08/dash-button-corral/

- Zertifikate sind drin, werden aber nicht geprüft
- Er hat es daher mit Self-Signed "Bullshit Certificates" geschafft, den Button grün Blinken zu lassen (HTTP 200 reicht)
- Rest des Payloads (Batteriestand, Doppelklick) ist leider binär und hat er nicht dekodiert
- Er vermutet, dass neuere Firmwareversionen die Zertifikate prüfen könnten.

Wäre spannend zu wissen, ob das in der neueren Version, die wir in D alle haben, schon so ist ...
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...