Fan Increase / Decrease Speed with Home Assistant

Currently home assistant integration doesn’t include the increase or decrease speed button.
I have a fan (dyson) that is integrated via IR, works great via the app but can only toggle power and direction via home assistant.

To work around this I’m trying to do RESTAPI integration with a home assistant button but can’t get the RESTAPI to like the Increase or Decrease speed action

  • returns {“_error_id”:7,“_error_msg”:“bad argument”}
  • FYI: Show raw log (power toggle and direction works).
curl --location --request PUT 'http://192.168.x.x/v2/devices/XXXXXX/actions/IncreaseSpeed' \
--header 'Bond-Token: YYYYYYYY' \
--header 'Content-Type: text/plain' \
--data '{}'

You’ll need a parameter in the data field (it looks like just a blank {} in your example above), saying how many speed levels to increase.

See here

Thank you that worked, it would be useful if there were curl generation within the api swagger because I don’t really find it super clear (probably user error)

I’m having exactly the same problem here with a kitchen hood. The remote only has a Fan Up and Fan Down function. I set it up in the app, and it works great - but in Home Assistant it presents as a 3speed+off fan control, and does not work at all. None of the speed settings or Off do anything, and the Off actually throws an error. Is there a way I can fix the entity type so that it just presents a Fan Up and Fan Down in HA?

After reading the post here about how to decode programmed buttons, I am able to do what I want from the command line with CURL, but I am pulling my hair out trying to translate these curl commands into RESTful actions in HA…

curl -H “BOND-Token: blahhh” -i http://192.168.1.18/v2/devices/blahhblahh/commands/4d8249afa7250f35/tx -X PUT -d “{}”