Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not detecting dash button press on OSX #26

Open
ifuyivara opened this issue Apr 20, 2016 · 29 comments
Open

Not detecting dash button press on OSX #26

ifuyivara opened this issue Apr 20, 2016 · 29 comments

Comments

@ifuyivara
Copy link

I have followed the instructions to setup the button (it blinks white now, indicating it connects to the wifi network)

But the dash hardware access is not detected when running sudo node bin/findbutton - Other hardware is indeed detected on the network.

I'm trying this with a brand new dash button

@hortinstein
Copy link
Owner

did you set it up according to the instructions when setting up the dash
(but not selecting a product) and can you verify it is connecting to your
network?

On Wed, Apr 20, 2016 at 2:51 PM, Ivan Fuyivara notifications@github.com
wrote:

I have followed the instructions to setup the button (it blinks white now,
indicating it connects to the wifi network)

But the dash hardware access is not detected when running sudo node
bin/findbutton - Other hardware is indeed detected on the network.

I'm trying this with a brand new dash button


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#26

@ifuyivara
Copy link
Author

Yes I set it up as in the instructions and is in deed connecting to my network. I suspect it may have something to do with the wireless network I'm using (work network) - They may have deactivated the ARP probe for security reasons. I'm going to try this at home tonight and see if this is the problem

@hortinstein
Copy link
Owner

ok cool, let me know what you find out. building anything cool?
On Apr 20, 2016 6:43 PM, "Ivan Fuyivara" notifications@github.com wrote:

Yes I set it up as in the instructions and is in deed connecting to my
network. I suspect it may have something to do with the wireless network
I'm using (work network) - They may have deactivated the ARP probe for
security reasons. I'm going to try this at home tonight and see if this is
the problem


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#26 (comment)

@czekaj
Copy link

czekaj commented Apr 30, 2016

I'm also having trouble with detecting ARP probes from my new "All" Dash button on Raspberry Pi 3's built-in wlan. Maybe Amazon changed something in firmware of the more recent Dashes to not send ARPs anymore?

@128keaton
Copy link

I am having the same issue. If Amazon disabled this, I'm going to be really sad.

@hortinstein
Copy link
Owner

I am not sure...I dont think it would be possible for the dash to not send arps with the way wifi works...can you boot up wireshark and see any traffic?

@robertvorthman
Copy link

I have a Dash button I ordered in May and it still works so I don't think Amazon is blocking our Dash buttons.

@128keaton
Copy link

@robertvorthman thats great. does it work with this lib?

@128keaton
Copy link

Ok, update, I found the Mac with wireshark, however, it isn't ARPing, it seems. I can only find it if I'm NOT using the ARP filter.. odd, right?
@hortinstein

@robertvorthman
Copy link

@128keaton Yes, my dash button works with this lib. Running on a Raspberry Pi 3 wired interface.

@128keaton
Copy link

@robertvorthman hmm, interesting. I'll have to retry on the Pi. I've been running everything from my mac right now. Thanks for the tip.

@fantapop
Copy link

I'm having issues as well. Running on my laptop. It looks like the dash is not sending the arp probe. I can still see it responding to arp who-has requests. I'm not sure if those are consistent yet or not.

@robertvorthman
Copy link

robertvorthman commented Jul 11, 2016

According to a 2016-07-07 update on this instructable there is a new dash button model, which may impact network detection.

Regardless, comments on that link are saying the new button still works. Furthermore, Dash buttons are now only $0.99 cents.

Update 7/7/2016:
I've discovered that Amazon now has 2 models of Dash Buttons. The original JK76PL and the new and "improved" JK29LP. Unfortunately, my program DOES NOT work reliably with the new JK29LP. The new button stays on for a much shorter time and thus my program does not catch/see it reliably. Until I can get this fixed, I cannot recommend purchasing new Dash buttons for use with my program.

The instructable seems to use network pings instead of ARP requests to detect the button, according to my cursory inspection of the github code, so if I understand this node-dash-button implementation correctly, the ARP detection would still be reliable even if the button's Wi-Fi antenna is on for a shorter period of time.

@128keaton
Copy link

@robertvorthman I saw that. Too bad I'm Mac/Linux. However, I cannot get any ARP requests, whatsoever.

@cvocvo
Copy link

cvocvo commented Jul 15, 2016

Can confirm new buttons (I tested 12 of them) are not sending ARP requests. I also have two "Clorox" dash buttons that are of the older JK76PL model that don't appear to be sending ARP requests.
I've got 6 of the older JK76PL model that are sending pulses ARP requests.

