Dasher Not Detecting Press

I posted this to the r/homeautomation subreddit, but got no response there. I’m hoping one of you folks can help out. :slight_smile:

I’m attempting to use dasher with home assistant per the awesome instructions provided by bruh automation (link).
When I run the find button script, I’m almost certain that I am finding the button, but it doesn’t show the manufacturer as amazon. What I see is (mac address redacted):

Possible dash hardware address detected: xx:xx:xx:xx:xx:xx Manufacturer: unknown 
Protocol: udp

I’m fairly certain that this is the button, because I pressed it a few times (with many seconds in between), and saw that MAC exactly as many times as I pressed it shortly after each press.
I thought it was weird that it didn’t show amazon as the manufacturer, but, unfazed, I created this config file:

{"buttons":[
  {
	"name": "Keurig",
	"address": "xx:xx:xx:xx:xx:xx",
	"url": "https://my_url.duckdns.org:8123/api/services/scene/turn_on",
	"method": "POST",
	"headers": {"x-ha-access": "my_password"},
	"json": true,
	"body": {"entity_id": "scene.good_night"}
  }
]}

(Obviously the mac, my_url, and my_password are different.)
When I try to run dasher with sudo npm run start I get this:

> [email protected] start /home/pi/dasher
> node app.js

[2017-07-23T14:12:35.147Z] Keurig added.

…and then nothing, no matter how many times I press the button.
Two main questions:

  • Does anyone know how to fix this, or what’s wrong?

  • Say my url, and headers, and whatnot have some error, but the address is correct, does dasher itself care about that, or will it still show a press when I test it?

Two additional notes: I did have to follow the instructions on bruh automation’s page for “If you are running into issues installing NPM or Dasher due to running older versions of NodeJS…”, and, I’ve closely followed the instructions for setting up the button itself, but my phone gets pinged by amazon to complete setup every time I press the button.

Thank you so much!

I would guess at the answer being find button states yours is the newer udp version of button but you haven’t set that in your config.

You’re right! Per the readme (I guess it’s right in the name…) with udp you need to add the protocol to your config. I modified my configuration to look like this and it’s working a treat now, and is turning on the script as expected. I haven’t yet added it to my pi’s autostart, but only because I’m currently sneaking away from other obligations for a moment.

{"buttons":[
  {
	"name": "Keurig",
	"address": "xx:xx:xx:xx:xx:xx",
	"protocol": "udp",
	"url": "https://my_url.duckdns.org:8123/api/services/scene/turn_on",
	"method": "POST",
	"headers": {"x-ha-access": "my_password"},
	"json": true,
	"body": {"entity_id": "scene.good_night"}
  }
]}
2 Likes