The timer used for `millis()` is a monotonic timer based on the last
start time of the device. If, for some reason, you pick a long
`update_interval` and try to apply it as soon as you start the device,
nothing happens because the device hasn't been on for longer than the
`update_interval`
* Update light state when transformer has finished
* Revert writing direct to output
* Correct handling of zero-length light transformers
* Allow transformers to handle zero-length transitions, and check more boundary conditions when transitioning back to start state
* Removed log.h
* Fixed race condition between LightFlashTransformer.apply() and is_finished()
* clang-format
* Step progress from 0.0f to 1.0f at t=start_time for zero-length transforms to avoid divide-by-zero
* Renamed Nameable to EntityBase (cpp)
* Renamed NAMEABLE_SCHEMA to ENTITY_BASE_SCHEMA (Python)
* Renamed cg.Nameable to cg.EntityBase (Python)
* Remove redundant use of CONF_NAME from esp32_touch
* Remove redundant use of CONF_NAME from mcp3008
* Updated test
* Moved EntityBase from Component.h and Component.cpp
* Added icon property to EntityBase
* Added CONF_ICON to ENTITY_BASE_SCHEMA and added setup_entity function to cpp_helpers
* Added MQTT component getters for icon and disabled_by_default
* Lint
* Removed icon field from MQTT components
* Code generation now uses setup_entity to setENTITY_BASE_SCHEMA fields
* Removed unused import
* Added cstdint include
* Optimisation: don't set icon if it is empty
* Remove icon from NumberTraits and SelectTraits
* Removed unused import
* Integration and Total Daily Energy sensors now inherit icons from their parents during code generation
* Minor comment correction
* Removed redundant icon-handling code from sensor, switch, and text_sensor
* Update esphome/components/tsl2591/tsl2591.h
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Added icon property to binary sensor, climate, cover, and fan component tests
* Added icons for Binary Sensor, Climate, Cover, Fan, and Light to API
* Consolidated EntityBase fields in MQTT components
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Add macros header with more usable Arduino version defines
* Change Arduino version checking to use our version defines
* Add missing ESP8266 check
* Rename Arduino version macro to ARDUINO_VERSION_CODE
* Upgrade clang-tidy to use Arduino 3
* Fix clang-tidy warnings
* Upgrade NeoPixelBus to upstream 2.6.7
* Use Arduino-version-appropriate API to set redirect flags
* Remove now unnecessary CLANG_TIDY ifdefs
* Add preprocessor hackery to avoid including pgmspace.h
* Bump base image to 4.1.1 and update lint
* Fix nfctag
* Fix make_unique ambiguous
* Fix ignore name
* Fix ambiguous v2
* Remove unused begin
* Cast time_t to prevent issues on platforms where time_t is 32bit
Co-authored-by: Otto winter <otto@otto-winter.com>