Developing custom components

Esphome developer documentation is still rather sparse, especially concerning the python portion of the system and how it is used to build c++ code.

There’s another thread here discussing this and similar issues.

I’ve developed an external component to provide dynamic cron functionality to esphome, and I’ve recently added unit testing and docker scripts to the dev branch that set up a basic development and testing environment using tools on the esphome/esphome docker image. One of my goals with this component, besides the cron functionality, is to demonstrate one possible (and hopefully simple) developer process for creating esphome external components.