I've started down the Automation journey about a month ago. The kids are part of the driving force, but also I wanted to get back into coding, so this was a good foray for that. I've also been a log time lurker, very little poster here.
I was looking at the nControl suite, but opted to go a bit of a blend of Internet of Lego & Mattzo's paths [http://www.internetoflego.com/ & http://mattzobricks.com/ ] leveraging the NodeMCU ESP8266 modules for controlling the sensors, lights, switches, and will get to train control as well. I do like what Mattzo was looking at towards integration with rocRail for full automation, but am starting out with Node-Red on a raspberry Pi. This allows the audrino boards operate as a individually, and the parallelism is centralized via MQTT messaging to the flows within Node-Red. It's allowing me to start slow, test, build up in scaling out. While the flows in Node-Red won't let you visualize the track per-se, it will allow me to make a dashboard to control the track sections and trains, creating a sudo-autonomous situation at first, and then maybe flows can do full automation. I'm still very early on in the work, getting the hang of programming again(been a number of years since doing stuff at this level), and also the feel for it all and Node-Red, MQTT, etc.