Buy a ZigBee usb stick for the raspberry and use the ZigBee binding or deconz binding.
There are many ZigBee buttons on the market. WiFi costs too much energy for using it as the radio protocol and Bluetooth only recently gained the ability to be used as mesh (more than 1:1 connections possible) so not much hardware available.
What about Enocean? Get a USB300 Dongle and you could use 4 way switches which don’t need a battery like the Eltako FT55 or the Nodon Soft Remote. Or this one from Nodon https://nodon.fr/en/nodon/the-soft-button-enocean/ ( it’s not officially supported by the binding yet but will be soon and there is a workaround here New openHab2 EnOcean binding to already use it)
It works over Enocean which is a low energy wireless standard for iot things. You need an Enocean USB dongle like the USB300. Just search for Enocean USB300 on Ebay and you can find the dongle.