MH-Z19B allows to enable/disable 'automatic baseline calibration',
which is enabled by default (MH-Z19B v1.2 datasheet).
It operates on too short 24hr interval. So if the place
where sensor is located is not ventilated well "every" day, ABC will
make sensor under-report CO2 value, since baseline (400ppm) is moved
to lowest observed value in 24hr.
With such short recalibrartion window, sensor often doesn't show
correct CO2 levels when ABS is left enabled. Disable it on boot
defaut and add 'automatic_baseline_calibration' option to allow
override from config.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
it will allow to report exact sensor type in dump config
and later will be used for turning off autocalibration.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
## Description:
Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97
Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍
Progress:
- Core support (file copy etc): 80%
- Base Abstractions (light, switch): ~50%
- Integrations: ~10%
- Working? Yes, (but only with ported components).
Other refactors:
- Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`)
- Rework coroutine syntax
- Move from `component/platform.py` to `domain/component.py` structure as with HA
- Move all defaults out of C++ and into config validation.
- Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration.
- Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit.
Future work:
- Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block
- Enable loading from `custom_components` folder.
**Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97
**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here>
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Tests have been added to verify that the new code works (under `tests/` folder).
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).