Merge branch 'current' into next

This commit is contained in:
Otto winter 2021-10-21 14:22:54 +02:00
commit 3a8352a9e8
No known key found for this signature in database
GPG Key ID: 48ED2DDB96D7682C
9 changed files with 454 additions and 21 deletions

View File

@ -1,5 +1,5 @@
ESPHOME_PATH = ../esphome
ESPHOME_REF = dev
ESPHOME_REF = 2021.10.0
.PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View File

@ -1 +1 @@
2021.11.0-dev
2021.11.0-dev

421
changelog/2021.10.0.rst Normal file
View File

@ -0,0 +1,421 @@
ESPHome 2021.10.0 - 20th October 2021
=====================================
.. seo::
:description: Changelog for ESPHome 2021.10.0.
:image: /_static/changelog-2021.10.0.png
:author: ESPHome
:author_twitter: @esphome_
.. imgtable::
:columns: 3
AirThings Wave Mini, components/sensor/airthings_ble, airthings_logo.png
Current-Based Cover, components/cover/current_based, flash.svg
Daly BMS, components/sensor/daly_bms, daly_bms.png
EPEVER Tracer, cookbook/tracer-an, tracer-an.jpg
LTR390, components/sensor/ltr390, ltr390.jpg
Modbus Controller, components/modbus_controller, modbus.png
Safe Mode Switch, components/switch/safe_mode, restart-alert.svg
SCD4X, components/sensor/scd4x, scd4x.jpg
Tuya Cover, components/cover/tuya, tuya.png
Learn from the creators about the new encryption, support for any ESP32 variant and how Otto came up with ESPHome
.. raw:: html
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/X10ToPN1gIk"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen>
</iframe>
ESP-IDF
-------
A huge effort has been put into reorganising, restructuring and rewriting a whole lot of code
to allow ESP32 based boards to be compiled using ESP-IDF as the framework instead of Arduino.
This allows ESPHome to keep up with new features and support for new ESP32 based chips
that Espressif add to the ESP-IDF, such as the ESP32-C3 that a lot of people had been asking about.
There are known issues and specific components that are missing support for ESP-IDF as those ones rely
on an Arduino library and need more time to be rewritten in a compatible way.
The new documentation is here at :doc:`/components/esp32`.
If you come across an issue while switching to ESP-IDF, please file an
`issue on GitHub <https://github.com/esphome/issues/issues/new?assignees=&labels=&template=bug_report.yml>`__
using the ``ESP32-IDF`` option as the platform.
Dashboard Node Import
---------------------
If you intend on creating and distributing devices preinstalled with ESPHome, check out :doc:`/guides/creators`
for more information and the best ways to give the end users the best experience.
The newest feature of this set is the importing of devices found on the network. If the device is running
ESPHome 2021.10 or newer, it can be configured to broadcast a url via mDNS and the ESPHome dashboard will pick this up
and prompt the user to import the device and create a minimal configuration for it.
Modbus Controller
-----------------
Support for generic modbus device data has been added. This allows you as a user
to get data and control a modbus device without a native ESPHome component. Although a
native component is still better and preferred if it exists.
- :doc:`Modbus Controller </components/modbus_controller>`
- :doc:`Sensors </components/sensor/modbus_controller>`
- :doc:`Binary Sensors </components/binary_sensor/modbus_controller>`
- :doc:`Text Sensors </components/text_sensor/modbus_controller>`
- :doc:`Numbers </components/number/modbus_controller>`
- :doc:`Switches </components/switch/modbus_controller>`
- :doc:`Outputs </components/output/modbus_controller>`
Text Sensor filters
-------------------
``text_sensors`` now have ``filters`` that allow you to do string manipulation before the value is
given to the frontend. Check out the :ref:`docs here <text_sensor-filters>`.
Lighting
--------
The Tuya light platform now supports RGB and HSV datapoints for those TuyaMCU based lights.
Partitions now support adding non-addressable lights into the sequence. As an example you
could build a "fake" addressable light from regular rgb leds.
Graphs
------
There is new :ref:`Graph <display-graphs>` building functions for displays that will allow you to
draw the history of sensors over time. See the docs for examples and images on what this looks like.
``wait_until``
--------------
The ``wait_until`` action now has an optional ``timeout`` option that lets you continue or cancel (using an
if action afterwards) your automations if the condition does not become true after a period of time.
Combination of MiScale 1 & 2
----------------------------
:esphomepr:`2266` combines the two miscale platforms into one as the code was mostly the
same and autodetection could be done to detemine which one you are using.
Float Output state changes
--------------------------
When using a float output with both invert and min/max values, prevously
the end resut value was being calculated incorrectly. :esphomepr:`2368` fixed this.
Full list of changes
--------------------
New Features
^^^^^^^^^^^^
- Added graphing component :esphomepr:`2109` by :ghuser:`synco` (new-integration) (new-feature)
- Add deep sleep wakeup from touch (#1238) :esphomepr:`2281` by :ghuser:`chrta` (new-feature)
- Allow non-addressable lights in light partitions :esphomepr:`2256` by :ghuser:`paulmonigatti` (new-feature)
- Add support for Waveshare 7.5 inch (C) bichromatic display (black-and-white only for now) :esphomepr:`1844` by :ghuser:`pixelspark` (new-feature)
- Wifi scan results :esphomepr:`1605` by :ghuser:`gpambrozio` (new-feature)
- Add SSD1305 support to SSD1306 integration along with few new options :esphomepr:`1902` by :ghuser:`zhangjingye03` (new-feature) (breaking-change)
- Adds light sensor support for b-parasites :esphomepr:`2391` by :ghuser:`rbaron` (new-feature)
- Tuya rgb support :esphomepr:`2278` by :ghuser:`irtimaled` (new-feature)
- add fan.cycle_speed action :esphomepr:`2329` by :ghuser:`WeekendWarrior1` (new-feature)
- Add cover toggle support :esphomepr:`1809` by :ghuser:`dtmuller` (new-feature)
- Support HSV-based color support on tuya light :esphomepr:`2400` by :ghuser:`irtimaled` (new-feature)
- String manipulation filters for text sensors! :esphomepr:`2393` by :ghuser:`WeekendWarrior1` (new-feature)
- Add optional timeout for wait_until action :esphomepr:`2282` by :ghuser:`jesserockz` (new-feature)
New Components
^^^^^^^^^^^^^^
- Added graphing component :esphomepr:`2109` by :ghuser:`synco` (new-integration) (new-feature)
- Configurable Flash Write Interval :esphomepr:`2119` by :ghuser:`alexyao2015` (new-integration)
- Add support for Daly Smart BMS :esphomepr:`2156` by :ghuser:`s1lvi0` (new-integration)
- Add support for LTR390 :esphomepr:`1505` by :ghuser:`sjtrny` (new-integration)
- Modbus controller :esphomepr:`1779` by :ghuser:`martgras` (new-integration)
- Dashboard node import and render in browser :esphomepr:`2374` by :ghuser:`OttoWinter` (new-integration)
- Add Current based cover :esphomepr:`1439` by :ghuser:`djwmarcx` (new-integration)
- Add support for SCD4X :esphomepr:`2217` by :ghuser:`sjtrny` (new-integration)
- Add support for Airthing Wave Mini :esphomepr:`2440` by :ghuser:`ncareau` (new-integration)
- Add Safe Mode Restart Switch :esphomepr:`2437` by :ghuser:`paulmonigatti` (new-integration)
- Added heatpumpir support :esphomepr:`1343` by :ghuser:`rob-deutsch` (new-integration)
- OTA firmware MD5 check + password support for esp-idf :esphomepr:`2507` by :ghuser:`mmakaay` (new-integration)
Breaking Changes
^^^^^^^^^^^^^^^^
- Combine code of xiaomi_miscale and xiaomi_miscale2 :esphomepr:`2266` by :ghuser:`edenhaus` (breaking-change)
- Correctly invert the float output state :esphomepr:`2368` by :ghuser:`jesserockz` (breaking-change)
- Add SSD1305 support to SSD1306 integration along with few new options :esphomepr:`1902` by :ghuser:`zhangjingye03` (new-feature) (breaking-change)
Beta Fixes
^^^^^^^^^^
- Fix light state remaining on after turn off with transition :esphomepr:`2509` by :ghuser:`oxan`
- Fix: Light flash not restoring previous LightState :esphomepr:`2383` by :ghuser:`paulmonigatti`
- Disallow using UART2 for logger on ESP-32 variants that lack it :esphomepr:`2510` by :ghuser:`oxan`
- Fix BME680_BSEC compilation issue with ESP32 :esphomepr:`2516` by :ghuser:`paulmonigatti`
- add missing include in sgp30 :esphomepr:`2517` by :ghuser:`dmitriy5181`
- Fix: Color modes not being correctly used in light partitions :esphomepr:`2513` by :ghuser:`paulmonigatti`
- Add pressure compensation during runtime :esphomepr:`2493` by :ghuser:`martgras`
- Don't define UART_SELECTION_UART2 when UART2 is unavailable :esphomepr:`2512` by :ghuser:`oxan`
- Remove BME680_BSEC test :esphomepr:`2518` by :ghuser:`paulmonigatti`
- Fix Nextion HTTPClient error for ESP32 :esphomepr:`2524` by :ghuser:`kbx81`
- Fix bug in register name definition :esphomepr:`2526` by :ghuser:`martgras`
- OTA firmware MD5 check + password support for esp-idf :esphomepr:`2507` by :ghuser:`mmakaay` (new-integration)
- Replace framework version_hint with source option :esphomepr:`2529` by :ghuser:`oxan`
- Fix bitshift on read in ADE7953 :esphomepr:`2537` by :ghuser:`oxan`
- Allow downloading all bin files from backend in dashboard :esphomepr:`2514` by :ghuser:`jesserockz`
- Bump dashboard to 20211015.0 :esphomepr:`2525` by :ghuser:`balloob`
- Only show timestamp for dashboard access logs :esphomepr:`2540` by :ghuser:`OttoWinter`
- Fix const used for IDF recommended version :esphomepr:`2542` by :ghuser:`jesserockz`
- Fix Bluetooth setup_priorities :esphomepr:`2458` by :ghuser:`jesserockz`
- Autodetect ESP32 variant :esphomepr:`2530` by :ghuser:`oxan`
- Bump dashboard to 20211019.0 :esphomepr:`2549` by :ghuser:`jesserockz`
- Fix ADC pin validation on ESP32-C3 :esphomepr:`2551` by :ghuser:`oxan`
- ignore exception when not waiting for a response :esphomepr:`2552` by :ghuser:`martgras`
- Bump dashboard to 20211020.0 :esphomepr:`2556` by :ghuser:`jesserockz`
- Fix HA addon so it does not have logout button :esphomepr:`2558` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211020.1 :esphomepr:`2559` by :ghuser:`jesserockz`
- A few esp32_ble_server/improv fixes :esphomepr:`2562` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211021.0 :esphomepr:`2564` by :ghuser:`jesserockz`
- Move running process log line to debug level :esphomepr:`2565` by :ghuser:`OttoWinter`
- Revert nextion clang-tidy changes :esphomepr:`2566` by :ghuser:`OttoWinter`
All changes
^^^^^^^^^^^
- Drop obsolete comments from CONTRIBUTING.md :esphomepr:`2271` by :ghuser:`oxan`
- Support inverting color temperature on tuya lights :esphomepr:`2277` by :ghuser:`irtimaled`
- Untangle core headers (part 1) :esphomepr:`2276` by :ghuser:`oxan`
- Compatibility with clang-tidy v14 :esphomepr:`2272` by :ghuser:`oxan`
- Store strings only used for logging in flash :esphomepr:`2274` by :ghuser:`oxan`
- Expose select on Frontend `web_server:` :esphomepr:`2245` by :ghuser:`ayufan`
- Fix devcontainer scripts on Windows :esphomepr:`2239` by :ghuser:`alexyao2015`
- Fix SM300D2 sensor component routines so they correctly read the sensor output :esphomepr:`2159` by :ghuser:`jamesbraid`
- Bump tzlocal from 2.1 to 3.0 :esphomepr:`2154` by :ghuser:`dependabot[bot]`
- Activate owning-memory clang-tidy check :esphomepr:`1891` by :ghuser:`OttoWinter`
- Fix issue #2054. PZEM004T Component doesn't set the module address. :esphomepr:`1784` by :ghuser:`0x3333`
- Convert st7735.h to use LF line endings :esphomepr:`2287` by :ghuser:`oxan`
- Add esphal.h include to inkplate6 component :esphomepr:`2286` by :ghuser:`oxan`
- Revert "Bump tzlocal from 2.1 to 3.0 (#2154)" :esphomepr:`2289` by :ghuser:`OttoWinter`
- Run clang-tidy against ESP32 :esphomepr:`2147` by :ghuser:`oxan`
- Run clang-tidy against Arduino 3 :esphomepr:`2146` by :ghuser:`oxan`
- Bump click from 7.1.2 to 8.0.1 :esphomepr:`1824` by :ghuser:`dependabot[bot]`
- Add stale/lock bots :esphomepr:`2299` by :ghuser:`OttoWinter`
- Use standard version of make_unique when available :esphomepr:`2292` by :ghuser:`oxan`
- Bug fix of NFC message & records becoming inaccessible in on_tag lambdas :esphomepr:`2309` by :ghuser:`JonasEr`
- Dsmr updates :esphomepr:`2157` by :ghuser:`glmnet`
- Support direct relay state feedback for tuya climate component :esphomepr:`1668` by :ghuser:`kroimon`
- ac_dimmer increase gate time for robotdyn :esphomepr:`1708` by :ghuser:`glmnet`
- Bump aioesphomeapi from 9.0.0 to 9.1.0 :esphomepr:`2306` by :ghuser:`dependabot[bot]`
- Bump black from 21.8b0 to 21.9b0 :esphomepr:`2305` by :ghuser:`dependabot[bot]`
- Add namespace to all PlatformIO library references :esphomepr:`2296` by :ghuser:`oxan`
- Allow transforms and flashes to not update remote_values :esphomepr:`2313` by :ghuser:`matthewmazzanti`
- Reduce stale/lock gh actions interval :esphomepr:`2341` by :ghuser:`OttoWinter`
- Add `esp8266_disable_ssl_support:` config option :esphomepr:`2236` by :ghuser:`ayufan`
- Bump pylint from 2.10.2 to 2.11.1 :esphomepr:`2334` by :ghuser:`dependabot[bot]`
- Add eco mode to tuya climate component :esphomepr:`1860` by :ghuser:`kroimon`
- Fix SPIDevice::write_byte16 to actually take a 16 bit argument :esphomepr:`2345` by :ghuser:`lgugelmann`
- Redo docker build system with buildkit+multi-stage and cache pio packages :esphomepr:`2338` by :ghuser:`OttoWinter`
- Calculating the AC only component of the samples :esphomepr:`1906` by :ghuser:`synco`
- Fix error reporting for DHT bit read loop :esphomepr:`2344` by :ghuser:`besteru`
- Also run docker CI when requirements change :esphomepr:`2347` by :ghuser:`OttoWinter`
- Added graphing component :esphomepr:`2109` by :ghuser:`synco` (new-integration) (new-feature)
- Properly calculate negative temperatures in sm300d2 :esphomepr:`2335` by :ghuser:`poptix`
- Fix docker release deploy push flag :esphomepr:`2348` by :ghuser:`OttoWinter`
- Add invert_colors option for st7735 :esphomepr:`2327` by :ghuser:`g5pw`
- Add deep sleep wakeup from touch (#1238) :esphomepr:`2281` by :ghuser:`chrta` (new-feature)
- Add ESPHOME_VERSION_CODE define :esphomepr:`2324` by :ghuser:`oxan`
- Install python requirements after apt ones for better caching :esphomepr:`2349` by :ghuser:`OttoWinter`
- Introduce call_dump_config() indirection :esphomepr:`2325` by :ghuser:`oxan`
- ESP-IDF support and generic target platforms :esphomepr:`2303` by :ghuser:`OttoWinter`
- CI cache only restore from direct matches :esphomepr:`2351` by :ghuser:`OttoWinter`
- fixes compilation error in rtttl :esphomepr:`2357` by :ghuser:`martgras`
- Fix MDNS not registered :esphomepr:`2359` by :ghuser:`OttoWinter`
- Fix src_filter in platformio.ini after src_dir change :esphomepr:`2353` by :ghuser:`OttoWinter`
- Fix duplicate defines and restore alphabetical order :esphomepr:`2352` by :ghuser:`oxan`
- Configurable Flash Write Interval :esphomepr:`2119` by :ghuser:`alexyao2015` (new-integration)
- Fix OTA password mismatch error. :esphomepr:`2363` by :ghuser:`mmakaay`
- Allow compilation against IDF from repository :esphomepr:`2355` by :ghuser:`oxan`
- Fix ESP8266 preferences not set up :esphomepr:`2362` by :ghuser:`OttoWinter`
- Fix ESP8266 preference loading :esphomepr:`2367` by :ghuser:`paulmonigatti`
- Allow non-addressable lights in light partitions :esphomepr:`2256` by :ghuser:`paulmonigatti` (new-feature)
- add = to default font glpyh list :esphomepr:`2361` by :ghuser:`WeekendWarrior1`
- Fix docker pio settings not applied :esphomepr:`2370` by :ghuser:`OttoWinter`
- Fix OTA crash during reading of new bin file. :esphomepr:`2366` by :ghuser:`mmakaay`
- Fix Dallas parent not being set :esphomepr:`2369` by :ghuser:`paulmonigatti`
- Discard SenseAir S8 commands echoes & fix calibration result check :esphomepr:`2358` by :ghuser:`nmaggioni`
- Add support for Daly Smart BMS :esphomepr:`2156` by :ghuser:`s1lvi0` (new-integration)
- Combine code of xiaomi_miscale and xiaomi_miscale2 :esphomepr:`2266` by :ghuser:`edenhaus` (breaking-change)
- Add support for Waveshare 7.5 inch (C) bichromatic display (black-and-white only for now) :esphomepr:`1844` by :ghuser:`pixelspark` (new-feature)
- ili9341: use larger SPI transfers :esphomepr:`1628` by :ghuser:`numo68`
- Correctly invert the float output state :esphomepr:`2368` by :ghuser:`jesserockz` (breaking-change)
- Add support for LTR390 :esphomepr:`1505` by :ghuser:`sjtrny` (new-integration)
- Allow sloppy Tuya datapoint message length :esphomepr:`1982` by :ghuser:`trvrnrth`
- Mqtt topics to support numeric fan speed :esphomepr:`1859` by :ghuser:`wifwucite`
- Wifi scan results :esphomepr:`1605` by :ghuser:`gpambrozio` (new-feature)
- Add SSD1305 support to SSD1306 integration along with few new options :esphomepr:`1902` by :ghuser:`zhangjingye03` (new-feature) (breaking-change)
- Fix broken compilation due to conflict between #1237 and IDF changes :esphomepr:`2372` by :ghuser:`oxan`
- Don't generate IDs with the name of loaded integrations :esphomepr:`2373` by :ghuser:`oxan`
- fix i2c scanning eror for Arduino :esphomepr:`2364` by :ghuser:`martgras`
- Bump tzlocal from 2.1 to 3.0 :esphomepr:`2294` by :ghuser:`dependabot[bot]`
- ledc: do not try to write_state to an uninitialized output :esphomepr:`1732` by :ghuser:`toelke`
- Fix two i2c error code return errors :esphomepr:`2375` by :ghuser:`OttoWinter`
- Fix ir_climate on ESP32-C3 :esphomepr:`2314` by :ghuser:`stintel`
- Fix ESP8266 ADC :esphomepr:`2376` by :ghuser:`paulmonigatti`
- Fix: Pin flags code generation returning FLAG_NONE :esphomepr:`2377` by :ghuser:`paulmonigatti`
- Add missing MockObj operators :esphomepr:`2378` by :ghuser:`OttoWinter`
- Fix esp-idf pinmask bit-shift overflow :esphomepr:`2380` by :ghuser:`chrta`
- Add i2c bus recovery during initialization :esphomepr:`2379` by :ghuser:`chrta`
- Bump voluptuous from 0.12.1 to 0.12.2 :esphomepr:`2381` by :ghuser:`dependabot[bot]`
- Read unencrypted DSMR telegrams in chunks :esphomepr:`2382` by :ghuser:`mmakaay`
- Fix clang-tidy header filter :esphomepr:`2385` by :ghuser:`OttoWinter`
- Fix InterruptLock on ESP-IDF :esphomepr:`2388` by :ghuser:`OttoWinter`
- Fix some issues with wifi driver after IDF refactor :esphomepr:`2387` by :ghuser:`OttoWinter`
- Fix arduino esp32 wifi v2 :esphomepr:`2389` by :ghuser:`OttoWinter`
- Misc fixes for esp-idf :esphomepr:`2386` by :ghuser:`OttoWinter`
- Adds light sensor support for b-parasites :esphomepr:`2391` by :ghuser:`rbaron` (new-feature)
- fix: Setting Tuya string DP value :esphomepr:`2394` by :ghuser:`irtimaled`
- Tuya rgb support :esphomepr:`2278` by :ghuser:`irtimaled` (new-feature)
- add fan.cycle_speed action :esphomepr:`2329` by :ghuser:`WeekendWarrior1` (new-feature)
- Modbus controller :esphomepr:`1779` by :ghuser:`martgras` (new-integration)
- Extend nfc ndef records with Text :esphomepr:`2191` by :ghuser:`JonasEr`
- Fix NDEF URI casing :esphomepr:`2397` by :ghuser:`jesserockz`
- Dashboard node import and render in browser :esphomepr:`2374` by :ghuser:`OttoWinter` (new-integration)
- ccs811: Skip reading data if it is not available/ready :esphomepr:`2404` by :ghuser:`chrta`
- Add missing include for component bme680_bsec :esphomepr:`2403` by :ghuser:`mmakaay`
- fix: stop tuya light state getting reset :esphomepr:`2401` by :ghuser:`irtimaled`
- Add Current based cover :esphomepr:`1439` by :ghuser:`djwmarcx` (new-integration)
- Add cover toggle support :esphomepr:`1809` by :ghuser:`dtmuller` (new-feature)
- Fix handling of timestamps in Teleinfo component. :esphomepr:`2392` by :ghuser:`0hax`
- bump dashboard to 20210927.0 :esphomepr:`2405` by :ghuser:`balloob`
- Add str_sprintf function that returns std::string :esphomepr:`2408` by :ghuser:`oxan`
- Fix lint issues in web_server_base :esphomepr:`2409` by :ghuser:`jesserockz`
- Fix uninitialised use of ESPPreferenceObject.backend :esphomepr:`2411` by :ghuser:`paulmonigatti`
- Add support for SCD4X :esphomepr:`2217` by :ghuser:`sjtrny` (new-integration)
- Support HSV-based color support on tuya light :esphomepr:`2400` by :ghuser:`irtimaled` (new-feature)
- Tuya: add cover component :esphomepr:`2279` by :ghuser:`marmarek`
- Fix tuya cover lint checks :esphomepr:`2414` by :ghuser:`OttoWinter`
- Bump debian base to 5.1.0 / 20210902 :esphomepr:`2413` by :ghuser:`OttoWinter`
- Remove default initializations from tuya cover :esphomepr:`2415` by :ghuser:`jesserockz`
- Move #ifdef to after header include :esphomepr:`2417` by :ghuser:`oxan`
- String manipulation filters for text sensors! :esphomepr:`2393` by :ghuser:`WeekendWarrior1` (new-feature)
- Update web_server.cpp :esphomepr:`2419` by :ghuser:`arallsopp`
- Fix default environment for clang-tidy :esphomepr:`2420` by :ghuser:`oxan`
- Replace std::move() with const references where possible :esphomepr:`2421` by :ghuser:`oxan`
- Fix line endings normalization :esphomepr:`2407` by :ghuser:`oxan`
- Option to ignore CRC for EFuse MAC address :esphomepr:`2399` by :ghuser:`mmakaay`
- Fix attach_interrupt(...) for esp-idf framework :esphomepr:`2416` by :ghuser:`mmakaay`
- Fix I2C recovery on Arduino :esphomepr:`2412` by :ghuser:`mmakaay`
- Fix ESP32 esp-idf OTA updates :esphomepr:`2424` by :ghuser:`mmakaay`
- Add local MAC address to WiFi info :esphomepr:`2428` by :ghuser:`cvwillegen`
- Thermostat publish state fix :esphomepr:`2427` by :ghuser:`kbx81`
- Convert time to use tzdata :esphomepr:`2425` by :ghuser:`OttoWinter`
- Hotfix for ESP8266 OTA issue: ERROR Error binary size :esphomepr:`2432` by :ghuser:`mmakaay`
- Disable dependency finder on ESP32 :esphomepr:`2435` by :ghuser:`agners`
- Use size_t to fix comparision using RISC-V toolchain :esphomepr:`2436` by :ghuser:`agners`
- Fix I2C recovery ESP32 esp-idf :esphomepr:`2438` by :ghuser:`mmakaay`
- Fix esp32 no longer has Hash internal lib :esphomepr:`2441` by :ghuser:`OttoWinter`
- Fix restoring globals :esphomepr:`2442` by :ghuser:`OttoWinter`
- Always upload using esptool :esphomepr:`2433` by :ghuser:`OttoWinter`
- Add support for Airthing Wave Mini :esphomepr:`2440` by :ghuser:`ncareau` (new-integration)
- Improved validation for Addressable Light Partition Segments :esphomepr:`2439` by :ghuser:`paulmonigatti`
- Bump pytest-cov from 2.12.1 to 3.0.0 :esphomepr:`2444` by :ghuser:`dependabot[bot]`
- Fix compilation error for shutdown component :esphomepr:`2447` by :ghuser:`martgras`
- Bump aioesphomeapi from 9.1.4 to 9.1.5 :esphomepr:`2449` by :ghuser:`dependabot[bot]`
- Only ping once every two seconds :esphomepr:`2448` by :ghuser:`alexiri`
- Bump esphome-dashboard to 20211006.0 :esphomepr:`2451` by :ghuser:`jesserockz`
- I2C re-introduce very verbose logging :esphomepr:`2446` by :ghuser:`OttoWinter`
- Add Safe Mode Restart Switch :esphomepr:`2437` by :ghuser:`paulmonigatti` (new-integration)
- Add id() for restoring global :esphomepr:`2454` by :ghuser:`jesserockz`
- Add timestamp to ESPHome dashboard/cli logs :esphomepr:`2455` by :ghuser:`alexiri`
- I2c fix :esphomepr:`2460` by :ghuser:`martgras`
- Correct I2C read() return val check in bh1750 component. :esphomepr:`2465` by :ghuser:`mmakaay`
- atm90e32: make the total_increasing class sensors actually be increasing totals. :esphomepr:`2459` by :ghuser:`davidmonro`
- Use enum for Tuya fan direction datapoint :esphomepr:`2471` by :ghuser:`rmounce`
- Fix MQTT cover state when position is supported :esphomepr:`2468` by :ghuser:`definitio`
- Sgp40 fix :esphomepr:`2462` by :ghuser:`natelust`
- EntityBase Refactor :esphomepr:`2418` by :ghuser:`paulmonigatti`
- Fix below freezing temperature for Inkbird sensors :esphomepr:`2466` by :ghuser:`nuttytree`
- Add configuration for cover topics :esphomepr:`2472` by :ghuser:`definitio`
- Add configuration for climate topics :esphomepr:`2473` by :ghuser:`definitio`
- Use arduino btStart for arduino framework :esphomepr:`2457` by :ghuser:`jesserockz`
- Bump click from 8.0.1 to 8.0.3 :esphomepr:`2481` by :ghuser:`dependabot[bot]`
- Bump flake8 from 3.9.2 to 4.0.1 :esphomepr:`2483` by :ghuser:`dependabot[bot]`
- Bump platformio from 5.2.0 to 5.2.1 :esphomepr:`2482` by :ghuser:`dependabot[bot]`
- Bump esphome-dashboard from 20211006.0 to 20211011.1 :esphomepr:`2484` by :ghuser:`dependabot[bot]`
- Replace deprecated COLOR_BLACK constant :esphomepr:`2487` by :ghuser:`davet2001`
- Fix color temperature persistence on CWWW lights :esphomepr:`2486` by :ghuser:`sairon`
- Fix reset on http_request without network connection :esphomepr:`2474` by :ghuser:`niklasweber`
- Consolidate CONF_RAW_DATA_ID to const.py :esphomepr:`2491` by :ghuser:`davet2001`
- Update Airthings BLE :esphomepr:`2453` by :ghuser:`jesserockz`
- Add on_open and on_closed triggers to cover :esphomepr:`2488` by :ghuser:`nuttytree`
- Fix LoadProhibited crash for logger baud_rate 0 on esp-idf :esphomepr:`2498` by :ghuser:`mmakaay`
- Added heatpumpir support :esphomepr:`1343` by :ghuser:`rob-deutsch` (new-integration)
- Reduce IRAM usage in test3 :esphomepr:`2499` by :ghuser:`oxan`
- Add optional timeout for wait_until action :esphomepr:`2282` by :ghuser:`jesserockz` (new-feature)
- Improves ct_clamp component accuracy :esphomepr:`2283` by :ghuser:`skasi7`
- Allow multiple pn532_spi entries :esphomepr:`2489` by :ghuser:`jesserockz`
- Add throttle_average sensor filter :esphomepr:`2485` by :ghuser:`sermayoral`
- Fix light state remaining on after turn off with transition :esphomepr:`2509` by :ghuser:`oxan`
- Fix: Light flash not restoring previous LightState :esphomepr:`2383` by :ghuser:`paulmonigatti`
- Disallow using UART2 for logger on ESP-32 variants that lack it :esphomepr:`2510` by :ghuser:`oxan`
- Fix BME680_BSEC compilation issue with ESP32 :esphomepr:`2516` by :ghuser:`paulmonigatti`
- add missing include in sgp30 :esphomepr:`2517` by :ghuser:`dmitriy5181`
- Fix: Color modes not being correctly used in light partitions :esphomepr:`2513` by :ghuser:`paulmonigatti`
- Add pressure compensation during runtime :esphomepr:`2493` by :ghuser:`martgras`
- Don't define UART_SELECTION_UART2 when UART2 is unavailable :esphomepr:`2512` by :ghuser:`oxan`
- Remove BME680_BSEC test :esphomepr:`2518` by :ghuser:`paulmonigatti`
- Fix Nextion HTTPClient error for ESP32 :esphomepr:`2524` by :ghuser:`kbx81`
- Fix bug in register name definition :esphomepr:`2526` by :ghuser:`martgras`
- OTA firmware MD5 check + password support for esp-idf :esphomepr:`2507` by :ghuser:`mmakaay` (new-integration)
- Replace framework version_hint with source option :esphomepr:`2529` by :ghuser:`oxan`
- Fix bitshift on read in ADE7953 :esphomepr:`2537` by :ghuser:`oxan`
- Allow downloading all bin files from backend in dashboard :esphomepr:`2514` by :ghuser:`jesserockz`
- Bump dashboard to 20211015.0 :esphomepr:`2525` by :ghuser:`balloob`
- Only show timestamp for dashboard access logs :esphomepr:`2540` by :ghuser:`OttoWinter`
- Fix const used for IDF recommended version :esphomepr:`2542` by :ghuser:`jesserockz`
- Fix Bluetooth setup_priorities :esphomepr:`2458` by :ghuser:`jesserockz`
- Autodetect ESP32 variant :esphomepr:`2530` by :ghuser:`oxan`
- Bump dashboard to 20211019.0 :esphomepr:`2549` by :ghuser:`jesserockz`
- Fix ADC pin validation on ESP32-C3 :esphomepr:`2551` by :ghuser:`oxan`
- ignore exception when not waiting for a response :esphomepr:`2552` by :ghuser:`martgras`
- Bump dashboard to 20211020.0 :esphomepr:`2556` by :ghuser:`jesserockz`
- Fix HA addon so it does not have logout button :esphomepr:`2558` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211020.1 :esphomepr:`2559` by :ghuser:`jesserockz`
- A few esp32_ble_server/improv fixes :esphomepr:`2562` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211021.0 :esphomepr:`2564` by :ghuser:`jesserockz`
- Move running process log line to debug level :esphomepr:`2565` by :ghuser:`OttoWinter`
- Revert nextion clang-tidy changes :esphomepr:`2566` by :ghuser:`OttoWinter`
Past Changelogs
---------------
.. toctree::
:maxdepth: 1
2021.9.0
2021.8.0
v1.20.0
v1.19.0
v1.18.0
v1.17.0
v1.16.0
v1.15.0
v1.14.0
v1.13.0
v1.12.0
v1.11.0
v1.10.0
v1.9.0
v1.8.0
v1.7.0

View File

@ -2,7 +2,7 @@ Changelog
=========
.. redirect::
:url: /changelog/2021.9.0.html
:url: /changelog/2021.10.0.html
.. toctree::
:glob:

View File

@ -305,7 +305,7 @@ To display a text string from a ``text_sensor``, append ``.c_str()`` to the end
# ...
lambda: |-
it.printf(0, 0, id(my_font), "Text to follow: %s", id(template_text).state.c_str());
The last printf tip for use in displays I will discuss here is how to display binary sensor values. You
*could* of course just check the state with an ``if`` statement as the first few lines in the example below, but if
you want to be efficient you can use an *inline if* too. With the ``%s`` print specifier you can tell it to
@ -370,6 +370,8 @@ Configuration variables:
RGB displays use red, green, and blue, while grayscale displays may use white.
.. _display-graphs:
Graphs
******
@ -414,7 +416,7 @@ Graph component with options for grids, border and line-types.
line_type: DOTTED
line_thickness: 2
color: my_green
Configuration variables:
- **id** (**Required**, :ref:`config-id`): The ID with which you will be able to reference the graph later
@ -425,7 +427,7 @@ Configuration variables:
- **border** (*Optional*, boolean): Specifics if a border will be draw around the graph. Default is True.
- **x_grid** (*Optional*): Specifies the time per division. If not specified, no vertical grid will be drawn.
- **y_grid** (*Optional*, float): Specifics the number of units per division. If not specified, no horizontal grid will be drawn.
- **max_range** (*Optional*): Specifies the maximum Y-axis range.
- **max_range** (*Optional*): Specifies the maximum Y-axis range.
- **min_range** (*Optional*): Specifies the minimum Y-axis range.
- **max_value** (*Optional*): Specifies the maximum Y-axis value.
- **min_value** (*Optional*): Specifies the minimum Y-axis value.
@ -453,7 +455,7 @@ And then later in code:
lambda: |-
// Draw the graph at position [x=10,y=20]
it.graph(10, 20, id(multi_temperature_graph), my_yellow);
color:
- id: my_red
red: 100%
@ -476,7 +478,7 @@ And then later in code:
Here are some things to note:
- Setting ``y_grid`` will expand any specified range to the nearest multiple of grid spacings.
- Axis labels are currently not possible without manually placing them.
- The grid and border color is set with it.graph(), while the traces are defined separately.
- The grid and border color is set with it.graph(), while the traces are defined separately.
Images
******
@ -717,7 +719,7 @@ You can then switch between these with three different actions:
- **to** (*Optional*, :ref:`config-id`): A page id. If set the automation is only triggered if changing to this page. Defaults to all pages.
Additionally the old page will be given as the variable ``from`` and the new one as the variable ``to``.
See Also
--------

View File

@ -62,8 +62,8 @@ Filters are processed in the order they are defined in your configuration.
filters:
- to_upper:
- to_lower:
- append: "_prefix"
- prepend: "suffix_"
- append: "_suffix"
- prepend: "prefix_"
- substitute:
- "suf -> foo"
- "pre -> bar"
@ -106,7 +106,7 @@ Adds a string to the end of the current string.
- platform: template
# ...
filters:
- append: "_prefix"
- append: "_suffix"
``prepend``
***********
@ -119,7 +119,7 @@ Adds a string to the start of the current string.
- platform: template
# ...
filters:
- prepend: "suffix_"
- prepend: "prefix_"
``substitute``
**************

View File

@ -61,7 +61,7 @@ Contributors
- `Andrzej (@andriej) <https://github.com/andriej>`__
- `Andreas (@anduchs) <https://github.com/anduchs>`__
- `anekinloewe (@anekinloewe) <https://github.com/anekinloewe>`__
- `Angel Nunez Mencias (@angelnu) <https://github.com/angelnu>`__
- `Vegetto (@angelnu) <https://github.com/angelnu>`__
- `Sergey Anisimov (@anisimovsergey) <https://github.com/anisimovsergey>`__
- `ankycooper (@ankycooper) <https://github.com/ankycooper>`__
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__
@ -152,6 +152,7 @@ Contributors
- `Dave Wongillies (@davewongillies) <https://github.com/davewongillies>`__
- `David De Sloovere (@DavidDeSloovere) <https://github.com/DavidDeSloovere>`__
- `David Beitey (@davidjb) <https://github.com/davidjb>`__
- `davidmonro (@davidmonro) <https://github.com/davidmonro>`__
- `David Zovko (@davidzovko) <https://github.com/davidzovko>`__
- `dckiller51 (@dckiller51) <https://github.com/dckiller51>`__
- `Debashish Sahu (@debsahu) <https://github.com/debsahu>`__
@ -164,6 +165,7 @@ Contributors
- `dentra (@dentra) <https://github.com/dentra>`__
- `Davide Depau (@Depau) <https://github.com/Depau>`__
- `dependabot[bot] (@dependabot[bot]) <https://github.com/dependabot[bot]>`__
- `Joeri Colman (@depuits) <https://github.com/depuits>`__
- `Destix (@Destix) <https://github.com/Destix>`__
- `Develo (@devyte) <https://github.com/devyte>`__
- `Dezorian (@Dezorian) <https://github.com/Dezorian>`__
@ -176,6 +178,7 @@ Contributors
- `djtef (@djtef) <https://github.com/djtef>`__
- `Marcos Pérez Ferro (@djwmarcx) <https://github.com/djwmarcx>`__
- `Dan Mannock (@dmannock) <https://github.com/dmannock>`__
- `Dmitriy Lopatko (@dmitriy5181) <https://github.com/dmitriy5181>`__
- `dmkif (@dmkif) <https://github.com/dmkif>`__
- `Farzad E. (@dnetguru) <https://github.com/dnetguru>`__
- `DrZoid (@docteurzoidberg) <https://github.com/docteurzoidberg>`__
@ -334,7 +337,7 @@ Contributors
- `Jonathan Adams (@jonathanadams) <https://github.com/jonathanadams>`__
- `Jonathan Treffler (@JonathanTreffler) <https://github.com/JonathanTreffler>`__
- `JonnyaiR (@jonnyair) <https://github.com/jonnyair>`__
- `Joppy Furr (@JoppyFurr) <https://github.com/JoppyFurr>`__
- `Joppy (@JoppyFurr) <https://github.com/JoppyFurr>`__
- `jsuanet (@jsuanet) <https://github.com/jsuanet>`__
- `junnikokuki (@junnikokuki) <https://github.com/junnikokuki>`__
- `Justahobby01 (@Justahobby01) <https://github.com/Justahobby01>`__
@ -369,7 +372,7 @@ Contributors
- `Kodey Converse (@krconv) <https://github.com/krconv>`__
- `krikk (@krikk) <https://github.com/krikk>`__
- `KristopherMackowiak (@KristopherMackowiak) <https://github.com/KristopherMackowiak>`__
- `Stefan Rado (@kroimon) <https://github.com/kroimon>`__
- `kroimon (@kroimon) <https://github.com/kroimon>`__
- `krunkel (@krunkel) <https://github.com/krunkel>`__
- `Kendell R (@KTibow) <https://github.com/KTibow>`__
- `Jakub Šimo (@kubik369) <https://github.com/kubik369>`__
@ -469,6 +472,7 @@ Contributors
- `n8detar (@n8detar) <https://github.com/n8detar>`__
- `Erik Näsström (@Naesstrom) <https://github.com/Naesstrom>`__
- `Oskar Napieraj (@napieraj) <https://github.com/napieraj>`__
- `Nate Lust (@natelust) <https://github.com/natelust>`__
- `ueno (@nayuta-ueno) <https://github.com/nayuta-ueno>`__
- `Nazar Mokrynskyi (@nazar-pc) <https://github.com/nazar-pc>`__
- `Bergont Nicolas (@nbergont) <https://github.com/nbergont>`__
@ -480,7 +484,9 @@ Contributors
- `nickrout (@nickrout) <https://github.com/nickrout>`__
- `Nick Whyte (@nickw444) <https://github.com/nickw444>`__
- `nicuh (@nicuh) <https://github.com/nicuh>`__
- `Joakim Vindgard (@nigobo) <https://github.com/nigobo>`__
- `nikito7 (@nikito7) <https://github.com/nikito7>`__
- `niklasweber (@niklasweber) <https://github.com/niklasweber>`__
- `Zvonimir Haramustek (@nitko12) <https://github.com/nitko12>`__
- `Nikolay Kitanov (@nkitanov) <https://github.com/nkitanov>`__
- `nldroid (@nldroid) <https://github.com/nldroid>`__
@ -498,6 +504,7 @@ Contributors
- `obrain17 (@obrain17) <https://github.com/obrain17>`__
- `Ockert Marais (@OckertM) <https://github.com/OckertM>`__
- `Dave Walker (@oddsockmachine) <https://github.com/oddsockmachine>`__
- `Andrey Ganzevich (@odya) <https://github.com/odya>`__
- `Olivér Falvai (@ofalvai) <https://github.com/ofalvai>`__
- `Omar Ghader (@omarghader) <https://github.com/omarghader>`__
- `Ömer Şiar Baysal (@omersiar) <https://github.com/omersiar>`__
@ -543,7 +550,7 @@ Contributors
- `Leandro Puerari (@puerari) <https://github.com/puerari>`__
- `puuu (@puuu) <https://github.com/puuu>`__
- `Qc (@qc24) <https://github.com/qc24>`__
- `qqgg231 (@qqgg231) <https://github.com/qqgg231>`__
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
- `Quinn Hosler (@quinnhosler) <https://github.com/quinnhosler>`__
- `r-jordan (@r-jordan) <https://github.com/r-jordan>`__
@ -552,6 +559,7 @@ Contributors
- `Pär Stålberg (@rabbadab) <https://github.com/rabbadab>`__
- `Radim Karniš (@radimkarnis) <https://github.com/radimkarnis>`__
- `Florian Ragwitz (@rafl) <https://github.com/rafl>`__
- `razorback16 (@razorback16) <https://github.com/razorback16>`__
- `rbaron (@rbaron) <https://github.com/rbaron>`__
- `Robert Cambridge (@rcambrj) <https://github.com/rcambrj>`__
- `Ronald Dehuysser (@rdehuyss) <https://github.com/rdehuyss>`__
@ -590,6 +598,7 @@ Contributors
- `ryanalden (@ryanalden) <https://github.com/ryanalden>`__
- `Ryan Nazaretian (@ryannazaretian) <https://github.com/ryannazaretian>`__
- `Silvio (@s1lvi0) <https://github.com/s1lvi0>`__
- `Jan Čermák (@sairon) <https://github.com/sairon>`__
- `samnewman86 (@samnewman86) <https://github.com/samnewman86>`__
- `sascha lammers (@sascha432) <https://github.com/sascha432>`__
- `Sascha (@Scarbous) <https://github.com/Scarbous>`__
@ -613,6 +622,7 @@ Contributors
- `Derek Hageman (@Sizurka) <https://github.com/Sizurka>`__
- `Stephen Tierney (@sjtrny) <https://github.com/sjtrny>`__
- `Niklas Wagner (@Skaronator) <https://github.com/Skaronator>`__
- `Rafael Treviño (@skasi7) <https://github.com/skasi7>`__
- `Luca Zimmermann (@soundstorm) <https://github.com/soundstorm>`__
- `Sourabh Jaiswal (@sourabhjaiswal) <https://github.com/sourabhjaiswal>`__
- `Philip Allgaier (@spacegaier) <https://github.com/spacegaier>`__
@ -692,7 +702,7 @@ Contributors
- `Thorsten von Eicken (@tve) <https://github.com/tve>`__
- `Tyler Menezes (@tylermenezes) <https://github.com/tylermenezes>`__
- `tyomikh (@tyomikh) <https://github.com/tyomikh>`__
- `wuuker (@ukewea) <https://github.com/ukewea>`__
- `ukewea (@ukewea) <https://github.com/ukewea>`__
- `Vc (@Valcob) <https://github.com/Valcob>`__
- `Nad (@valordk) <https://github.com/valordk>`__
- `Víctor Ferrer García (@vicfergar) <https://github.com/vicfergar>`__
@ -716,8 +726,6 @@ Contributors
- `Rick van Hattem (@WoLpH) <https://github.com/WoLpH>`__
- `workingmanrob (@workingmanrob) <https://github.com/workingmanrob>`__
- `Wojtek Strzalka (@wstrzalka) <https://github.com/wstrzalka>`__
- `wutr (@wutr) <https://github.com/wutr>`__
- `xheronimo (@xheronimo) <https://github.com/xheronimo>`__
- `Mike (@xsnoopy) <https://github.com/xsnoopy>`__
- `Yaroslav (@Yarikx) <https://github.com/Yarikx>`__
- `Marcin Jaworski (@yawor) <https://github.com/yawor>`__
@ -730,7 +738,8 @@ Contributors
- `zaluthar (@zaluthar) <https://github.com/zaluthar>`__
- `ZJY (@zhangjingye03) <https://github.com/zhangjingye03>`__
- `San (@zhujunsan) <https://github.com/zhujunsan>`__
- `Zoltant7 (@Zoltant7) <https://github.com/Zoltant7>`__
- `ZTX18 (@ZTX18) <https://github.com/ZTX18>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated October 7, 2021.*
*This page was last updated October 21, 2021.*

View File

@ -298,6 +298,7 @@ Light
AM43, components/sensor/am43, am43.jpg, Lux
APDS9960, components/sensor/apds9960, apds9960.jpg, Colour & Gesture
BH1750, components/sensor/bh1750, bh1750.jpg, Lux
LTR390, components/sensor/ltr390, ltr390.jpg, Lux & UV
TCS34725, components/sensor/tcs34725, tcs34725.jpg, Lux & RGB colour
TSL2561, components/sensor/tsl2561, tsl2561.jpg, Lux
TSL2591, components/sensor/tsl2591, tsl2591.jpg, Lux