I have always dabbled in home automation, pretty much since before it even became a thing. Most of the control was, and mostly still is via X10 devices and controllers which use mains signalling. This is rather old fashioned now and, being mains signalling is susceptible to interference. At one stage the outdoor light, which are controlled via an X10 appliance module in the workshop were very intermittent, until I discovered the wall-wart on one of the internal cameras was injecting awful noise that caused a scanner AM to buzz wildly when held near any mains outlet in the house!
Anyway, that isn’t radio related, but this is… enter Zigbee. I have not read very far into this yet but it uses 2.4GHz among other frequencies for its signalling and there are lots of modules available. I plan to change our two dimmers to Zigbee and it will be pretty much plug and play. Apart from removing the mains signalling path the modules communicate both ways, so the controller can see their status as well as control them. Some of the newer X10 modules do this but very few of them and none of the ones I have.
The current setup here is a Raspberry Pi running Homebridge which appears in the Apple Home app and can respond to commands via Siri. The X10 lighting controllers are handled via shell scripts which are called by a Homebridge plugin. But with no status return, if the lights are switched on by a switch or, in the case of the garden and outdoor lights via a script which calculates dusk and dawn the Home app has no clue as to their state. With Zigbee it will.
There is a little way to go yet but everything appears to work. The Homebridge software has a plugin that communicates with software on the server which in turn works via a Zigbee 2.4GHz USB dongle. Basically, with very little work new devices feed their names all the way back to the Home app. All I need now is some more!