* Add support for TMP1075 temperature sensor
TMP1075 is a temperature sensor with I2C interface in industry standard
LM75 form factor and pinout.
https://www.ti.com/product/TMP1075
Example YAML:
```yaml
sensor:
- platform: tmp1075
name: TMP1075 Temperature
id: radiator_temp
update_interval: 10s
i2c_id: i2c_bus_1
conversion_rate: 27.5ms
alert:
limit_low: 50
limit_high: 75
fault_count: 1
polarity: active_high
```
* Add myself as codeowner of the TMP1075 component
* Include '°C' unit when logging low/high limit setting
* Reformat
No functional changes.
* Fix logging: use %.4f for temperatures, not %d
* Fix config initialisation
* Use relative include for `tmp1075.h`
* Apply formatting changes suggested by script/clang-tidy for ESP32
* Add YAML to test1.yaml
* Fix test1.yaml by giving TMP1075 a name
* Less verbose logging (debug -> verbose level)
* Schema: reduce accuracy_decimals to 2
* I2C address as hexadecimal
* Proper name for enum in Python
The enum on the C++ side was renamed (clang-tidy) but I forgot to take that
into account in the Python code.
* Expose 'alert function' to the code generator/YAML params and remove 'shutdown'
Shutdown mode doesn't work the way I expect it, so remove it until someone
actually asks for it.
Also 'alert mode' was renamed to 'alert function' for clarity.
* Move simple setters to header file
* Remove `load_config_();` function
* 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>