@ggalt – I don’t disagree with you on Generic Devices being so limited being a detraction.
My workaround / solution has been to make random IR / RF devices as Ceiling Fans or Fireplaces, even when they’re most definitely not, and then rename buttons via API. Not exactly the easiest, but if you want to get stubborn about it… You get way more than just two buttons.
See Unable to learn dyson remote (yes this happens to be an oscillating fan rather than the lamps and other IR / RF devices I’ve told Bond are “fireplaces” or “ceiling fans”, but this walks through the same steps I use for those)