I do some of my best thinking in flow charts and drawings. I was just drawing out the relationship between all of my switches, lights, outlets, thermometers, etc and it hit me. The way I have set things up follows MVC. HomeAssistant and I are the model, although home assistant also acts as the controller too in some cases. They don’t really know how anything happens behind the scenes, they just know what they want done and when to do it in relation to other inputs. My hubs like Wink, Lightify, Hue and HomeAssistant are the controllers. They don’t actually make the relay in the switch turn on, they just tell the switch to turn on, and the intelligence in the switch does that for us. The Lights, switches and outlets don’t do anything unless one of the controllers tells them what to do.
What confuses matters is when you run into devices like the Nest Thermostats that have all three parts built into them as well. They have the intelligence or model to know when everyone is gone to turn up or down the temp depending on the season. And they effect that process so they are part of the view too.
Home assistant also has various parts. It has an a background process that listens and talks to all the sensors. This is the controller. But it also has the automation engine, that knows what to do when a temperature value changes or the sun sets.
I think (hope) I’m beginning to get it.