Crazy idea: ZigBee is a mesh network. Any signal I send from a remote control is received by several other devices, deduplicated and routed to the right device.
Is it possible to identify where the remote is based on the relative receive signal strength on nearby devices? Could you have an “any room” remote, which applies to whatever room gets the strongest signal from it?
In my experience that is not likely to be a reliable method… the reported signal strength can vary wildly from minute to minute and end devices can hold onto established router connections for a significant amount of time (even when there are perfectly good routers nearby with better signal strength)… it’s all part of the black magic that is Zigbee.
If you want to use the same remote in different rooms, you might be better off with a technology that doesn’t pass through walls, like IR. You can set up IR receivers in each room where you want to use the remote and use HAIR to create receiver-specific triggers for each button press.
I experimented with conditional dashboards and the Bermuda Bluetooth integration for a while that showed different dashboard based on what room it thought I (my phone) was in. In it’s final iteration, i was doing it by floor so i had a basement, first floor, and 2nd floor conditional dashboard. Even that wasn’t reliable enough due to BT inaccuracy, not the Bermuda Integration. This was over a year ago and things have probably improved.
I did the BLE version of this with Bermuda (phone as the target, one ESPHome proxy per room, strongest signal wins), and it’s actually the best case for the idea because every proxy hears every packet, unlike a Zigbee end device that only talks to its parent router. Even after calibrating a per-proxy RSSI offset it still switched rooms about 7 times an hour over a week, and the median stay in my living room was 26 seconds. Fine for a dashboard, not something I’d want deciding which light a button press goes to. I don’t have Zigbee LQI numbers, but I’d expect worse, not better.