@128keaton
Copy link

@cvocvo perfect. More data :). Also, did you typo?

@robertvorthman
Copy link

The new buttons work for me. I ordered some dash buttons on Monday, four arrived Wednesday and two are the new version (JK29LP), two old (JK76PL). The new buttons are detected much faster, an average of 6 seconds, sometimes under 3 seconds. The old buttons are much more inconsistent, sometimes 5 seconds, usually over 10 seconds, and maybe a minute or not detected at all.

I did 30 stop watch tests and I'm finding old Dash buttons to be unreliable. I was waiting at least a minute or two between button presses, but maybe that was not long enough, and the reason for the inconsistencies, I'm not sure.

Sometimes the old buttons are detected a second time, exactly 45 seconds after the first detection with the button only pressed once. All the buttons seem to have their own personality. My "Burt's Bees" button is a champ, always fast and reliable. The "Snuggle" and "Carefree" buttons are the only ones that cause an additional detection.

Here is my stopwatch data:
https://docs.google.com/spreadsheets/d/1FNjIsJ21pCpnAuzMJ172uYEYhCk9pkzGe_XMZmPCxxw/edit?usp=sharing

@krisdunlop
Copy link

So, I'm new to this. I got the Mac Address. Where do I put the following, but with my info.

var dash_button = require('node-dash-button');
var dash = dash_button(["8f:3f:20:33:54:44","2e:3f:20:33:54:22"]); //address from step above
dash.on("detected", function (dash_id){
    if (dash_id === "8f:3f:20:33:54:44"){
        console.log("omg found");
    } else if (dash_id === "2e:3f:20:33:54:22"){
        console.log("found the other!");
    }
});

@128keaton
Copy link

128keaton commented Jul 16, 2016

@krisdunlop ok, whoops, not python... I can't think this late..sorry

make sure you have Node.JS installed first

@krisdunlop
Copy link

So it didn't work on the desktop, so I put it in the folder in the user bin. I'm getting this error.
File "pulse.py", line 1
var dash_button = require('node-dash-button');
^
SyntaxError: invalid syntax

@robertvorthman
Copy link

@krisdunlop
Rename your file to a use a .js extension. node-dash-button is a node.js library. Node executes JavaScript, not Python.

The code you pasted is for multiple dash buttons. If you just have one dash button, your code should look like this:

var dash_button = require('node-dash-button');
var dash = dash_button("8f:3f:20:33:54:44"); //address from step above
dash.on("detected", function (){
    console.log("omg found");
});

Replace "8f:3f:20:33:54:44" with the MAC address of your button.

@LongPotato
Copy link

@128keaton Hi, you mentioned you found your new Dash button's Mac address with Wireshark. Can you show me how? What's the filter that you used. Thanks!

@krisdunlop
Copy link

What do I need to run now that I've done the above?

@robertvorthman
Copy link

@krisdunlop Your question is not clear. You might also consider creating a separate issue if your comments aren't related to the original post. Did you run the script I referenced in my previous comment by typing "node pulse.js" in the shell? That's all you need to do to start detecting dash button presses. If you get an error, you might need to try typing sudo first like "sudo node pulse.js".

@krisdunlop
Copy link

The previous comment by the other person was edited and so the node command wasn't clear like it was. That's what I was looking for. Thanks.

@LongPotato
Copy link

Ok, so I got it to work. Found the mac address, and successfully received the button pressed action.

However, in the terminal I keep getting the warnings:

node_pcap: EthernetFrame() - Don't know how to decode ethertype 34958

Also I notice multiple mac address appeared when I pressed the button, I had to manually add them into my code and test them out. This might related to this issue #32

@mickdekkers
Copy link

@robertvorthman I'm using a Raspberry Pi to detect the dash buttons and I'm also having reliability issues with the old ones (JK76PL).
I have four old dash buttons and two new (JK29LP) ones. The new buttons seem to be detected fine in most cases, but the old buttons behave very unreliably, as you have said.
Have you come up with any workarounds for dealing with the old dash buttons, or are you simply no longer using them? Also, would it be worth making a new issue on the repo for this?

@robertvorthman
Copy link

@SoullessWaffle I don't use the old buttons anymore.

@kim3er
Copy link
Contributor

kim3er commented Sep 12, 2016

My button was initially picked up as an ARP request, but has since switched to UDP (firmware update?)

I've created a pull request that adds support for UDP.

Hope it helps anyone who is struggling with newer buttons. Let me know if you notice any problems with the implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests