So I’m probably not the best for the automation as far as explaining how it’s done but I can kind of explain how it gets there (I personally don’t run a fully automated system). Most of the time you’ll need a controller (Apex, GHL, Hydros, ReefPi, or similar) however certain things don’t have to have the controller.
Lighting - Generally no controller needed - I just use smart timers (can set via an app) for lights that don’t have the controls built in (halides mainly) but most LED and some T5 lights, even the cheaper Chinese black boxes have some form of control built into them already or have their own app to control the light.
Auto Feeders - No controller needed usually -Neptune used to carry an auto feeder that hooked up to the Apex but that has been discontinued to my knowledge. I don’t run an auto feeder but I’ve heard great things about the Avast Marine auto feeder but no controller is needed.
Auto top off - again no controller needed but many will hook up to controllers - Tunze is a great brand for this but I run a Neptune auto top off connected to the Apex. You just have to refill the top off tank.
Auto Water Change - can be done without a controller but from what I understand is easier with a controller. I have no experience with this. Best I can do is refer you to this -
Auto Testing - Neptune has the Trident that tests calcium, magnesium and Alk. I don’t run this but I believe an Apex is required. GHL makes the Ion Director that tests Calcium, Magnesium, Potassium, Sodium and Nitrate and the KH director that tests Alk (I believe the GHL Profilux is required for this).
I hope this helps some!