1
0
mirror of https://github.com/esphome/esphome.git synced 2024-12-28 17:37:44 +01:00
Commit Graph

255 Commits

Author SHA1 Message Date
Tim Niemueller
11f1e28139
Make per-loop display clearing optional ()
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>
2021-11-03 17:56:09 +01:00
Paul Monigatti
331a3ac387
Add option to use MQTT abbreviations () 2021-10-31 15:34:08 +13:00
Paul Monigatti
1308236429
Revert "Added test for bme680_bsec" ()
This reverts commit 7f6a50d291 due to BSEC library license restrictions.
2021-10-14 12:31:52 +02:00
Paul Monigatti
07b309e65d
Fix BME680_BSEC compilation issue with ESP32 () 2021-10-14 20:58:35 +13:00
Sergio Mayoral Martínez
3dee057826
Add throttle_average sensor filter () 2021-10-13 11:35:30 +13:00
Jesse Hills
34db9d9ef2
Add optional timeout for wait_until action () 2021-10-13 08:23:24 +13:00
Rob Deutsch
a3eb2a7ee0
Added heatpumpir support ()
Co-authored-by: Otto winter <otto@otto-winter.com>
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2021-10-13 07:38:19 +13:00
Chris Nussbaum
b4f57972fb
Add on_open and on_closed triggers to cover () 2021-10-12 15:39:21 +13:00
definitio
42739f0b22
Add configuration for climate topics () 2021-10-10 17:55:22 +02:00
definitio
a1f9b0d7f2
Add configuration for cover topics () 2021-10-10 17:54:07 +02:00
Paul Monigatti
471b82f727
EntityBase Refactor ()
* 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>
2021-10-10 10:37:05 +02:00
Paul Monigatti
955c96731e
Add Safe Mode Restart Switch () 2021-10-06 20:44:48 +13:00
Stephen Tierney
af04f565cf
Add support for SCD4X ()
* Initial commit

* clang-format fixes

* Update CODEOWNERS

* clang-format fixes

* Fix merge error

* Fix missing return

Co-authored-by: Otto winter <otto@otto-winter.com>
2021-09-28 22:10:25 +02:00
ZJY
66761ff340
Add SSD1305 support to SSD1306 integration along with few new options ()
* 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>
2021-09-22 13:47:41 +02:00
Gustavo Ambrozio
8bebf138ee
Wifi scan results ()
* 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>
2021-09-22 13:44:09 +02:00
wifwucite
fd836e982e
Mqtt topics to support numeric fan speed ()
* 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>
2021-09-22 13:42:58 +02:00
Paul Monigatti
c51352d04d
Allow non-addressable lights in light partitions () 2021-09-22 13:59:21 +12:00
Otto Winter
ac0d921413
ESP-IDF support and generic target platforms ()
* Socket refactor and SSL

* esp-idf temp

* Fixes

* Echo component and noise

* Add noise API transport support

* Updates

* ESP-IDF

* Complete

* Fixes

* Fixes

* Versions update

* New i2c APIs

* Complete i2c refactor

* SPI migration

* Revert ESP Preferences migration, too complex for now

* OTA support

* Remove echo again

* Remove ssl again

* GPIOFlags updates

* Rename esphal and ICACHE_RAM_ATTR

* Make ESP32 arduino compilable again

* Fix GPIO flags

* Complete pin registry refactor and fixes

* Fixes to make test1 compile

* Remove sdkconfig file

* Ignore sdkconfig file

* Fixes in reviewing

* Make test2 compile

* Make test4 compile

* Make test5 compile

* Run clang-format

* Fix lint errors

* Use esp-idf APIs instead of btStart

* Another round of fixes

* Start implementing ESP8266

* Make test3 compile

* Guard esp8266 code

* Lint

* Reformat

* Fixes

* Fixes v2

* more fixes

* ESP-IDF tidy target

* Convert ARDUINO_ARCH_ESPxx

* Update WiFiSignalSensor

* Update time ifdefs

* OTA needs millis from hal

* RestartSwitch needs delay from hal

* ESP-IDF Uart

* Fix OTA blank password

* Allow setting sdkconfig

* Fix idf partitions and allow setting sdkconfig from yaml

* Re-add read/write compat APIs and fix esp8266 uart

* Fix esp8266 store log strings in flash

* Fix ESP32 arduino preferences not initialized

* Update ifdefs

* Change how sdkconfig change is detected

* Add checks to ci-custom and fix them

* Run clang-format

* Add esp-idf clang-tidy target and fix errors

* Fixes from clang-tidy idf round 2

* Fixes from compiling tests with esp-idf

* Run clang-format

* Switch test5.yaml to esp-idf

* Implement ESP8266 Preferences

* Lint

* Re-do PIO package version selection a bit

* Fix arduinoespressif32 package version

* Fix unit tests

* Lint

* Lint fixes

* Fix readv/writev not defined

* Fix graphing component

