What programming language should I learn to automate my home with Home Assistant?

Hi everyone, I’m new to this community and to IoT and coding. I’m looking to automate my entire home using ESP Home and Node-RED, and I want to create scripts and configure dashboards. What programming language do I need to learn?

That’s the great thing about home assistant, you don’t need to learn any programming language to write automations or configure your dashboards. A lot can be done just from the graphical user interface (GUI).

You should learn a couple of data interchange formats : YAML and json. YAML is used to configure some integrations (others use the GUI), an understanding of json will help considerably with Node Red and other things like mqtt messages. Keep in mind there is very little that HA can’t do that Node Red can. So you may not even need NR.

If you want to get into more advanced features like templating you need to learn jinja. A smattering of Python would help here too but is not essential.

Learning Python would be required if you want to develop your own integrations.

2 Likes

Thanks. I’m excited to start learning Python

If you are going down the Node-RED route which I greatly recommend, you will find a good knowledge of JavaScript very helpful. With the NR function node you can attempt far more complex automations in js than with yaml in ha. Also, spend some time discovering Jsonata and the wealth of contrib modules available to NR.