* Add support for SSD1306 OLED display 0.42inch 64x32 and fix a typo in __init__.py preventing flip functions to operate as intended
* convert tab to spaces
* fix typo on filename for __init__.py
* Add SPI lib for ESP8266 and only add lib for ESP32 when using Arduino
* Make inclusion of the SPI library unconditional
As suggested by @Oxan. Because the component requires Arduino anyway, there is no need to make the inclusion conditional.
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Fix Python lint issue
Co-authored-by: Maurice Makaay <account-github@makaay.nl>
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* DSMR chunk size from 50 to 500
* Still a few CRC errors with 500, upping to 1024.
* Adding timers to measure how long processing DSMR takes
* Handle chunked output from smart meter.
* Cleaning up and commenting the new chunk handling code
* Remove debug code.
* Fixing clang-tidy issues.
* Implementing chunked reading support for encrypted telegrams.
* Remove redundant extra delay for encrypted reader
* Beware not to flush crypted telegram headers
* Use insane data timeout for testing
* Improve logging
* Make clang-tidy happy
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
Co-authored-by: Maurice Makaay <account-github@makaay.nl>
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>
* teleinfo: handle historical mode correctly.
In historical mode, tags like PTEC leads to an issue where we detect a
timestamp wheras this is not possible in historical mode.
PTEC teleinfo tag looks like:
PTEC HP..
Instead of the usual format
IINST1 001 I
This make our data parsing fails.
While at here, make sure we continue parsing other tags even if parsing
one of the tag fails.
Signed-off-by: 0hax <0hax@protonmail.com>
* teleinfo: fix compilation with loglevel set to debug.
Signed-off-by: 0hax <0hax@protonmail.com>
Co-authored-by: Maurice Makaay <account-github@makaay.nl>
Co-authored-by: Otto winter <otto@otto-winter.com>
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
* 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
- 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>
* Sample from SGP40 sensor at the appropriate interval
The spg40 sensor must be sampled at 1Hz for the VOC index algorithm
to work correctly. This commit introduces a on device timer to
sample correctly seperately from updating the public state of the
component.
* Add missing configuration values for SGP40
The SGP40 component was not printing all of it's configuration in
dump_config, add in the missing store_baseline value.
* Address review comments
* Format according to clang-tidy
* Attempt 2 at clang tidy