Currently, in each loop during DisplayBuffer::update_() the display is
cleared by calling DisplayBuffer::clear().
This prevents more efficient display usages that do not render the
screen in each loop, but only if necessary. This can be helpful, for
example, if images are rendered. This would cause the loop time to be
exceeded frequently.
This change adds a new optional flag "auto_clear" that can be used to
control the clearing behavior. If unset, the DisplayBuffer defaults to
enabled auto clearing, the current behavior and thus backward compatible.
This flag applies to displays that use DisplayBuffer.
Example excerpt:
globals:
- id: state
type: bool
restore_value: no
initial_value: "false"
- id: state_processed
type: bool
restore_value: no
initial_value: "false"
switch:
- platform: template
name: "State"
id: state_switch
lambda: |-
return id(state);
turn_on_action:
- globals.set:
id: state
value: "true"
- globals.set:
id: state_processed
value: "false"
turn_off_action:
- globals.set:
id: state
value: "false"
- globals.set:
id: state_processed
value: "false"
display:
- platform: ili9341
# ...
auto_clear_enabled: false
lambda: |-
if (!id(state_processed)) {
it.fill(COLOR_WHITE);
if (id(state)) {
it.image(80, 20, id(image1));
} else {
it.image(80, 20, id(image2));
}
id(state_processed) = true;
}
Co-authored-by: Tim Niemueller <timdn@google.com>
- Fixed endianness bug on tcs34725 data read
- Fixed lux adjustments based on gain, integration time and GA factor
- Added glass attenuation factor to allow using this sensor behind
semi transparent glass
Co-authored-by: Razorback16 <razorback16@users.noreply.github.com>
* 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>
* Accept changes as proposed by black.
* Added test and implemented optional correctly.
* Disable PHY RF full calibration (because it calls the breaking MAC retrieval function).
* Disable CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE instead of enable, dummy!
* Rename CONF_IGNORE_EFUSE_MAC_CRC to CONF_ESP32_IGNORE_EFUSE_MAC_CRC.
* Removed unused import.
* Fix ordering of constants.
* Moved all MAC address logic to core helpers.
* Use pretty MAC address for the log.
* Use standard MAC formatter function for debug component.
* Fix clang-formatting.
* Fix clang-formatting.
* Brought wording of comments in line with other function-describing comments.
* Processed code review by @OttoWinter
* Add USE_ESP32_IGNORE_EFUSE_MAC_CRC to defines.h
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
* Adding first version of current_base cover. No Interlock yet.
* simplifying code
* Implementing malfunction protection
* Adding test
* Fixing too long lines
* Fixing test sensor names
* Adding missing id's in ade7953 tests
* Adding code owners as requested
* Fixing issue setting position when stop reached
* Fixing issue setting position when stop reached
* Black formatting
* Fixing format issues
* Fix for concurrent changes
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Add serveral options for SSD1306 integration
* Add SSD1305 support
(SSD1305 is similar to SSD1306, it seems SSD1305 has
brightness and color register but does not have charge pump)
* Add some description when manipulating registers
* Add flip, offset and invert option to get more compatibility
with various display modules
* Fix typo `setup_ssd1036' -> `setup_ssd1306'
* Add SSD1306 brightness validation tip
* Add more description, limit offset range
* Changes according to linter
* Fix test
* Raise error instead of using warning
* Fix wrong logic
* Remove logger
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Remove logging import
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* adding a scan results wifi text sensor
* Code comment
* Adding scan results to test
* Removing redundant call
* linting
* Better method to update wifi info
Co-authored-by: Otto Winter <otto@otto-winter.com>
* Getting loop back
At least for now.
* Trying out suggestion again
* Applying cr suggestions
Co-authored-by: Otto Winter <otto@otto-winter.com>
* numeric speed added
* when dumping config for MQTT components log a note when skipped due to is_internal
* added new topics to paython code validation/generation
* reformatted with black
* formatting corrected
* use dump_config_ mechanism to skip internal components
* use dump_config_ mechanism to skip internal components
* style issues resolved
* do_dump_config removed
* formatting fixed
* formatting fixed
* Drop parent dump_config() calls
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Add support for ltr390
* Fix linting errors
* Fix more linting errors
* Linting fixes continued
* Linting forever
* Another one
* Fix regression and linting
* Fix narrowing conversion
* Add test and bugfix
* Add codeowners
* Update CODEOWNERS
* Update sensor defs
* Reformatted with black
* Fixed device class import
* Update CODEOWNERS
* Update CODEOWNERS
* Adding all config options
As requested https://github.com/esphome/esphome/pull/1505#discussion_r597326897
* Moving test to different config file
test1.yml runs out of memory
* Update according to comments
* Add safety clause to reading modes
* Fix clang-tidy complaint
* Revert change to i2c component
* Fix for changes in dev
* Revert "Revert change to i2c component"
This reverts commit 2810df59e9.
Co-authored-by: Otto winter <otto@otto-winter.com>
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Prevent underscore character being used in 'name'.
* Restrict underscores in hostnames, not all names.
* Use hostname validator for node name.
* Allow underscore in hostname but warn once.
* Add renaming instructions link to warning.
* Point underscore warning to FAQ section
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
* Added an option to disable mDNS
* Fixed linter issues
* Moved the enable_mdns option to WiFi and Ethernet components
* extracted common method for add mdns library
* lint
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
* Start of SGP40 dev
* Clean up
* Initial Commit
* VOC is working
* Fixed up sensor config
* Lint Fixes
Added in save/restore baseline
Noted original repo in header
* Lint Fixes
Added to test
* Lint Fixes
* Added additional check on restoring
* Removed double check
* Changed defines to static const double
* Changed defines to const
Do not send voc index until sensor stabilizes
* Fixed sensor stabilization message
* Fixup according to PR
* samples_read increment fix
* Fixed missing device class
* Choose a SENSOR device class
* Moved some sensors for tests
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
* Add fan speed percentage support to the API
* Add float fan speed percentage
* Add percentage support to automation and configuration
* Update Tuya fan
* Fix pylint warning
* Update API to use speed levels instead of percentage
* Use speed levels
* Fix type warnings
* MQTT component now converts between speed levels and enums
* Webserver now supports speed_level
* Update prometheus
* Remove low/medium/high settings from speed fan
* Remove unused enum
* Configurable speed levels for speed fan
* Remove unused import
* Rename speed_level->speed and speed_levels->speed_count
* Rename supported_speed_levels -> supported_speed_count in API and FanTraits
Field id stays the same in the protocol, so the change is not breaking for aioesphome.
* schema dump idea
accept boolean or anything default
accept null also for full dicts
added some common validators
more simple validators
support multi_conf
better handle automations
updates
updates
handle lists
removed not needed class
move to own folder
generalized for automations lists, etc
updates
updates
clean up
clean up
fix automations
made comment optional
basic docs support
added more docs
fixes docs handling
updates
updates
fix components parent
updates
updates
updates
Fix inkplate 6 registration
updates
Disable logging for vscode add on
better handle buses
keep extended order as in CONFIGs
updates
updates
updates
disable comments
moved to scripts/build_jsonschema
added configurable decorators
path handling
fix handle list_schema
fixes and cleanup
add jschema_extractor to maybe
updates
lint
no schema in git
add generated loggers list
* lint
* Added support for SM300D2 sensor module
* Fixed lint errors due to added tvoc config
* add device class
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
* Migrate ESPColor to Color
* color.h constructor fix
* Updated componets to use Color
Added a using for ESPColor
* Lint fixes
* Fixed value error
* Update display components to use colorutil
* Updated to latest PR comments
* Fixed COLOR_WHITE
* Moved esp_scale to color_utils
* Rename color_utils to display_color_utils
* Added samsung36 ir protocol
* Make linter happy
* Added test and fixed python failure
* Sorry for the commits but linter was still not happy :)
* Okay have to run script/clang-format -i
Co-authored-by: tuxBurner <tuxBurner@boggo.de>