I think you have to associate it with the lights again in the app. The google integration problem seem like something a little different.
I think you have to associate it with the lights again in the app. The google integration problem seem like something a little different.
I think the key things to focus on here will be understanding the fundamental technologies and architectures that are common in the space.
Some of the technologies that I would start with:
The good new for you is that many of the major projects out there are written in python, so understanding and contributing will come quickly to you. One thing that I would recommend is to become aware of how professional development workflows can help you. Learn standards like PEP8, learn how to document your code with docstrings, learn branching, merging, pre-commit testing, unit testing, and how to maintain a good standard of quality. Each of these topics are not absolutely necessary, but they are incredibly valuable skill to develop as you are learning about HA topics.
As for hardware, you will have to eventually get some tools like a logic analyzer or an oscilloscope when you are serious. You can get a really cheap Saleae clone logic analyzer to start with. Getting an oscilloscope is often a major commitment to device development. You will want to buy one good enough that you can actually use it. That can be expensive.
If you want to design your own boards, you will need to both learn layout tools and the fundamentals of electrical design. A good book for electrical design is “The Art Of Electronics” This books is among the best I’ve read for actually communicating how circuits can be used and designed to suit your needs.
A common professional board layout software is Altium. I believe it has some student edition options if you still have a university email. Outside of that I think it is prohibitively expensive, so you may want to look for opensource alternatives.
I use Proxmox with both Debian and Ubuntu servers hosted on it. My fundamental choice for the distro in this situation is whether I can find more community use of one distro over another for the service I am hosting. At this point, I am more familiar with Debian, but I use ubuntu server for some things at work, so it is valuable for me to use it at home to build skills.
I have been using you track. It’s been pretty good.