* Re-add all old options from core/config.py

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-09-20 11:47:51 +02:00
Sergey V. DUDANOV
4e120a291e
Midea support v2 () 2021-09-09 09:10:02 +12:00
dgtal1
b0533db2eb
Add new trigger to fan component on_speed_set () 2021-09-08 15:15:57 +12:00
Oxan van Leeuwen
54de0ca0da
Reject template select/number/switches that don't handle user input () 2021-09-04 14:46:53 +12:00
Chris Nussbaum
a4d024f43d
Add is_on and is_off conditions for the fan component ()
Co-authored-by: Chris Nussbaum <chris.nussbaum@protolabs.com>
2021-09-02 12:16:11 +12:00
marsjan155
94b28102f5
Add st7920 display, ()
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-08-26 14:33:03 +12:00
buxtronix
947c104eff
Support for AM43 BLE blind motors ()
Co-authored-by: Ben Buxton <bb@cactii.net>
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: René Klomp <rene@klomp.ws>
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
Co-authored-by: Geoff Davis <geoff@geoffdavis.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: dentra <dentra@users.noreply.github.com>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Barry Loong <loongyh@users.noreply.github.com>
Co-authored-by: Sergey V. DUDANOV <sergey.dudanov@gmail.com>
Co-authored-by: Balazs Scheidler <bazsi77@gmail.com>
2021-08-11 16:07:10 +12:00
Jesse Hills
d258e06fd7
Add rgbct and color_temperature light platforms ()
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2021-08-10 21:28:56 +12:00
Stephen Tierney
6a2f0f5143
Add support for PMSA003i ()
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: steve <steve@Hackintosh.local>
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-08-10 11:00:16 +02:00
WJCarpenter
183e2a8471
Support component tsl2591 ()
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
Co-authored-by: WJCarpenter <bill@carpenter.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-08-10 10:48:06 +02:00
Keith Burzinski
90c0d3e12f
Add Toshiba AC generic IR remote protocol () 2021-08-10 13:21:10 +12:00
buxtronix
fe7af21c91
Anova fahrenheit support ()
Co-authored-by: Ben Buxton <bb@cactii.net>
2021-08-09 08:05:36 +12:00
Andreas Hergert
6516c64e67
Add min_save_interval to total_energy/integration for memory wear ()
Co-authored-by: Andreas Hergert <andreas.hergert@otrs.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-08-03 16:41:34 +02:00
Nicholas Peters
8dbac20f8b
Add SDP3x sensor ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-07-29 10:57:52 +02:00
SenexCrenshaw
0651716b96
Nextion upload and sensors ()
Co-authored-by: Senex Crenshaw <senexcrenshaw@gmail.com>
2021-07-15 12:51:15 +12:00
Maurice Makaay
623570a117
Add state callback to ota component ()
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-07-11 07:52:19 +12:00
buxtronix
ab31117bf3
Anova ble component ()
Co-authored-by: Ben Buxton <bb@cactii.net>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-07-05 11:59:12 +12:00
Adrián Panella
d31040f5d8
hlw8012: fix constants for BL0937 ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-07-05 11:09:09 +12:00
Otto Winter
bfca3f242a
Disallow power_save_mode NONE if used together with BLE () 2021-06-22 10:53:10 +02:00
Lumpusz
ebadaa9660
Add preset, custom_preset and custom_fan_mode support to climate ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-04 22:04:54 +12:00
Franck Nijhof
11fb54c74e
Add support for Sensor state class ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-03 13:49:56 +12:00
David Kiliani
f968713be8
Add optional lambda to BLESensor for raw data parsing ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-01 21:46:54 +12:00
0hax
afa436fe8f
teleinfo: use text_sensor and sensor. ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-06-01 13:32:09 +12:00
Andrew Zaborowski
4d586b1446
Add CS5460A power-meter component ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-31 16:07:33 +12:00
Stanislav Meduna
072dce340e
Add the on_page_change display trigger ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-24 08:56:04 +12:00
Jesse Hills
4ffa68b773
Merge branch 'master' into dev 2021-05-19 14:02:04 +12:00
romerod
d3e291b442
Add on_tag_removed trigger to pn532 ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-18 11:54:09 +12:00
Jesse Hills
030c87d142
Allow RC522 components to have multiple configurations () 2021-05-17 13:53:35 +12:00
Jesse Hills
7e3b8fd346
Allow RC522 components to have multiple configurations () 2021-05-15 17:02:52 +12:00
Jesse Hills
4f6982fbc5
Add action to set total pulses on pulse_meter () 2021-05-14 20:06:31 +12:00
Yuval Aboulafia
7d9c043f1d
Use core constants for sample duration on bh1750 ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-13 07:17:13 +12:00
Yuval Aboulafia
cdc9c99d40
Use core constants for sample duration on bh1750 ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-12 10:16:59 +12:00
Jesse Hills
44562dbef1
Merge branch 'dev' into bump-1.18.0b1 2021-05-10 07:54:06 +12:00