I agree with the monolith comment, but I am not sure the jab at Rust is warranted.
If we are rewriting HomeAssistant, let's do it in Rust :) Only half joking.
That said, I refuse to write automation in YAML. Logic doesn't really belong in YAML. Declarative stuff would be decent if all you did was to specify a desired end state and let it figure out how to get to that state. But triggers with the equivalent of 'if' conditions that run actions? Let me write the IF. It makes a big difference if you say "Lights should be on between X and Y" versus "condition: after: x before: y: action: turn on". Trivial cases are easy, but when you start combining them it becomes a nightmare.
I have done a lot with NodeRED but it is... strange. It does save me from writing YAML (I do enough of that on my day job), at the expense of being weird and not easy to debug.
As for plotting data, you can send that to Prometheus or InfluxDB and go from there.
I also wish there was an alternative. And more modular "plugins". And a "HA" option. As it is, I have a single raspberry Pi that, while backed up and could be replicated if needed, will go offline for updates and the like, not able to run any automation in the mean time.
It does work though.