* Feat: add support for hex color in color component
* Chore: move hex color validator to color component
* Chore: add test
* Chore: fix formatting
* Chore: make linter happy
* Chore: make linter happy
* Fix: parse correct offsets
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Chore: use cv.Invalid
* Fix: remove # because it indicates a comment in yaml
* Fix: only allow hex if no other color value is set
* Fix: tests
* Fix: mutual exclusion of raw and hex colors
* Chore: format file
* Update __init__.py
---------
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* - Removed cleaning the screen twice.
\Should be handled by `DisplayBuffer::init_internal_();`
- Made ili9341::initalize() protected and renamed
\ it to ili9341::initalize().
- ili9341::initalize() should only init the display
\ and set the width and heigth.
* removed to much
* clang format fixes
* removing trailing underscors for
protected virtual methods
* removed the "override" on display()
* clang fixes
* restored old changes
* Renamed the ili9341 platform to ili9xxx and added
multiple drivers as well. including PR #3848
* fixed most of the clang reported issues
* fixed reported issues
* last fixes
* Setting the right codeowners
* missing changes
* fixed naming Display() method.
* clang again
* clang fix
* fixes reported by @jesserockz & @gpambrozio
* a change to display.py removing an unneeded var
* re-introduce **backlight** option.
* update the ili9488 initialization
* update the ili9488 initialization and fix typo
* fixed typo
* add missing constants
* swap height and width back for the ili9488
* init fixes ili9488
* fixed lint issue
testing the init code
* oeps
* init fixes ili9488
* fixed wrong define
* fixed wrong define again
* removed some spaces
* revert to ili9341
* Remove parts that where used for
the switchplate
* lint fixes and removing unused function
* fix error and introducing 16bit color option
* fix error and introducing 16bit color option
* fix clang issue
* clang fix
* clang issue again
* is this what clang exprect
* clang fix
* clang fix
* try again
* let try again
* and again
* and the last clang fix
* remove the need of wifi
* update dimentions
* update ili8488 init code.
* update dimentions
* allow to change height and width
* dump color mode config
* fix
* fix
* modify logging
* referd back unrelated change
* code formatting commit and moving functions around
* add missing ;
* update code
* update code
* use the correct write_array for sending uint16_t
* fix panic loop
* fix panic loop
* - update the test file
- fixed sending display data
* clang fixes
* clang fixes
* clang fixes again
* remove .gitignore items
* remove .gitignore items
* make sure Update() can can not be called while
called
* clang correction
* adding a test yaml for the ili9341
* Update ili9341 example
* Make test ili9xxx/tests only local
* restore back old ili9341 driver code
* Add a new config for the M5Core
* fix clang request
* reverd to restore of the old ili9341
there is no proper way to say it is depricated.
* Remove the backlight/led pin from the config.
You need to use a proper light platform component
* Ili9488init changes (#88)
Fixed ILI9488 init settings, and adjusted pixel handling code to push pixels in 18 bit format.
This does not change the internal 16-bit representation.
* fixed some leftover clang issues from the merge.
* fixed the slang-tidy request.
* remove `backlight_pin` warning.
---------
Co-authored-by: JD Steffen <jdsteffen81@gmail.com>
* Add support for AS7341 spectral color sensor.
* Run clang-format and clang-tidy.
* Post-review changes.
* Apply suggestions from code review
---------
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Add support for FS3000 sensor.
* add fs3000 to test yaml
* Clean up code with clang.
* Clean up sensor.py file.
* Update CODEOWNERS file.
* Apply suggestions from code review regarding sensor.py
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Apply suggestions from code review for basic issues regarding C++ code
- removed unnecessary default for FS3000Model
- use "this->" before any sensor update
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Move model setup to overall setup function.
* Remove unneeded CONF_ID from sensor.py
* Run clang-format
* Move set_model code to header file now that it is simplified
* Update fs3000.h
---------
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This lets downstream components respond to climate configuration
changes, which take place through ClimateCall objects, without also
being notified every time the state changes, which happens every time
the input sensor announces a new value.
FIXES https://github.com/esphome/feature-requests/issues/2136
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>
* 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 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>
* 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.