Can't get Amazon Dash button working - Hassio dasshio

No, I’ve been trying to space them out at different intervals. Nothing working enough.

The Hassio add-on works really well. I can however confirm the issue with “double presses”. Using a dash button for “toggle” (toggle the lights in the bedroom for example) doesn’t meet the WAF for now :wink:

1 Like

Yes, this is a known issue. I’ve done some modifications to solve the problem but without success. I will try to fix it this week in order to meet WAF :smiley:

Thanks for testing dasshio!

Any updates on this? Currently toggle is unusable due to 2x firing of actions.

Assume you’ve seen this…

Does dasshio support timeout?

Update: Looks like Dasshio does not support timeout. I swapped over to Dasher and everything works now! Thanks!

Is that using a timeout?

Yes, Dasher with timeout

Glad you found the link useful :slight_smile:

Hi @mattscchs and @KKlitgaard,

Toggle is now working thanks to the new version of Dasshio.
Stay tuned by this thread: Dasshio - Amazon Dash Buttons Hass.io add-on

Check out the new version please! New updates coming soon

1 Like

Just installed thjis addon and have the below error

{
  "timeout": 20,
  "buttons": [
    {
      "name": "dash",
      "address": "50:f5:da:xxxxxx",
      "url": "http://192.168.1.1:8123/api/services/switch/toggle",
      "headers": "{\"authorization\": \"password"}",
      "body": "{\"entity_id\": \"switch.door\"}"
    }
  ]
}

2018-09-22 16:55:42,159 | INFO | Reading config file: /data/options.json
2018-09-22 16:55:42,160 | INFO | Starting sniffing…
Traceback (most recent call last):
File “/dasshio.py”, line 27, in arp_display
mac = pkt[ARP].hwsrc.lower()
File “/usr/lib/python3.6/site-packages/scapy/packet.py”, line 966, in getitem
raise IndexError(“Layer [%s] not found” % lname)
IndexError: Layer [ARP] not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/dasshio.py”, line 149, in
count=0)
File “/usr/lib/python3.6/site-packages/scapy/sendrecv.py”, line 783, in sniff
if stop_filter and stop_filter§:
File “/dasshio.py”, line 29, in arp_display
mac = pkt[Ether].src.lower()
File “/usr/lib/python3.6/site-packages/scapy/packet.py”, line 966, in getitem
raise IndexError(“Layer [%s] not found” % lname)
IndexError: Layer [Ether] not found

I did not have the issue you’re talking about, but I would first check that you have installed the latest version of Dasshio. Also, what version of Home Assistant are you running? There’s been major changes to authentications and Hass.io add-ons can no longer pass along the API password. Dasshio was updated to fix this.

This is obvious, but is your Home Assistant IP address really 192.168.1.1? That is normally your router’s IP address.

Also, maybe you can change your Dasshio configuration to avoid doing a HTTP request and avoid dealing with tokens. My Dasshio config is below if you need an example. I’m running Home Assistant 0.77.3 and Dasshio 0.31.

{
  "timeout": 1,
  "buttons": [
    {
      "name": "Doubleshot",
      "address": "XX:XX:XX:XX:XX:XX",
      "domain": "script",
      "service": "turn_on",
      "service_data": "{\"entity_id\": \"script.announce\"}"
    }
  ]
}

I have 0.78.1 and DASSHIO 0.3.1 yes 192.168.1.1 is the correct IP address of HASS

I changed to your configuration

{
  "timeout": 5,
  "buttons": [
    {
      "name": "Vergnano",
      "address": "50:F5:DA:xxxx1",
      "domain": "switch",
      "service": "turn_on",
      "service_data": "{\"entity_id\": \"switch.door\"}"
    }
  ]
}

and receive this

2018-09-23 12:10:04,171 | INFO | Reading config file: /data/options.json
2018-09-23 12:10:04,172 | INFO | Starting sniffing…
Traceback (most recent call last):
File “/dasshio.py”, line 27, in arp_display
mac = pkt[ARP].hwsrc.lower()
File “/usr/lib/python3.6/site-packages/scapy/packet.py”, line 966, in getitem
raise IndexError(“Layer [%s] not found” % lname)
IndexError: Layer [ARP] not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/dasshio.py”, line 149, in
count=0)
File “/usr/lib/python3.6/site-packages/scapy/sendrecv.py”, line 783, in sniff
if stop_filter and stop_filter§:
File “/dasshio.py”, line 29, in arp_display
mac = pkt[Ether].src.lower()
File “/usr/lib/python3.6/site-packages/scapy/packet.py”, line 966, in getitem
raise IndexError(“Layer [%s] not found” % lname)
IndexError: Layer [Ether] not found

the DASH is connected to the network, I see it in the assigned static addresses

Do you mean you see it connect for a few seconds and then disconnect? The button doesn’t stay connected.

Could be, I don’t know how to check if it disconnects (I think my DHCP server releases it after some time). For sure the DASH buitton has WiFI coverage (is not far from router wifi).

EDIT I tried to enable the notification in Amazon app, and each time I press the Dash I receive Amazon notification (to continue configuration), so I think is connected

Just wondering…are you using something other than a Raspberry Pi to run Hass.io? When I look at the error, I think the script can’t execute because it is expecting from the network hardware that doesn’t exist on your setup. It’s just a guess…

I found this post while researching your problem. Seems relevant.

Yes, I run HASSIO on an Ubuntu Intel NUC

Someone else had the some problem as you and fixed it by forking the Dasshio repository and adding his code. You can read the details and get the link to his fork here:

I hope it works!

I had to same problem with ubuntu 16.04. When I switch to https://github.com/theastropath/dasshio and-on, problem solved.