Good exercise but FYI ESPHome is probably the way to go for most people.
All the sensors you mentioned are likely already supported and just need to be added to a yaml file.
All the sensors you mentioned are likely already supported and just need to be added to a yaml file.