One of the YouTube channels on home automation is Paul Hibbert's. I love Paul's humor although it seems some people find it a bit "smutty". Some one once commented to Paul that home automation was merely turning lights on and off. I suppose to an extent this is true.
While not the complete truth these days, it still holds that you need a reason to turn that light on or off. In addition, it's not just lights these days either. It could be aircon, tvs, you name it.
So why do you want to turn your device on or off? What do you want the device to react to? This is the basis for selecting the right sensors.
Do you want to react to a voice command? Perhaps you want to link your light to Alexa or google home. While I normally use Google home for this (I love the hubs as picture frames), other have different preferences. Paul Hibbert, for instance, regularly mocks Google's voice recognition capabilites. I don't entirely disagree with his comments.
Much as voice recognition is good, do you really want to be asking your assistant to turn on and off all the lights? There are switches too (which have their place), but if you are looking at home automation, chances are you want a bit more than that. So, the first sensor you probably want is a two-for-one type.
The Aqara motion sensor requires a zigbee hub of some description. I use a few different method of talking to mine, just to span out the radio networks. Zigbee adapter from sonoff is one option, so is a conbee stick. There are others, and your mileage may vary. However, these motion sensors provide you with two types of sensor. The first is obvious, it's in the name - motion. The second is not quite so obvious, but is useful - luminescence. Triggering a light in a room based on motion is good, however if it's already light in the room, why turn it on? On the flip side, if you have motorized blinds or curtains, why not shut them when it gets dark? Just be careful that they don't automatically open again to let light in.
The downside to these sensors is they have an approximately 300 seconds cooldown period. This means that after they stop detecting motion for 300 seconds, then they will be ready to detect motion again. I believe there is a way via hacs to reduce this to 5 seconds in home assistant used in conjunction with a hardware hack.
The next sensor I have lots of (one in each room) are the Aqara multisensor. These sensors measure temperature, humidity and pressure. Great for data logging and weather measurement. I even have one outside (and out of the rain and snow) to measure the outside temperatures. I have radiator valves (also by Aqara) and these are great for correcting the room temperature. Not only that, but with all the sunny weather we have been having closing blinds / curtains due to the temperature is a great idea.
The third type of sensor is the door open / close contact sensor. These have multiple uses throughout the house. I use them for switching off the radiator values if the windows are open and occupancy detection in conjunction with the motion sensors. There is a blueprint for home assistant that explains the fly-in-a-box problem for occupancy and movement. Since I use home assistant, I do use this blueprint, but it should be possible to implement it in other systems too. The last place I use this sensor on is my post box in my front door. When I get post, I get a notification on my phone. Other examples could be on fridge or cupboard doors.
Vibration sensors can help turn a dumb appliance like a washing machine or dishwasher in to a smart one. After the device stops vibrating for a certain amount of time, I get a notification to empty the device. As I have my washing machine and dishwasher next to each other, there can be false alarms. While smart washing machines are a thing, I'm not sure of their usefulness over a built in timer, a smart plug socket and a vibration sensor.
Other types of sensor I use tend to be built in to other devices. For example, If you have a smart plug switches on / off your TV, you may be able to measure the power consumption. If you try this at various stages, you might be able to find out when the TV is at the wall, but on stand-by. On stand-by for 5 minutes? Turn the TV off. In my case, if the TV is on stand-by, some of my automations may break, as I need to send an IR signal to change that behavior.