ESPHome external component guidance

I’ve googled high and low but can’t find what I need, hence this request. I’m trying to extend an ESPHome external component that uses BLE to get data from a car. Currently, it only has some binary sensors that show states of things like locked and charging. I want to add a text sensor and eventually numeric sensors (one step at a time!). I have found a little help and I’ve seen what I think are examples here esphome/esphome/components/template at dev · esphome/esphome · GitHub. These examples don’t show how to combine different sensor types.

Before I start hacking my init.py and use trial and error, is there guidance somewhere on how the sensors are specified in ESPHome (configuration in the initi.py and yaml) and how their states should be updated using C++?